Memstara, malcentrigita kaj libera programinterfaco (REST, WebRTC, ActivityPub). Konstruita por kolektiva emancipiĝo kaj komunaj ciferecaj rimedoj sen monopolo.
// La respondo aperos ĉi tie
Uzu cURL por testi rekte vian lokan aŭ foran instancon :
curl -s https://api.militant.revlibertaire.com/v2 | jq .
Ĉiu peto protektita postulas la kaplinion Authorization kun portanta ĵetono :
curl -H "Authorization: Bearer <VIA_JETONO>" https://api.militant.revlibertaire.com/v2/posts
Pura modulo sen ekstera dependeco, plene tipita per dataclasses kaj kongrua kun Python 3.10+.
from militant import MilitantClient
client = MilitantClient(base_url="https://api.militant.revlibertaire.com")
client.authenticate("uzantnomo", "pasvorto")
posts = client.get_posts(feed="global")
print(posts)
Moderna ESM-kliento uzanta la norman fetch API de retumiloj kaj Node.js/Bun.
import { MilitantClient } from '@militant/sdk';
const client = new MilitantClient({ baseUrl: 'https://api.militant.revlibertaire.com' });
await client.login('uzantnomo', 'pasvorto');
const posts = await client.getPosts({ feed: 'global' });
console.log(posts);
Oficiala Go-kliento, nula ekstera dependeco (pura net/http), forta tipado kaj subteno de context.Context.
client := militant.NewClient("https://api.militant.revlibertaire.com")
token, err := client.Login(ctx, "uzantnomo", "pasvorto", "")
posts, err := client.ListPosts(ctx, "global", 1, 10)
Oficiala Rust-kliento uzanta ureq kaj serde. Sekura memoro, nula nesekura kodo kaj sinkrona facileco.
let mut client = MilitantClient::new("https://api.militant.revlibertaire.com");
let auth = client.login("uzantnomo", "pasvorto", None)?;
let posts = client.list_posts("global", 1, 10)?;