Die öffentliche API ist bewusst begrenzt: Cursor-Seiten bleiben schnell, Schreibzugriffe sind wiederholsicher und jede Antwort nennt Version und Kreditkosten.
Sende JSON per HTTPS an api.ceyu.org. Zeitangaben sind Unix-Sekunden, fehlende Felder wurden nicht ausgewählt und null bedeutet ausgewählt, aber leer. Antworten sind privat und werden nie über einen gemeinsamen Zwischenspeicher ausgeliefert.
Listen liefern höchstens 100 Objekte und verwenden weder OFFSET noch eine implizite Gesamtzahl. Übergib next_cursor als starting_after. Mit ending_before bewegst du dich in die Gegenrichtung.
GET /v1/tasks?workspace=ws_…&limit=50&starting_after=task_…
Wiederhole einen Filterwert für ODER und kombiniere verschiedene Parameter mit UND. Aufgabenlisten unterstützen project, status, assignee, due_before und is_archived. fields verkleinert jedes Objekt und markiert die Liste mit fields_selected.
GET /v1/tasks?status=todo&status=in_progress&fields=id,title,due_at
Jeder POST-, PATCH- und DELETE-Aufruf benötigt einen Idempotency-Key. Derselbe Schlüssel mit derselben Eingabe liefert 24 Stunden lang Status, Header und Inhalt der ursprünglichen Antwort; andere Eingaben ergeben einen Konflikt.
GET-Antworten tragen ein ETag. Sende es in If-None-Match, um bei unveränderten Daten eine 304-Antwort ohne Inhalt zu erhalten.
Jede Antwort nennt die Operationskosten und das aktuelle Ratenfenster. Beachte bei 429 oder einem vorübergehenden 503 den Header Retry-After und nutze begrenztes exponentielles Backoff mit Zufallsanteil. Validierungs- und Berechtigungsfehler werden nicht wiederholt.