Fehler
Jeder Fehlercode der Direct API, was er bedeutet und ob Sie es erneut versuchen sollten, einschließlich des Vorgehens, wenn ein kostenpflichtiger Aufruf mit einem 5xx fehlschlägt.
Jeder Fehler hat denselben Body. Verzweigen Sie anhand des HTTP-Status und von code; zeigen Sie Menschen description oder error.message an.
{
"description": "Human-readable explanation, safe to log.",
"code": "machine_readable_code",
"data": { "request_id": "…", "…": "…" },
"error": { "error_code": "…", "message": "…" }
}Jede Antwort, ob Erfolg oder Fehler, enthält X-Request-Id. Geben Sie diesen Wert an, wenn Sie sich an den Support wenden.
Fehlercodes
| HTTP | code | Bedeutung | Erneut versuchen |
|---|---|---|---|
| 400 | invalid_request | fehlerhaftes JSON, ein unbekanntes Feld im Body, oder input entspricht nicht dem Schema des Tools (jedes fehlerhafte Feld wird genannt) | nein, korrigieren Sie die Anfrage |
| 401 | invalid_api_key | fehlender, fehlerhafter, widerrufener oder abgelaufener Schlüssel | nein |
| 402 | insufficient_credits | die Organisation kann den Aufruf nicht bezahlen | nach einer Aufladung |
| 402 | api_key_credit_limit_reached | der Aufruf würde das Tages-, Monats- oder Gesamtlimit des Schlüssels überschreiten (data.period gibt an, welches) | nachdem der Zeitraum zurückgesetzt oder das Limit erhöht wurde |
| 402 | subscription_paused | das Abonnement der Organisation ist pausiert | nachdem es fortgesetzt wurde |
| 402 | payment_required | das Abonnement der Organisation ist überfällig | nachdem die Zahlung abgeschlossen ist |
| 403 | direct_api_disabled | die Direct API ist für diese Organisation nicht freigeschaltet | nein, wenden Sie sich an Morphic |
| 403 | insufficient_scope | dem Schlüssel fehlt die Berechtigung, die dieses Tool benötigt (data.required_scopes) | nein, verwenden Sie einen anderen Schlüssel |
| 403 | plan_upgrade_required | das Modell oder die Funktion ist in Ihrem Tarif nicht enthalten | nein |
| 403 | tool_not_available | das Tool berechnet Credits, und kostenpflichtige Tools sind für Ihre Organisation noch nicht freigeschaltet (data.tool nennt es); Ihre Ansprechperson bei Morphic schaltet sie frei | nein |
| 403 | model_disabled_by_organization | ein Admin der Organisation hat dieses Modell, diese Auflösung oder diese Audiooption deaktiviert und nicht für die API zugelassen | nein, fragen Sie Ihren Admin |
| 404 | not_found | unbekanntes Tool, unbekannte Generierung oder unbekannter Webhook, oder eines außerhalb der Reichweite dieses Schlüssels | nein |
| 409 | idempotency_conflict | Idempotency-Key mit einem anderen Body oder Tool wiederverwendet | nein, verwenden Sie einen neuen Idempotency-Key |
| 409 | idempotency_in_progress | die ursprüngliche Anfrage mit diesem Idempotency-Key läuft noch | ja, nach einer Sekunde |
| 409 | idempotency_outcome_unknown | die ursprüngliche Anfrage mit diesem Idempotency-Key ist fehlgeschlagen oder hat nie geantwortet, nachdem sie möglicherweise ausgeführt wurde, daher ist ihr Ergebnis unbekannt | nein: prüfen Sie ihr Ergebnis und verwenden Sie dann einen neuen Idempotency-Key |
| 413 | payload_too_large | Body größer als 1 MB | nein |
| 422 | tool_refused | die Eingabe ist korrekt aufgebaut, kann aber nicht ausgeführt werden; nichts wurde berechnet | nein, ändern Sie die Eingabe |
| 429 | rate_limited | ein Ratenlimit wurde erreicht | ja, nach Retry-After |
| 500 | internal_error | unser Fehler | bei einem kostenlosen Aufruf ja; bei einem kostenpflichtigen siehe unten |
| 503 | service_unavailable | vorübergehende Überlastung oder Wartung | bei einem kostenlosen Aufruf ja, mit Backoff; bei einem kostenpflichtigen siehe unten |
| 504 | tool_timed_out | das Tool hat nicht innerhalb von 60 s geantwortet; ein Aufruf, der Generierungen startet, hat sie möglicherweise trotzdem gestartet | bei einem kostenlosen Aufruf ja; bei einem kostenpflichtigen siehe unten |
Ein 422 tool_refused nennt das Feld, den Wert und die Werte, die funktioniert hätten; siehe Ablehnungen durch ein Tool. Eine Generierung, die nach ihrem Start fehlschlägt, meldet ihren eigenen error.error_code im Generierungsobjekt, und ihre Belastung wird erstattet.
Kostenpflichtige Aufrufe, die mit 5xx antworten
Ein kostenpflichtiger Aufruf, der mit 500, 503 oder 504 antwortet, hat möglicherweise schon Arbeit gestartet und dafür berechnet, bevor er fehlschlug. Eine Wiederholung mit demselben Idempotency-Key führt ihn nie zweimal aus: Die Wiederholung antwortet mit 409 idempotency_outcome_unknown.
- Prüfen Sie, was der Aufruf getan hat:
list_generationsoderGET /v1/direct/usage, nach Zeitraum gefiltert. - Senden Sie einen neuen
Idempotency-Keynur für Arbeit, die nicht gestartet wurde.
Wenn gar keine Antwort eingetroffen ist (eine abgebrochene Verbindung), wiederholen Sie mit demselben Idempotency-Key. Sie erhalten die gespeicherte Antwort oder 409 idempotency_in_progress, solange der Aufruf noch läuft. Siehe Idempotenz.
Wenn Sie Probleme haben oder Fragen haben, können Sie sich gerne an uns wenden. Wir helfen Ihnen gerne. Schreiben Sie uns an support@morphic.com.