# Bodo Developers > Doku der öffentlichen Bodo-API: Guides, Referenz, SDKs und Changelog. Jede Seite gibt es als Markdown unter `index.md`. ## Start - [Bodo API](https://developers.bodo-app.com/index.md): REST nach OpenAPI 3.1 für Kontakte, Firmen, Aufgaben und Dokumente, dazu Webhooks, OAuth für Apps und SDKs für TypeScript und Python. Jeder Aufruf handelt als genau ein Prinzipal, also als Person oder Dienstkonto, und darf nie mehr als dieser Prinzipal. - [Quickstart](https://developers.bodo-app.com/quickstart/index.md): Vom Sandbox-Schlüssel zum ersten Kontakt in vier Schritten: Schlüssel anlegen, wer bin ich, Kontakt anlegen, in Bodo nachsehen. ## Guides - [Schlüssel & Prinzipale](https://developers.bodo-app.com/guides/keys/index.md): Ein Aufruf handelt immer als genau ein Prinzipal: eine Person oder ein Dienstkonto. Der Schlüssel darf nie mehr als dieser Prinzipal. - [Rechte & Scopes](https://developers.bodo-app.com/guides/scopes/index.md): Was ein Aufruf darf, ist die Schnittmenge aus den Rollen des Prinzipals, dem Scope des Schlüssels und dem Deckel der Organisation. Sie wird bei jedem Aufruf frisch berechnet. - [Fehler](https://developers.bodo-app.com/guides/errors/index.md): Jede Fehlerantwort ist application/problem+json nach RFC 9457. Der code ist der Vertrag, type zeigt auf seine Seite in diesem Portal. - [Pagination & Sync](https://developers.bodo-app.com/guides/pagination/index.md): Listen blättern über einen opaken Cursor. Abgleichen geht über updatedSince und includeDeleted, auch neben Webhooks. - [Rate Limits](https://developers.bodo-app.com/guides/rate-limits/index.md): Welche Grenze dich trifft, was jede Operation kostet und wie dein Client nach einer 429 wartet. Deinen eigenen Stand liefert GET /v1/rate_limit. - [Idempotenz & Revision](https://developers.bodo-app.com/guides/idempotency/index.md): Warum ein Wiederholen nach einem Netzfehler sicher ist und wie gleichzeitige Änderungen sich nicht gegenseitig überschreiben. - [Versionierung & Preview](https://developers.bodo-app.com/guides/versioning/index.md): Wie die Bodo API versioniert: /v1 im Pfad, eine Datumsversion im Header, ein Preview-Kanal je Request. Was als Bruch gilt, wie lange eine abgelöste Version läuft und wie eine Abkündigung aussieht. - [Dateien](https://developers.bodo-app.com/guides/files/index.md): Dokumente lädst du in drei Schritten hoch. Bodo prüft Typ, Größe, Prüfsumme und Dateisignatur, bevor ein Dokument sichtbar wird. - [Herkunft](https://developers.bodo-app.com/guides/provenance/index.md): Jede Änderung über die API steht in der Chronik des Datensatzes, mit dem Handelnden und der Stecker-Marke „API“. So sieht jeder in Bodo, was eine Integration getan hat. - [Testmodus & Sandbox](https://developers.bodo-app.com/guides/sandbox/index.md): Jede Organisation hat eine Sandbox mit eigenen Daten. Dort probierst du mit test-Schlüsseln alles aus, ohne an echte Datensätze zu kommen. - [Webhooks](https://developers.bodo-app.com/guides/webhooks/index.md): Bodo meldet Änderungen aktiv an deinen Endpunkt. Ein Ereignis ist dünn: Typ, ID und Zeit. Die Details holst du per API mit deinen eigenen Rechten. - [OAuth für Apps](https://developers.bodo-app.com/guides/oauth/index.md): Apps anderer Anbieter verbinden sich über OAuth 2.1 mit Bodo: Authorization Code mit PKCE, kurze Access-Tokens, rotierende Refresh-Tokens und Resource Indicators. - [Sprache](https://developers.bodo-app.com/guides/language/index.md): Jede Seite dieses Portals gibt es auf Deutsch und Englisch. Die Fehlertexte der API folgen deinem Accept-Language-Header, Vorgabe ist Deutsch. ## Referenz - [API-Referenz](https://developers.bodo-app.com/reference/index.md): Jede Operation mit Scope, Kosten, Headern, Body und Fehlern, gebaut aus der eingefrorenen Spec. Beispiele in curl, TypeScript-SDK und Python-SDK. - [SDKs](https://developers.bodo-app.com/sdks/index.md): Die offiziellen SDKs für TypeScript und Python: aus der eingefrorenen Spec generiert, mit Idempotenz, Backoff, Blättern und Webhook-Prüfung. Während der Preview als Download mit Prüfsumme. - [Changelog](https://developers.bodo-app.com/changelog/index.md): Jede Änderung der Bodo API mit Datum, Art und Ressource: Brüche nur mit neuer Version, additive Änderungen sofort, Preview-Änderungen gebündelt. Als RSS-Feed abonnierbar. - [Downloads & Agenten](https://developers.bodo-app.com/downloads/index.md): Die eingefrorene Spec je Version, die SDK-Archive und alles für Agenten: llms.txt und jede Seite als Markdown, auf Deutsch und unter /en/ auf Englisch. ## Rechtliches - [Nutzungsbedingungen](https://developers.bodo-app.com/terms/index.md): Was über die API erlaubt ist, wie der Auftragsverarbeitungsvertrag greift und wann Bodo einen Schlüssel sperrt. Der Zustimmungsdialog für „API an“ in Bodo verweist hierher. ## Optional - [Try it](https://developers.bodo-app.com/reference/try-it/index.md) - [Version 2026-11-01](https://developers.bodo-app.com/changelog/2026-11-01/index.md) - [Version 2027-05-01 (Beispiel)](https://developers.bodo-app.com/changelog/2027-05-01/index.md) - [Migration auf 2027-05-01](https://developers.bodo-app.com/guides/migrate-2027-05-01/index.md) - [Problem-Typen](https://developers.bodo-app.com/problems/index.md) - [Ungültige Anfrage](https://developers.bodo-app.com/problems/INVALID_REQUEST/index.md) - [Batch zu groß](https://developers.bodo-app.com/problems/BATCH_TOO_LARGE/index.md) - [Cursor passt nicht zur Anfrage](https://developers.bodo-app.com/problems/CURSOR_MISMATCH/index.md) - [Unbekannter Parameter](https://developers.bodo-app.com/problems/UNKNOWN_PARAMETER/index.md) - [Nicht authentifiziert](https://developers.bodo-app.com/problems/UNAUTHENTICATED/index.md) - [Keine Berechtigung](https://developers.bodo-app.com/problems/FORBIDDEN/index.md) - [Risikofamilie gesperrt](https://developers.bodo-app.com/problems/RISK_FAMILY_BLOCKED/index.md) - [Organisation passt nicht](https://developers.bodo-app.com/problems/ORGANIZATION_MISMATCH/index.md) - [Öffentliche API nicht freigeschaltet](https://developers.bodo-app.com/problems/API_MODULE_DISABLED/index.md) - [Nicht gefunden](https://developers.bodo-app.com/problems/NOT_FOUND/index.md) - [Operation in dieser Version nicht verfügbar](https://developers.bodo-app.com/problems/OPERATION_NOT_IN_VERSION/index.md) - [Anfrage mit diesem Idempotency-Key läuft noch](https://developers.bodo-app.com/problems/IDEMPOTENCY_IN_PROGRESS/index.md) - [Upload nicht abgeschlossen](https://developers.bodo-app.com/problems/UPLOAD_INCOMPLETE/index.md) - [Zu viele Webhook-Endpunkte](https://developers.bodo-app.com/problems/WEBHOOK_ENDPOINT_LIMIT_REACHED/index.md) - [API-Version abgeschaltet](https://developers.bodo-app.com/problems/VERSION_SUNSET/index.md) - [Vorbedingung nicht erfüllt](https://developers.bodo-app.com/problems/PRECONDITION_FAILED/index.md) - [Validierung fehlgeschlagen](https://developers.bodo-app.com/problems/VALIDATION_FAILED/index.md) - [Idempotency-Key mit anderem Inhalt](https://developers.bodo-app.com/problems/IDEMPOTENCY_PAYLOAD_MISMATCH/index.md) - [Prüfsumme des Uploads stimmt nicht](https://developers.bodo-app.com/problems/UPLOAD_CHECKSUM_MISMATCH/index.md) - [Datei abgewiesen](https://developers.bodo-app.com/problems/UPLOAD_REJECTED/index.md) - [Familie im Batch nicht erlaubt](https://developers.bodo-app.com/problems/BATCH_FAMILY_NOT_ALLOWED/index.md) - [Webhook-URL ungültig](https://developers.bodo-app.com/problems/WEBHOOK_URL_INVALID/index.md) - [Vorbedingung erforderlich](https://developers.bodo-app.com/problems/PRECONDITION_REQUIRED/index.md) - [Zu viele Anfragen](https://developers.bodo-app.com/problems/RATE_LIMITED/index.md) - [Instanz ausgelastet](https://developers.bodo-app.com/problems/OVERLOADED/index.md) - [Kontingent erschöpft](https://developers.bodo-app.com/problems/QUOTA_EXHAUSTED/index.md) - [Interner Fehler](https://developers.bodo-app.com/problems/INTERNAL/index.md) - [Fehler im nachgelagerten Dienst](https://developers.bodo-app.com/problems/UPSTREAM/index.md) - [API pausiert](https://developers.bodo-app.com/problems/API_PAUSED/index.md) - [Instanz wird aktualisiert](https://developers.bodo-app.com/problems/INSTANCE_PENDING/index.md)