Die eine Regel
Jedes Werkzeug ist eine Adresse: /api/v1/<name>.
- Lesende Werkzeuge:
GET, Parameter im Query-String. - Schreibende Werkzeuge:
POST, Parameter als JSON-Rumpf.
Lesende nehmen zusätzlich POST mit JSON an — eine lange SQL-Abfrage ist in einer Adresse unhandlich. Schreibende gibt es nicht per GET: ein Link darf keine Daten ändern.
Ein Beispiel
curl "https://silentcrm.de/api/v1/query?sql=select+name,+umsatz+from+customers+order+by+umsatz+desc+limit+5" \
-H "Authorization: Bearer scrm_api_…"
Antwort:
{ "ok": true, "result": "name | umsatz\nBeispiel GmbH | 42000\n…" }
Und schreibend:
curl -X POST "https://silentcrm.de/api/v1/write_records" \
-H "Authorization: Bearer scrm_api_…" \
-H "Content-Type: application/json" \
-d '{"table":"customers","rows":[{"name":"Neue GmbH","stadt":"Sinsheim"}]}'
Erst das Schema, dann die Abfrage
Tabellen- und Spaltennamen sind je Arbeitsbereich verschieden — sie entstehen so, wie du mit dem Assistenten sprichst. Dein Werkzeug sollte deshalb nie Namen raten, sondern einmal schema aufrufen:
curl "https://silentcrm.de/api/v1/schema" -H "Authorization: Bearer scrm_api_…"
Welche Werkzeuge es gibt
Die vollständige Liste mit allen Parametern steht in der OpenAPI-Datei (/api/v1/openapi.json) und im Produkt unter Einstellungen → API, dort mit fertigen curl-Beispielen. Sie wird erzeugt, nicht gepflegt — was der Assistent kann, kannst du hier auch.
Grob: Daten lesen (schema, query), Daten ändern (write_records), Dokumente (read_document, create_document, revise_document, merge_documents, upload_file), Posteingang (mark_emails_read, trash_emails, annotate_thread) sowie history und undo.
Fehler
| Code | Bedeutung |
|---|---|
| 400 | Der Aufruf wurde abgelehnt — warum, steht in error. |
| 401 | Kein oder ungültiger Schlüssel. |
| 403 | Der Schlüssel darf das nicht (nur Leserecht bei einem schreibenden Werkzeug). |
| 404 | Unbekanntes Werkzeug. |
| 405 | GET auf ein schreibendes Werkzeug. |
| 429 | Zu viele Aufrufe. |
Der Text in error ist für Menschen geschrieben. Zeig ihn an, statt ihn wegzuwerfen — er sagt meistens genau, was fehlt.
Rückwärts geht auch
Alles, was über die API geändert wurde, steht im Verlauf und lässt sich mit undo zurücknehmen — auch das über die API selbst.