> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Fehler

> Jeder Fehlercode, den die Blob Storage API zurückgibt, mit seinem HTTP-Status und dem, was zu tun ist.

Jeder Fehler hat dieselbe Form. `code` ist stabil und für deinen Code gedacht; `message` ist, falls vorhanden, eine Erklärung für Menschen und kann sich ändern.

```json theme={null}
{
    "status": "error",
    "code": "UPGRADE_REQUIRED",
    "message": "Custom metadata is available on Pro and Enterprise plans only."
}
```

<Tip>Wiederhole Requests nur bei `429` und `5xx`, mit Backoff. Jeder `4xx` außer `429` bedeutet, dass sich der Request selbst ändern muss.</Tip>

## 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](/de/blob-reference/authentication). |
| `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](/de/blob-reference/endpoint/update) zurückgegeben. Das Objekt ist eine Legacy-Datei, gespeichert vor dem Update im September 2026, und muss mit [Object Copy](/de/blob-reference/endpoint/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](/de/blob-reference/endpoint/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](/de/blob-reference/endpoint/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.                                                        |

Das [S3-Gateway](/de/blob-reference/s3-compatibility) antwortet stattdessen mit Standard-S3-XML-Fehlern.

## 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. |
