SciFig

API-Referenz

Fehler

Fehlerstruktur, alle Fehlercodes und Hinweise zum Wiederholen von Anfragen.

Als Markdown anzeigen

Fehlerstruktur#

{
  "error": {
    "code": "INSUFFICIENT_CREDITS",
    "message": "Not enough credits.",
    "request_id": "a698a9af-0685-4557-9b29-ca57637748f9",
    "details": { "top_up_url": "https://scifig.ai/pricing?utm_source=api" }
  }
}

Verzweigen Sie anhand von error.code und details.reason, niemals anhand von message, da sich dieser Text ändern kann. Antworten enthalten keine internen Diagnosedaten.

Codes#

CodeHTTPBedeutungErneut versuchen
UNAUTHORIZED401Zugangsdaten fehlen oder sind ungültig.Nein; Anfrage ändern oder einen neuen Schlüssel verwenden
ACCOUNT_UNAVAILABLE401Dieses Konto kann die API nicht verwenden.Nein; Anfrage ändern oder einen neuen Schlüssel verwenden
SCOPE_DENIED403Die Zugangsdaten gewähren diese Berechtigung nicht.Nein; Anfrage ändern oder einen neuen Schlüssel verwenden
INVALID_REQUEST400Die Anfrage ist ungültig.Nein; Anfrage ändern oder einen neuen Schlüssel verwenden
IDEMPOTENCY_KEY_REQUIRED400Ein Idempotency-Key-Header mit 1–255 sichtbaren ASCII-Zeichen ist erforderlich.Nein; Anfrage ändern oder einen neuen Schlüssel verwenden
IDEMPOTENCY_CONFLICT409Dieser Idempotency-Key wurde bereits für eine andere Anfrage verwendet.Nein; Anfrage ändern oder einen neuen Schlüssel verwenden
IDEMPOTENCY_IN_PROGRESS409Eine Anfrage mit diesem Idempotency-Key wird noch verarbeitet.Ja, mit demselben Idempotency-Key
NOT_FOUND404Nicht gefunden.Nein; Anfrage ändern oder einen neuen Schlüssel verwenden
REVISION_CONFLICT409Der Diagramm- oder Flussdiagrammauftrag kann derzeit nicht bearbeitet werden: NOT_LATEST_REVISION, EDIT_IN_PROGRESS oder PARENT_JOB_RUNNING, solange der übergeordnete Auftrag noch läuft.Nur bei PARENT_JOB_RUNNING: nach Retry-After mit demselben Schlüssel. Andernfalls die neueste Version mit einem neuen Schlüssel bearbeiten
PAYLOAD_TOO_LARGE413Der Anfrageinhalt ist zu groß.Nein; Anfrage ändern oder einen neuen Schlüssel verwenden
INSUFFICIENT_CREDITS402Nicht genügend Credits.Nein; Anfrage ändern oder einen neuen Schlüssel verwenden
CONTENT_REJECTED422Die Inhaltsrichtlinie hat die Anfrage abgelehnt. Dies wird beim Erstellen der Anfrage als 422 zurückgegeben oder als error.code eines fehlgeschlagenen Auftrags, wenn es während der Ausführung geschieht; in beiden Fällen werden die Credits erstattet.Nein; Beschreibung oder Eingabe ändern und einen neuen Schlüssel verwenden
PLAN_REQUIRED403Ihr Tarif enthält diese Option nicht.Nein; Anfrage ändern oder einen neuen Schlüssel verwenden
RATE_LIMITED429Zu viele Anfragen, Aufgaben pro Stunde, Konvertierungen pro Tag oder Uploads; details.reason nennt den Grund.Ja, mit demselben Idempotency-Key
CONCURRENCY_LIMITED429Für dieses Konto laufen zu viele Aufgaben.Ja, mit demselben Idempotency-Key
SERVICE_UNAVAILABLE503Der Dienst ist vorübergehend nicht verfügbar. Wiederholen Sie die Anfrage mit demselben Idempotency-Key.Ja, mit demselben Idempotency-Key
TASK_FAILED502Die Aufgabe ist fehlgeschlagen und ihre Credits wurden erstattet. Senden Sie zum erneuten Versuch eine neue Anfrage mit einem neuen Idempotency-Key.Nein; Anfrage ändern oder einen neuen Schlüssel verwenden
INTERNAL_ERROR500Interner Fehler.Ja, mit demselben Idempotency-Key

INVALID_REQUEST kann, sofern verfügbar, details.reason, details.field oder details.issues enthalten. Anfrageinhalte oberhalb des Limits von 256 KB für JSON bzw. des jeweiligen Dateilimits für Uploads führen zu 413 PAYLOAD_TOO_LARGE. Nur INSUFFICIENT_CREDITS enthält details.top_up_url. Wenn eine Erstellungsanfrage nach dem Erstellen ihres Auftrags fehlschlägt (429, 503, 409 IDEMPOTENCY_IN_PROGRESS oder 500 INTERNAL_ERROR), nennt details.job_id diesen Auftrag: Wiederholen Sie die Anfrage mit demselben Idempotency-Key oder fragen Sie GET /jobs/{job_id} ab; verwenden Sie niemals einen neuen Schlüssel.

Codes in einem fehlgeschlagenen Auftrag#

Ein erstellter und anschließend fehlgeschlagener Auftrag meldet status: "failed" und ein error-Objekt. Neben den obigen Codes für abgelehnte Anfragen kann error.code diese Werte haben:

error.codeBedeutungVorgehen
TASK_TIMED_OUTDie Aufgabe hat ihr Zeitlimit überschritten und die Credits wurden erstattet. Eine Illustrationsgenerierung oder -bearbeitung kann late_delivery_until enthalten: Bis dahin kann das Ergebnis noch kostenlos eintreffen.Fragen Sie den Auftrag bis late_delivery_until weiter ab; senden Sie andernfalls eine neue Anfrage mit einem neuen Schlüssel
CONTENT_REJECTEDDie Inhaltsrichtlinie hat das Ergebnis während der Ausführung abgelehnt; die Credits wurden erstattet. Derselbe Code wird als 422 zurückgegeben, wenn die Anfrage selbst bei der Erstellung abgelehnt wird.Ändern Sie die Beschreibung oder Eingabe und verwenden Sie einen neuen Schlüssel
ADMISSION_INCOMPLETEDer Auftrag wurde nie gestartet, da ein wiederholbarer Fehler ihn verhindert hat. Es wurden keine Credits verbraucht.Senden Sie dieselbe Anfrage mit demselben Idempotency-Key
TASK_NOT_FOUNDDer Auftrag wurde angenommen, aber seine Aufgabe ist nicht mehr auffindbar.Senden Sie eine neue Anfrage mit einem neuen Schlüssel
TASK_FAILEDDie Aufgabe ist fehlgeschlagen und die Credits wurden erstattet. Jeder Engine-Fehler ohne eigenen öffentlichen Code wird zu TASK_FAILED; der Engine-Code steht in details.reason.Senden Sie eine neue Anfrage mit einem neuen Schlüssel
INTERNAL_ERRORDie Aufgabe ist ohne Angabe eines Grundes fehlgeschlagen; die Credits wurden erstattet.Senden Sie eine neue Anfrage mit einem neuen Schlüssel

Ursachen für 429#

  • Zu viele Anfragen: 20 Erstellungsanfragen pro Minute und Zugangsdaten, 40 pro Konto, 120 Leseanfragen pro Minute und Zugangsdaten. Retry-After gibt die Zeit bis zum Zurücksetzen des Zeitfensters an; details.reason ist nicht vorhanden.
  • In der letzten Stunde wurden zu viele Aufgaben gestartet: höchstens 200 pro Konto, gemeinsam mit der Website. Retry-After: 30.
  • Zu viele Aufgaben laufen gleichzeitig: 429 CONCURRENCY_LIMITED, je nach Tarif und gemeinsam mit der Website; siehe GET /credits. Retry-After: 30.
  • Das Tageskontingent von 200 kostenlosen PNG-, PDF-, TIFF- und PPTX-Konvertierungen ist ausgeschöpft: details.reason = DAILY_CONVERSION_LIMIT, Retry-After bis zum Zurücksetzen des Tagesfensters.
  • Uploads erfolgen zu schnell: details.reason = UPLOAD_RATE_LIMITED für Bilder und Masken an POST /files, Flussdiagrammanhänge und Diagrammdaten. Es gilt das Uploadlimit pro Minute der Website.
  • Zu viele Uploads an einem Tag: details.reason = UPLOAD_DAILY_LIMIT_REACHED für Flussdiagrammanhänge und Diagrammdaten. Es gilt das tägliche Uploadlimit der Website.
  • Texterkennungen: 20 je 15 Minuten und Konto, gemeinsam mit der Website.