Développeurs
Marquer un livre comme lu est une opération API.
Quand vous marquez une œuvre comme « Lue » dans votre bibliothèque, le site envoie la requête ci-dessous. Votre application peut envoyer la même requête pour obtenir le même résultat et suivre les mêmes vérifications.
Écriture
Une requête d’écriture, ligne par ligne
PUT /v1/works/{id}/reader-status
Authorization: Bearer …
Idempotency-Key: 7f3c2a9e-read
Content-Type: application/json
{
"actingSubject":
"https://rezics.com/id/…",
"expectedVersion": 3,
"status": "read",
"finishedOn": "2026-10-19"
}Le chemin désigne une œuvre
{id}Chaque élément dans REZICS a un identifiant stable commençant par https://rezics.com/id/. Il reste le même quelle que soit la langue ou le site.
Indiquer l’identité
actingSubjectUn compte peut représenter une personne ou une organisation. Chaque écriture indique l’identité utilisée, dont le serveur vérifie les droits avant l’exécution.
Répéter sans risque
Idempotency-KeyChaque écriture utilise une clé d’idempotence. Après un délai dépassé ou une déconnexion, renvoyez la requête avec la même clé pour éviter de dupliquer l’écriture.
Éviter d’écraser les changements
expectedVersionSi vous avez lu la version 3, indiquez la version 3. Si une autre personne a modifié les données entre-temps, votre écriture ne les écrase pas.
Les erreurs détaillent le problème
application/problem+jsonEn cas d’échec, code est une valeur stable. Votre application peut agir en fonction de ce code sans comparer le texte du message.
Répétition
Renvoyez la même requête pour retrouver le même résultat.
Avec la même clé et le même contenu, le serveur renvoie le résultat initial : la version reste 4 et replayed passe à true. Si le contenu change avec la même clé, le serveur renvoie 409 reader_status_conflict. Si la version n’est plus 3, il renvoie 409 stale_reader_status. Relisez les données avant de réessayer.
Première requête
200 { "status": "read", "version": 4, "replayed": false }Répétition
200 { "status": "read", "version": 4, "replayed": true }Version obsolète
409 { "status": 409, "code": "stale_reader_status" }
Types
L’API et ses types viennent de la même définition
Le site REZICS appelle l’API en TypeScript. Les types des requêtes et réponses proviennent directement des déclarations de routes du serveur. Si un champ change de nom ou si un code d’erreur est ajouté, l’application appelante le détecte à la compilation. Le SDK TypeScript est généré à partir de la même définition : vous utilisez les mêmes types que le site.
La documentation OpenAPI 3.1 est générée à partir des mêmes déclarations de routes. Elle indique la validation, le format des requêtes et la réponse pour chaque code d’état.
main().v1
.works({ id: uuid(work) })
['reader-status'].put({
actingSubject,
expectedVersion,
status: 'read',
...dates,
}, headers())generated/openapi/main/public.json
Lecture
Les lectures suivent aussi des règles
nextCursor · snapshotLes longues listes fournissent un curseur pour lire les pages jusqu’au bout. Les exports de bibliothèque incluent un instantané et signalent les changements intervenus pendant l’opération, plutôt que de vous remettre un fichier incohérent.
count.precisionLe nombre total de résultats indique s’il est exact ou s’il s’agit d’un minimum.
title.language · basisLes titres indiquent leur langue et leur orientation d’écriture, ainsi que la raison du choix de cette langue : demandée, même écriture, autre écriture ou langue de secours.
404 resource_unavailableUne ressource que vous n’êtes pas autorisé à consulter renvoie la même réponse qu’une ressource inexistante, sans révéler qu’elle existe.
Développeurs
Autres pages
- Serveur MCPLes agents IA se connectent à /mcp et voient les outils permis par leurs droits
- Applications connectéesAutorisations OAuth révocables à tout moment
- Boîte à outils WikiExtraction locale, seules les propositions sont envoyées
- Thèmes ZoneCréez une mise en page propre au site de votre communauté
- Code source ouvertPlateforme sous AGPL-3.0, paquets indépendants sous Apache-2.0
Créez vos propres outils avec la même API.
Permettez à vos applications de lire et modifier les œuvres, les bibliothèques et les données des communautés. Chaque opération suit les règles d’identité et d’autorisation de REZICS.