code est stable et destiné à votre code ; message, lorsqu’il est présent, est une explication lisible par un humain et peut changer.
{
"status": "error",
"code": "UPGRADE_REQUIRED",
"message": "Custom metadata is available on Pro and Enterprise plans only."
}
Ne réessayez que sur
429 et 5xx, avec un backoff. Tout 4xx autre que 429 signifie que la requête elle-même doit être modifiée.Authentification et limites
| Code | HTTP | Signification |
|---|---|---|
ACCESS_DENIED | 401 | L’identifiant est absent ou n’a pas été reconnu. |
PERMISSION_DENIED | 401 | Le compte n’a pas de plan actif, ce que cette action exige (par exemple les envois, les liens temporaires et de partage, la publication, ou la modification de l’expiration ou des en-têtes d’un fichier). |
MISSING_SCOPE | 403 | La clé API ne possède pas le scope requis par cette route. Voir Authentification. |
RESOURCE_NOT_ALLOWED | 403 | La clé API est restreinte à des applications spécifiques. |
UPLOAD_TOKEN_NOT_ALLOWED | 403 | Les jetons d’envoi ne fonctionnent que sur les routes d’envoi. |
UPLOAD_TOKEN_USED | 401 | Le jeton d’envoi n’a plus d’utilisations disponibles. Un jeton expiré répond ACCESS_DENIED. |
ACCOUNT_BLOCKED | 403 | Le compte n’est pas autorisé à stocker des fichiers. Contactez le support. |
UPGRADE_REQUIRED | 403 | L’option ne fait pas partie de votre plan. Le message indique le plan qui la débloque. |
RATE_LIMITED | 429 | La limite propre à cette route ou le budget d’API de l’ensemble du compte a été atteint, ou l’IP a envoyé trop d’identifiants invalides. Patientez et réessayez. |
Objets
| Code | HTTP | Signification |
|---|---|---|
INVALID_OBJECT | 400 | L’id de l’objet est mal formé ou ne vous appartient pas. |
INVALID_OBJECT_NAME | 400 | name ne correspond pas au motif autorisé (1 à 128 caractères). |
INVALID_OBJECT_PREFIX | 400 | prefix ne correspond pas au motif autorisé. |
INVALID_OBJECT_EXPIRE | 400 | expire n’est pas une durée valide (1 heure à 1825 jours). |
INVALID_OBJECT_PRIVATE | 400 | private ne vaut ni true ni false. |
INVALID_OBJECT_SECURITY_HASH | 400 | security_hash n’est pas un booléen, ou vaut false sur un objet privé. |
INVALID_OBJECT_OVERWRITE | 400 | overwrite ne vaut ni true ni false. |
INVALID_OBJECT_DISPOSITION | 400 | disposition ne vaut ni inline ni attachment. |
INVALID_OBJECT_CACHE_CONTROL | 400 | cache_control ne vaut ni immutable, ni no-cache, ni max-age=60..31536000. |
INVALID_OBJECT_METADATA | 400 | metadata est mal formé, utilise une clé réservée, ou dépasse 5 clés ou 512 octets. |
INVALID_STORAGE_AUTO_DOWNLOAD | 400 | auto_download ne vaut ni true ni false. |
INVALID_CHECKSUM | 400 | checksum_sha256 ne comporte pas 64 caractères hexadécimaux en minuscules. |
CHECKSUM_MISMATCH | 400 | Le fichier ne correspond pas à checksum_sha256. Rien n’a été stocké. |
INVALID_DESTINATION | 400 | La destination de la copie est mal formée. |
SAME_OBJECT | 400 | La source et la destination de la copie sont le même objet. |
NOTHING_TO_UPDATE | 400 | La requête ne modifie aucun champ. |
INVALID_CONTINUATION_TOKEN | 400 | Le cursor de la liste est mal formé ou n’est plus valide. Recommencez sans curseur. |
TOO_MANY_OBJECTS | 400 | Trop d’objets dans une seule requête (100 pour la suppression, 50 pour la mise à jour). |
PREFIX_NOT_ALLOWED | 403 | Le jeton d’envoi est lié à un autre préfixe. |
OBJECT_NOT_FOUND | 404 | L’objet n’existe pas. |
OBJECT_ALREADY_EXISTS | 409 | Un objet avec cet id existe et overwrite vaut false. |
VISIBILITY_CHANGE_FAILED | par objet | Renvoyé dans les results de Mise à jour d’objet : l’objet n’a pas pu être rendu privé et est toujours public. Réessayez. |
UPDATE_FAILED / COPY_FAILED / DELETE_FAILED | 500 | L’opération a échoué. Réessayez. |
Envois
| Code | HTTP | Signification |
|---|---|---|
INVALID_CONTENT_TYPE | 409 | Object Post n’accepte que multipart/form-data avec exactement un fichier. |
INVALID_FILE | 400 | La partie fichier est absente ou illisible. |
INVALID_FILE_TYPE | 400 | L’extension du fichier est mal formée ou trop longue. |
BLOCKED_FILE_TYPE | 400 | Les exécutables et les installateurs ne sont pas acceptés. |
FILE_TYPE_NOT_ALLOWED | 400 | Le jeton d’envoi ou la règle du préfixe n’autorise pas cette extension. |
FILE_TOO_SMALL | 400 | Les fichiers doivent faire au moins 512 octets. |
FILE_TOO_LARGE | 413 | Au-delà de 100 Mo en une seule requête (utilisez les envois chunked), ou au-delà de la taille autorisée par le plan, le jeton ou la règle. |
STORAGE_QUOTA_EXCEEDED | 403 | Le compte a atteint son stockage inclus, en comptant les parties des envois chunked ouverts. |
TOO_MANY_CONCURRENT_UPLOADS | 429 | 4 envois sont déjà en cours sur ce compte. |
PRIVATE_STORAGE_UNAVAILABLE / PUBLIC_STORAGE_UNAVAILABLE | 503 | Le stockage est temporairement indisponible. Réessayez. |
UPLOAD_FAILED | 500 | L’envoi a échoué. Réessayez. |
Envois chunked
| Code | HTTP | Signification |
|---|---|---|
INVALID_UPLOAD_TOKEN | 400 | Le jeton upload est absent, mal formé ou ne vous appartient pas, ou il appartient à un envoi ouvert par un autre jeton d’envoi. |
INVALID_CHUNK_PART | 400 | part n’est pas un entier de 1 à 2048. |
EMPTY_CHUNK | 400 | Le corps de la partie est vide. |
CHUNK_TOO_LARGE | 413 | Une partie dépasse 32 Mo. |
CHUNK_TOO_SMALL | 400 | Une partie autre que la dernière fait moins de 5 Mo. |
NO_CHUNKS_UPLOADED | 400 | Complete a été appelé avant l’envoi de la moindre partie. |
TOO_MANY_OPEN_UPLOADS | 429 | Le compte a 32 envois ouverts. Terminez-en ou annulez-en un. |
TOO_MANY_CONCURRENT_CHUNKS | 429 | 6 parties sont déjà en cours d’envoi sur ce compte. |
UPLOAD_NOT_FOUND | 404 | L’envoi a été terminé, annulé ou a expiré. |
Liens temporaires et partages
| Code | HTTP | Signification |
|---|---|---|
INVALID_DOWNLOAD_EXPIRES | 400 | expires est en dehors de l’intervalle de 60 à 86400 secondes. |
INVALID_FILENAME | 400 | filename est vide après suppression des caractères invalides. |
INVALID_EXPIRES_IN | 400 | expires_in est en dehors de l’intervalle autorisé. |
INVALID_MAX_DOWNLOADS | 400 | max_downloads est en dehors de l’intervalle de 1 à 10000. |
INVALID_PASSWORD | 400 | Le mot de passe doit comporter de 8 à 128 caractères. |
INVALID_SHARE | 400 | L’id du partage est mal formé. |
SHARE_NOT_FOUND | 404 | Le partage n’existe pas ou a déjà été révoqué. |
TOO_MANY_SHARES | 409 | Le compte a 1000 partages actifs. Révoquez-en d’abord quelques-uns. |
Paramètres du compte et jetons d’envoi
| Code | HTTP | Signification |
|---|---|---|
INVALID_BODY | 400 | Le corps est absent ou n’est pas un objet JSON. |
INVALID_RULES | 400 | rules n’est pas un tableau. |
TOO_MANY_RULES | 400 | Plus de 20 règles sur Enterprise. Sur les autres plans, dépasser la limite du plan (5 sur Hobby et Standard, 10 sur Pro) répond UPGRADE_REQUIRED. |
INVALID_RULE_PREFIX / DUPLICATE_RULE_PREFIX | 400 | Le préfixe d’une règle est mal formé, ou reprend celui d’une autre règle. |
INVALID_RULE_PRIVATE / INVALID_RULE_EXPIRE / INVALID_RULE_MAX_SIZE / INVALID_RULE_EXTENSIONS / INVALID_RULE_CACHE_CONTROL / INVALID_RULE_DELETE_AFTER | 400 | Un champ d’une règle est invalide. La réponse contient le prefix de la règle. |
INVALID_EXPIRES_IN / INVALID_MAX_USES / INVALID_MAX_SIZE / INVALID_ALLOWED_EXTENSIONS | 400 | Un champ du jeton d’envoi est hors limites. |
UPLOAD_TOKEN_TOO_LARGE | 400 | Les options du jeton ne tiennent pas dans un jeton. Raccourcissez les métadonnées ou la liste d’extensions. |
Identifiants S3
| Code | HTTP | Signification |
|---|---|---|
API_KEY_REQUIRED | 400 | Les identifiants S3 dérivent d’une clé API, pas d’une session du tableau de bord. |
LEGACY_API_KEY | 400 | La clé API utilise l’ancien format. Créez une nouvelle clé dans les paramètres de votre compte. |
INVALID_CREDENTIAL | 401 | La clé API n’a pas pu être vérifiée. |
Globales
| Code | HTTP | Signification |
|---|---|---|
ROUTE_NOT_FOUND / NOT_FOUND | 404 | La route n’existe pas. |
INTERNAL_SERVER_ERROR | 500 | Défaillance inattendue. Réessayez plus tard. |

