PreviewDie SDKs gibt es während der Preview nur hier als Download. Auf npm und PyPI erscheinen sie mit dem Aufstieg der API zu stabil; der Download bleibt dann als zweiter Weg.
TypeScript@bodo/api 1.0.0
Node 20 und neuer, Bun, Deno, Edge-Runtimes. Ohne Laufzeit-Abhängigkeiten, es braucht nur
fetch und WebCrypto.bodo-api-1.0.0.tgz herunterladen·SHA-256 b391…6927
npm install ./bodo-api-1.0.0.tgz// Portal D11 · SDKs — the TypeScript card: pages without hand-written cursor code, one task done.
// Run: BODO_API_KEY=bodo_uk_test_… bun examples/sdk-overview.ts
import { Bodo } from "@bodo/api";
const bodo = new Bodo({ apiKey: process.env.BODO_API_KEY, preview: true });
// walks nextCursor by itself
for await (const contact of bodo.contacts.list({ updatedSince: "2026-11-03T09:00:00Z" })) {
if ("deleted" in contact) continue;
console.log(contact.lastName);
}
const task = await bodo.tasks.create({ title: "Angebot nachfassen" });
const done = await bodo.tasks.complete(task.id);
console.log(done.id, done.status);Pythonbodo-api 1.0.0
Python 3.11 und neuer, synchron über
httpx. Typisiert, mit generierten attrs-Modellen.bodo_api-1.0.0-py3-none-any.whl herunterladen·SHA-256 0767…8539
pip install ./bodo_api-1.0.0-py3-none-any.whl# Pages without hand-written cursor code, one task done.
# Run: BODO_API_KEY=bodo_uk_test_… python examples/sdk_overview.py
import os
from bodo_api import Bodo
bodo = Bodo(api_key=os.environ["BODO_API_KEY"], preview=True)
# walks next_cursor by itself
for contact in bodo.contacts.list(updated_since="2026-11-03T09:00:00Z"):
print(contact.id)
task = bodo.tasks.create(title="Angebot nachfassen")
done = bodo.tasks.complete(task.id)
print(done.id, done.status)Was das SDK für dich erledigt
Idempotency-Keybei jedem POST und DELETE, gleichbleibend über Wiederholungen
Backoffnach 429 und 503 mit
Retry-After, höchstens 3 VersucheBlätternüber
nextCursor, als Schleife statt Hand-CodeWebhooks und FehlerSignaturprüfung, Fehlerklasse mit
code und requestId, Warnung bei DeprecationVersionierung des SDK
Semantische Versionen. Jede SDK-Version gehört zu genau einer API-Version und sendet sie im Header
Bodo-Version.| SDK-Version | API-Version | Unterstützt bis |
|---|---|---|
| 1.x | 2026-11-01 | Sunset dieser API-Version, 12 Monate nach der Nachfolgerin |
| 2.x (Beispiel) | 2027-05-01 | Sunset ihrer API-Version |
Major: neue API-Version mit Bruch. Minor: neue Operationen, Felder oder Ereignisse. Patch: Fehlerkorrekturen. Preview-Operationen stehen hinter
preview: true und dürfen sich auch im Minor ändern.Wie ein SDK entsteht
openapi.2026-11-01.jsonaus dem Repo- offene Generatoren:
openapi-typescriptmitopenapi-fetchundopenapi-python-client - Beispiele laufen als Tests gegen die Sandbox
- CI legt die Archive hier ins Portal; ab stabil auch auf npm und PyPI, mit Herkunftsnachweis (Trusted Publishing)
Kein Dienst eines Dritten im Bauweg. Handgeschrieben sind nur die dünnen Hüllen für Retry, Blättern und Webhooks.