Fehler & Limits
Jeder Fehlercode, den die Partner API zurückgibt, und jedes Limit, das sie erzwingt.
Jeder Fehler hat dieselbe Struktur. Verzweige nach error.error_code; protokolliere Beschreibung für Menschen; niemals auf seinen Text abgleichen. error.error_attributes enthält die Details, die ein Code definiert, und ist null für alles Weitere.
{
"description": "story_document: Der Link liefert \"text/html\", das diese Eingabe nicht akzeptiert. Verweise auf die Datei selbst.",
"code": "url_type_not_allowed",
"error": {
"id": null,
"error_code": "url_type_not_allowed",
"error_attributes": null,
"user_readable_message": null,
"locale": "en"
}
}Code wiederholt sich error.error_code für ältere Clients; lies error.error_code.
Fehlercodes
| HTTP | error_code | Bedeutet | Was zu tun ist |
|---|---|---|---|
| 400 | invalid_request | ein Body oder Eingabewert ist falsch; die Beschreibung nennt die Eingabe | behebe ihn und sende erneut. Niemals unverändert erneut versuchen |
| 400 | url_not_fetchable | ein Link konnte nicht abgerufen werden, verstieß gegen eine der Link-Regeln oder lieferte eine leere Datei | gleiche es ab mit Dateien per URL übergeben |
| 400 | url_type_not_allowed | der Link lieferte einen Content-Type, den diese Eingabe nicht akzeptiert, oder Bytes, die nicht dem von ihm behaupteten Typ entsprechen | liefere die Datei selbst aus, mit ihrem echten Typ |
| 400 | url_too_large | die Datei überschreitet die max_bytes, oder überschreitet das, was dem Run noch von seinem Byte-Budget bleibt | sende eine kleinere Datei |
| 401 | unauthorized | der Schlüssel fehlt, ist fehlerhaft, widerrufen oder abgelaufen | stoppe und informiere jemanden. Ein erneuter Versuch hilft nicht |
| 403 | api_key_credit_limit_reached | der Schlüssel hat eines seiner eigenen Credit-Limits erreicht; error_attributes.period gibt an, welches | bitte einen Admin, das Limit des Schlüssels in Studio zu erhöhen, oder warte, bis sich ein tägliches oder monatliches Limit zurücksetzt |
| 403 | credits_exhausted | der Organisation bleiben keine Credits mehr | die Organisation aufladen |
| 403 | access_denied | org_id ist nicht die Organisation des Schlüssels, dem Schlüssel fehlt der Scope, oder er darf diesen Workflow nicht ausführen | prüfe die Scopes des Schlüssels und die Workflow-Allowlist in Studio |
| 404 | entity_not_found | kein solcher Workflow, kein solches Projekt, kein solcher Run oder Webhook-Endpunkt in deiner Organisation — oder ein Run eines Workflows außerhalb der Allowlist des Schlüssels | prüfe die ID |
| 409 | idempotency_conflict | derselbe idempotency_key ist mit einem anderen Body eingetroffen | verwende einen neuen Schlüssel für neue Arbeit |
| 429 | too_many_requests | ein Lese-Limit wurde erreicht | warte Retry-After, dann erneut senden |
| 500 | internal_error | unseres | erneut mit Backoff versuchen; wenn es bestehen bleibt, sende uns den x-morphic-trace-id |
Limits
| Limit | Standard | Hinweise |
|---|---|---|
| Credits | die eigenen Limits des Schlüssels | eine Gesamtsumme, die jeder Schlüssel hat, sowie optionale tägliche und monatliche Obergrenzen — siehe Credit-Limits |
| Lesevorgänge eines Runs | 30 pro Minute, pro Schlüssel | ein Lesevorgang pro Minute und Run reicht völlig aus; wait=45 ist noch günstiger |
| Lesevorgänge aller Runs | 1.200 pro Minute, pro Schlüssel | genug Spielraum, um Hunderte von Runs gleichzeitig zu verfolgen |
| Links pro Run | 10 | über alle Datei-Eingaben zusammen |
| Bytes pro Run | 500 MB | über alle Links zusammen |
| Bytes pro Datei | der Eingabe max_bytes | Dokumente bis zu 100 MB; Medien-Obergrenzen gelten pro Eingabe |
| Run-Laufzeit | 24 Stunden | ein Run, der nicht abgeschlossen ist bis expires_at wird abgelaufen |
| Webhook-Endpunkte | 10 pro Organisation | entferne einen, bevor du einen weiteren hinzufügst |
Das Starten von Runs ist niemals durch Rate-Limits begrenzt: Die Credit-Limits eines Schlüssels begrenzen, was eine Wiederholungsschleife ausgeben kann, und ein idempotency_key macht aus einem erneuten Versuch eine Wiedergabe. Die Lese-Limits werden auf Anfrage für ein von uns besprochenes Volumen erhöht.
Abrechnung
Credits für einen über die API gestarteten Run werden der Organisation in Rechnung gestellt, der der Schlüssel gehört, und dem Schlüssel angerechnet, der ihn gestartet hat. Ein Admin sieht die Ausgaben unter Abrechnung & Nutzung → Credit-Aktivität in Studio, und die Limits jedes Schlüssels auf der API-Schlüssel Seite.
Ein Run wird weiter dem Schlüssel angerechnet, der ihn gestartet hat, selbst wenn jemand im Chat in Studio übernimmt; das verbleibende Budget des Schlüssels ist also das Budget für den gesamten Run.
Ein Run, der vor dem Start abgelehnt wird — ein fehlerhafter Link oder ein Schlüssel bzw. eine Organisation ohne Credits — kostet nichts. Ein Run, der mitten drin fehlschlägt, hat die Kosten seiner abgeschlossenen Schritte verbraucht; credits_used im Run gibt an, wie viel.