Aller au contenu principal

Clés, portées et limites

Readsira propose deux surfaces programmatiques qui partagent un même système de clés :

  • API REST v2 sur https://api.readsira.com/rest/v2 pour les scripts, les tâches de synchronisation et vos propres applications (Pro et Research).
  • Serveur MCP sur https://api.readsira.com/mcp pour des assistants comme Claude Code et Cursor (toutes les offres, outils de lecture en Free). Voir Connecter un client MCP.

Créer une clé​

Ouvrez Paramètres, API et MCP dans l'application et choisissez Créer une clé (REST) ou Créer une clé MCP. Choisissez les portées que la clé peut utiliser. La clé n'est affichée qu'une seule fois ; Readsira n'en stocke qu'un hachage et la liste ensuite sous la forme pk_1a2b...9z8y.

Envoyez la clé sous forme de jeton porteur (bearer) :

curl https://api.readsira.com/rest/v2/usage \
-H "Authorization: Bearer $READSIRA_KEY"

X-API-Key: pk_... fonctionne aussi. Une clé dans l'URL (?api_key=pk_...) est refusée avec 401 API_KEY_IN_QUERY : les URL se retrouvent dans les journaux et l'historique du navigateur.

Régénérer donne un nouveau secret à la clé et conserve son identifiant, ses portées et son historique : l'ancien secret cesse de fonctionner immédiatement. Révoquer supprime la clé ; son historique d'activité reste dans les paramètres.

Portées​

Une clé ne peut faire que ce que ses portées autorisent. Les portées d'écriture sont désactivées par défaut.

PortéeAutoriseOffres
mcpUtiliser la clé avec le serveur MCP (définie par « Créer une clé MCP »)toutes
read:libraryRecherche, documents, passages, transcriptionstoutes
ask:libraryPOST /rest/v2/ask (exécute le modèle de Readsira, utilise le budget d'IA)Pro, Research
read:projectsMCP list_projects, get_project_context ; GET /rest/v2/projects, GET /rest/v2/projects/:id/contexttoutes (REST : Pro, Research)
write:projectsPOST /rest/v2/projects/:id/items, POST /rest/v2/projects/:id/notes ; MCP add_bookmark / create_note avec projectIdPro, Research
write:uploadsPOST /rest/v2/uploads (audio, vidéo, PDF)Pro, Research
read:bookmarksRoutes v1 des marque-pages (lecture)Pro, Research
write:bookmarksÉcritures v1 des marque-pages ; MCP add_bookmarkPro, Research
write:notesMCP create_notePro, Research
read:collections, write:collections, read:feeds, write:feeds, read:entries, read:userRoutes v1Pro, Research

Créer une clé avec une portée que votre offre n'inclut pas répond 400 SCOPE_NOT_ALLOWED. Si vous passez à une offre inférieure, les portées au-delà de la nouvelle offre sont ignorées jusqu'à ce que vous repassiez à une offre supérieure : rien n'est supprimé.

Limites​

PlanREST keysMCP keysREST requests per dayMCP tool calls per dayRequests per hour per key
Free01010060
Pro51010,00010,000600
Research101050,00025,0001,200

Toutes les limites de chaque offre, y compris celles qui sont extérieures à l'API, se trouvent dans Limites des offres.

  • Le réglage horaire propre à une clé est plafonné au maximum par clé de l'offre.
  • Les jours sont en UTC. MCP initialize et tools/list ne comptent pas ; get_document compte un appel par tranche de 12 000 caractères demandés, les outils d'écriture comptent deux.
  • Au-delà d'une limite, vous recevez 429 avec Retry-After (secondes) et X-RateLimit-Limit / X-RateLimit-Remaining. Les appels d'outils MCP au-delà de la limite quotidienne renvoient une erreur d'outil RATE_LIMITED avec retryAfterSeconds.

GET /rest/v2/usage renvoie les compteurs du jour et vos limites.

Réponses et erreurs​

La liste complète, avec la forme de l'erreur, les en-têtes et les conseils pour réessayer, se trouve dans Limites de débit et erreurs.

Les réponses REST utilisent une seule enveloppe :

{
"success": true,
"data": { "...": "payload" },
"meta": {
"timestamp": "...",
"path": "...",
"method": "GET",
"statusCode": 200
}
}

Les erreurs portent un error.code stable :

StatutCodeSignification
401API_KEY_INVALIDClé absente, inconnue, révoquée ou expirée (WWW-Authenticate: Bearer)
401API_KEY_IN_QUERYLa clé a été envoyée dans l'URL ; envoyez-la dans l'en-tête Authorization
402PLAN_REQUIREDVotre offre n'a pas d'API REST (Free). Les clés MCP fonctionnent toujours avec /mcp.
402PLAN_LIMIT_REACHEDUne limite de quantité (clés, réponses d'Ask ce mois-ci)
402AI_QUOTA_EXCEEDEDLe budget d'IA de ce mois est épuisé (/ask)
403SCOPE_REQUIREDLa clé n'a pas la portée de la route (error.details.scopes)
404-Introuvable, ou pas à vous (l'API ne dit jamais lequel)
429RATE_LIMITEDLimite horaire ou quotidienne ; voir Retry-After
503AI_PAUSEDL'IA est en pause pour la journée (/ask uniquement ; la recherche continue)

Confidentialité​

Chaque appel est consigné pour votre vue d'activité dans les paramètres (heure, clé, route ou outil, statut, client, nombre de résultats). Readsira n'y consigne jamais votre texte de recherche, vos notes ni le contenu de vos documents. L'activité est conservée 90 jours.