code ist stabil und für deinen Code gedacht; message ist, falls vorhanden, eine Erklärung für Menschen und kann sich ändern.
{
"status": "error",
"code": "UPGRADE_REQUIRED",
"message": "Custom metadata is available on Pro and Enterprise plans only."
}
Wiederhole Requests nur bei
429 und 5xx, mit Backoff. Jeder 4xx außer 429 bedeutet, dass sich der Request selbst ändern muss.Authentifizierung und Limits
| Code | HTTP | Bedeutung |
|---|---|---|
ACCESS_DENIED | 401 | Die Zugangsdaten fehlen oder wurden nicht erkannt. |
PERMISSION_DENIED | 401 | Das Konto hat keinen aktiven kostenpflichtigen Plan, den diese Aktion benötigt. |
MISSING_SCOPE | 403 | Dem API-Schlüssel fehlt der Scope, den diese Route benötigt. Siehe Authentifizierung. |
RESOURCE_NOT_ALLOWED | 403 | Der API-Schlüssel ist auf bestimmte Anwendungen beschränkt. |
UPLOAD_TOKEN_NOT_ALLOWED | 403 | Upload-Tokens funktionieren nur auf Upload-Routen. |
UPLOAD_TOKEN_USED | 401 | Das Upload-Token hat keine Nutzungen mehr übrig. Ein abgelaufenes Token antwortet mit ACCESS_DENIED. |
ACCOUNT_BLOCKED | 403 | Das Konto ist für das Speichern von Dateien gesperrt. Kontaktiere den Support. |
UPGRADE_REQUIRED | 403 | Die Option ist nicht Teil deines Plans. Die message nennt den Plan, der sie freischaltet. |
RATE_LIMIT | 429 | Das kontoweite API-Budget ist aufgebraucht, oder die IP hat zu viele ungültige Zugangsdaten gesendet. |
RATE_LIMITED | 429 | Das eigene Limit dieser Route wurde erreicht. Warte und versuche es erneut. |
Objekte
| Code | HTTP | Bedeutung |
|---|---|---|
INVALID_OBJECT | 400 | Die Objekt-id ist fehlerhaft oder gehört nicht dir. |
INVALID_OBJECT_NAME | 400 | name entspricht nicht dem erlaubten Muster (1 bis 128 Zeichen). |
INVALID_OBJECT_PREFIX | 400 | prefix entspricht nicht dem erlaubten Muster. |
INVALID_OBJECT_EXPIRE | 400 | expire ist keine gültige Dauer (1 Stunde bis 1825 Tage). |
INVALID_OBJECT_PRIVATE | 400 | private ist nicht true oder false. |
INVALID_OBJECT_SECURITY_HASH | 400 | security_hash ist kein Boolean oder ist false bei einem privaten Objekt. |
INVALID_OBJECT_OVERWRITE | 400 | overwrite ist nicht true oder false. |
INVALID_OBJECT_DISPOSITION | 400 | disposition ist nicht inline oder attachment. |
INVALID_OBJECT_CACHE_CONTROL | 400 | cache_control ist nicht immutable, no-cache oder max-age=60..31536000. |
INVALID_OBJECT_METADATA | 400 | metadata ist fehlerhaft, verwendet einen reservierten Schlüssel oder überschreitet 5 Schlüssel oder 512 Bytes. |
INVALID_STORAGE_AUTO_DOWNLOAD | 400 | auto_download ist nicht true oder false. |
INVALID_CHECKSUM | 400 | checksum_sha256 besteht nicht aus 64 hexadezimalen Kleinbuchstaben-Zeichen. |
CHECKSUM_MISMATCH | 400 | Die Datei stimmt nicht mit checksum_sha256 überein. Es wurde nichts gespeichert. |
INVALID_DESTINATION | 400 | Das Kopierziel destination ist fehlerhaft. |
SAME_OBJECT | 400 | Quelle und Ziel der Kopie sind dasselbe Objekt. |
NOTHING_TO_UPDATE | 400 | Der Request ändert kein Feld. |
INVALID_CONTINUATION_TOKEN | 400 | Der cursor der Liste ist fehlerhaft oder nicht mehr gültig. Beginne erneut ohne Cursor. |
TOO_MANY_OBJECTS | 400 | Zu viele Objekte in einem Request (100 zum Löschen, 50 zum Aktualisieren). |
PREFIX_NOT_ALLOWED | 403 | Das Upload-Token ist an ein anderes Präfix gebunden. |
OBJECT_NOT_FOUND | 404 | Das Objekt existiert nicht. |
OBJECT_ALREADY_EXISTS | 409 | Ein Objekt mit dieser id existiert und overwrite ist false. |
OBJECT_IS_LEGACY | pro Objekt | Wird in den results von Object Update zurückgegeben. Das Objekt ist eine Legacy-Datei, gespeichert vor dem Update im September 2026, und muss mit Object Copy (move: true) verschoben werden, bevor seine Header geändert werden können. |
VISIBILITY_CHANGE_FAILED | pro Objekt | Wird in den results von Object Update zurückgegeben: Das Objekt konnte nicht privat gemacht werden und ist weiterhin öffentlich. Versuche es erneut. |
UPDATE_FAILED / COPY_FAILED / DELETE_FAILED | 500 | Die Operation ist fehlgeschlagen. Versuche es erneut. |
Uploads
| Code | HTTP | Bedeutung |
|---|---|---|
INVALID_CONTENT_TYPE | 409 | Object Post akzeptiert nur multipart/form-data mit genau einer Datei. |
INVALID_FILE | 400 | Der Dateiteil fehlt oder ist nicht lesbar. |
INVALID_FILE_TYPE | 400 | Die Dateiendung ist fehlerhaft oder zu lang. |
BLOCKED_FILE_TYPE | 400 | Ausführbare Dateien und Installer werden nicht akzeptiert. |
FILE_TYPE_NOT_ALLOWED | 400 | Das Upload-Token oder die Präfix-Regel erlaubt diese Endung nicht. |
FILE_TOO_SMALL | 400 | Dateien müssen mindestens 512 Bytes haben. |
FILE_TOO_LARGE | 413 | Über 100 MB in einem Request (verwende Chunked Uploads) oder über der vom Plan, Token oder von der Regel erlaubten Größe. |
STORAGE_QUOTA_EXCEEDED | 403 | Das Konto hat seinen enthaltenen Speicher erreicht. |
TOO_MANY_CONCURRENT_UPLOADS | 429 | Auf diesem Konto laufen bereits 4 Uploads. |
PRIVATE_STORAGE_UNAVAILABLE / PUBLIC_STORAGE_UNAVAILABLE | 503 | Der Speicher ist vorübergehend nicht verfügbar. Versuche es erneut. |
UPLOAD_FAILED | 500 | Der Upload ist fehlgeschlagen. Versuche es erneut. |
Chunked Uploads
| Code | HTTP | Bedeutung |
|---|---|---|
INVALID_UPLOAD_TOKEN | 400 | Das upload-Token fehlt, ist fehlerhaft oder gehört nicht dir. |
INVALID_CHUNK_PART | 400 | part ist keine Ganzzahl von 1 bis 2048. |
EMPTY_CHUNK | 400 | Der Body des Teils ist leer. |
CHUNK_TOO_LARGE | 413 | Ein Teil hat mehr als 32 MB. |
CHUNK_TOO_SMALL | 400 | Ein Teil außer dem letzten hat weniger als 5 MB. |
NO_CHUNKS_UPLOADED | 400 | Complete wurde aufgerufen, bevor ein Teil gesendet wurde. |
TOO_MANY_OPEN_UPLOADS | 429 | Das Konto hat 32 offene Uploads. Schließe einen ab oder brich einen ab. |
TOO_MANY_CONCURRENT_CHUNKS | 429 | Auf diesem Konto sind bereits 6 Teile unterwegs. |
UPLOAD_NOT_FOUND | 404 | Der Upload wurde abgeschlossen, abgebrochen oder ist abgelaufen. |
Temporäre Links und Freigaben
| Code | HTTP | Bedeutung |
|---|---|---|
INVALID_DOWNLOAD_EXPIRES | 400 | expires liegt außerhalb von 60 bis 86400 Sekunden. |
INVALID_FILENAME | 400 | filename ist nach dem Entfernen ungültiger Zeichen leer. |
INVALID_EXPIRES_IN | 400 | expires_in liegt außerhalb des erlaubten Bereichs. |
INVALID_MAX_DOWNLOADS | 400 | max_downloads liegt außerhalb von 1 bis 10000. |
INVALID_PASSWORD | 400 | Das Passwort muss 8 bis 128 Zeichen haben. |
INVALID_SHARE | 400 | Die Freigabe-id ist fehlerhaft. |
SHARE_NOT_FOUND | 404 | Die Freigabe existiert nicht oder wurde bereits widerrufen. |
TOO_MANY_SHARES | 409 | Das Konto hat 1000 aktive Freigaben. Widerrufe zuerst einige. |
Kontoeinstellungen und Upload-Tokens
| Code | HTTP | Bedeutung |
|---|---|---|
INVALID_BODY | 400 | Der Body fehlt oder ist kein JSON-Objekt. |
INVALID_RULES | 400 | rules ist kein Array. |
TOO_MANY_RULES | 400 | Mehr als 20 Regeln bei Enterprise. In anderen Plänen antwortet das Überschreiten des Plan-Limits (5 bei Hobby und Standard, 10 bei Pro) mit UPGRADE_REQUIRED. |
INVALID_RULE_PREFIX / DUPLICATE_RULE_PREFIX | 400 | Ein Regel-Präfix ist fehlerhaft oder wiederholt das einer anderen Regel. |
INVALID_RULE_PRIVATE / INVALID_RULE_EXPIRE / INVALID_RULE_MAX_SIZE / INVALID_RULE_EXTENSIONS / INVALID_RULE_CACHE_CONTROL / INVALID_RULE_DELETE_AFTER | 400 | Ein Feld einer Regel ist ungültig. Die Antwort enthält das prefix der Regel. |
INVALID_EXPIRES_IN / INVALID_MAX_USES / INVALID_MAX_SIZE / INVALID_ALLOWED_EXTENSIONS | 400 | Ein Feld des Upload-Tokens liegt außerhalb des Bereichs. |
UPLOAD_TOKEN_TOO_LARGE | 400 | Die Token-Optionen passen nicht in ein Token. Kürze die Metadaten oder die Liste der Endungen. |
S3-Zugangsdaten
| Code | HTTP | Bedeutung |
|---|---|---|
API_KEY_REQUIRED | 400 | S3-Zugangsdaten werden aus einem API-Schlüssel abgeleitet, nicht aus einer Dashboard-Sitzung. |
LEGACY_API_KEY | 400 | Der API-Schlüssel verwendet das alte Format. Erstelle einen neuen Schlüssel in deinen Kontoeinstellungen. |
INVALID_CREDENTIAL | 401 | Der API-Schlüssel konnte nicht verifiziert werden. |
Global
| Code | HTTP | Bedeutung |
|---|---|---|
ROUTE_NOT_FOUND / NOT_FOUND | 404 | Die Route existiert nicht. |
INTERNAL_SERVER_ERROR | 500 | Unerwarteter Fehler. Versuche es später erneut. |

