Zum Hauptinhalt springen

Schlüssel, Scopes und Limits

Readsira hat zwei programmatische Schnittstellen, die ein gemeinsames Schlüsselsystem nutzen:

  • REST API v2 unter https://api.readsira.com/rest/v2 für Skripte, Sync-Jobs und deine eigenen Apps (Pro und Research).
  • MCP-Server unter https://api.readsira.com/mcp für Assistenten wie Claude Code und Cursor (jeder Tarif, Lese-Tools in Free). Siehe Einen MCP-Client verbinden.

Einen Schlüssel erstellen​

Öffne in der App Einstellungen, API und MCP und wähle Schlüssel erstellen (REST) oder MCP-Schlüssel erstellen. Wähle die Scopes, die der Schlüssel nutzen darf. Der Schlüssel wird einmal angezeigt; Readsira speichert nur einen Hash davon und listet ihn danach als pk_1a2b...9z8y auf.

Sende den Schlüssel als Bearer-Token:

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

X-API-Key: pk_... funktioniert ebenfalls. Ein Schlüssel in der URL (?api_key=pk_...) wird mit 401 API_KEY_IN_QUERY abgelehnt: URLs landen in Logs und im Browserverlauf.

Neu erzeugen gibt dem Schlüssel ein neues Geheimnis und behält seine ID, Scopes und seinen Verlauf: Das alte Geheimnis funktioniert sofort nicht mehr. Widerrufen löscht den Schlüssel; sein Aktivitätsverlauf bleibt in den Einstellungen erhalten.

Scopes​

Ein Schlüssel kann nur tun, was seine Scopes erlauben. Schreib-Scopes sind standardmäßig aus.

ScopeErlaubtTarife
mcpDen Schlüssel mit dem MCP-Server nutzen (gesetzt durch „MCP-Schlüssel erstellen“)alle
read:librarySuche, Dokumente, Chunks, Transkriptealle
ask:libraryPOST /rest/v2/ask (führt Readsiras Modell aus, verbraucht KI-Budget)Pro, Research
read:projectsMCP list_projects, get_project_context; GET /rest/v2/projects, GET /rest/v2/projects/:id/contextalle (REST: Pro, Research)
write:projectsPOST /rest/v2/projects/:id/items, POST /rest/v2/projects/:id/notes; MCP add_bookmark / create_note mit projectIdPro, Research
write:uploadsPOST /rest/v2/uploads (Audio, Video, PDF)Pro, Research
read:bookmarksv1-Lesezeichen-Routen (lesen)Pro, Research
write:bookmarksv1-Lesezeichen-Schreibzugriffe; MCP add_bookmarkPro, Research
write:notesMCP create_notePro, Research
read:collections, write:collections, read:feeds, write:feeds, read:entries, read:userv1-RoutenPro, Research

Wenn du einen Schlüssel mit einem Scope erstellst, den dein Tarif nicht enthält, antwortet die API mit 400 SCOPE_NOT_ALLOWED. Wenn du herunterstufst, werden Scopes über den neuen Tarif hinaus ignoriert, bis du wieder hochstufst: Es wird nichts gelöscht.

Limits​

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

Jedes Limit jedes Tarifs, auch die außerhalb der API, steht unter Tariflimits.

  • Die stündliche Einstellung eines Schlüssels ist auf das Maximum pro Schlüssel des Tarifs begrenzt.
  • Tage sind UTC. MCP initialize und tools/list zählen nicht; get_document zählt einen Aufruf pro 12.000 angeforderte Zeichen, Schreib-Tools zählen zwei.
  • Über einem Limit bekommst du 429 mit Retry-After (Sekunden) und X-RateLimit-Limit / X-RateLimit-Remaining. MCP-Tool-Aufrufe über dem Tageslimit liefern einen Tool-Fehler RATE_LIMITED mit retryAfterSeconds.

GET /rest/v2/usage liefert die heutigen Zähler und deine Limits.

Antworten und Fehler​

Die vollständige Liste mit Fehlerform, Headern und Hinweisen zum Wiederholen steht unter Ratenlimits und Fehler.

REST-Antworten verwenden einen einheitlichen Umschlag:

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

Fehler tragen einen stabilen error.code:

StatusCodeBedeutung
401API_KEY_INVALIDFehlender, unbekannter, widerrufener oder abgelaufener Schlüssel (WWW-Authenticate: Bearer)
401API_KEY_IN_QUERYDer Schlüssel wurde in der URL gesendet; sende ihn im Authorization-Header
402PLAN_REQUIREDDein Tarif hat keine REST-API (Free). MCP-Schlüssel funktionieren weiterhin unter /mcp.
402PLAN_LIMIT_REACHEDEin Mengenlimit (Schlüssel, Ask-Antworten in diesem Monat)
402AI_QUOTA_EXCEEDEDDas KI-Budget dieses Monats ist aufgebraucht (/ask)
403SCOPE_REQUIREDDem Schlüssel fehlt der Scope der Route (error.details.scopes)
404-Nicht gefunden oder nicht deins (die API sagt nie, was von beidem)
429RATE_LIMITEDStunden- oder Tageslimit; siehe Retry-After
503AI_PAUSEDKI ist für den Tag pausiert (nur /ask; die Suche funktioniert weiter)

Datenschutz​

Jeder Aufruf wird für deine Aktivitätsansicht in den Einstellungen protokolliert (Zeit, Schlüssel, Route oder Tool, Status, Client, Anzahl der Ergebnisse). Readsira protokolliert dort nie deinen Suchtext, deine Notizen oder Dokumentinhalte. Die Aktivität wird 90 Tage aufbewahrt.