Vue d'ensemble
L'API Uploadex vous permet de téléverser des fichiers, de les lister et de mettre à jour les métadonnées par programmation au nom du propriétaire de la clé d'API. Chaque point de terminaison est une ressource REST : JSON (ou multipart pour les téléversements binaires) en entrée, JSON en sortie, HTTPS uniquement.
- URL de base
https://uploadex.net/api/v1 - Authentification Jetons Bearer dans l'en-tête
Authorization - Transport HTTPS uniquement · TLS 1.2 ou 1.3
- Encodage JSON UTF-8 ·
multipart/form-datapour les téléversements - Dates ISO 8601 en UTC ·
2026-04-21T08:12:04Z
Authentification
Chaque requête doit inclure un en-tête Authorization avec un jeton Bearer. Créez et faites tourner vos clés depuis votre tableau de bord développeur.
Authorization: Bearer ux_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXLes clés commencent par ux_live_. Elles ne sont affichées qu'une seule fois lors de leur création — conservez-les dans un gestionnaire de secrets. Les clés peuvent être limitées à des actions précises (files:read, files:write, upload ou *) et configurées pour expirer à une date future.
Démarrage rapide
Récupérez les informations de votre compte pour confirmer que la clé fonctionne.
# Get your account info
curl https://uploadex.net/api/v1/account \
-H "Authorization: Bearer $UX_API_KEY"{
"data": {
"id": "clxxxxxxxxxxxxxxxxxxxxxx",
"email": "[email protected]",
"name": "Your Name",
"plan": "PRO",
"balance": 0,
"totalEarnings": 0,
"storageUsed": 52428800,
"storageLimit": 53687091200,
"storageFormatted": "50 MB / 50 GB",
"fileCount": 3,
"createdAt": "2026-04-01T09:21:00.000Z"
}
}Limites des forfaits
Les limites de téléversement et de stockage dépendent du forfait et peuvent changer lorsque le compte est mis à niveau ou rétrogradé. Limites pour les forfaits qui incluent l'accès API :
| Forfait | Taille de fichier max. | Stockage |
|---|---|---|
| Pro | 10 GB | 100 GB |
| Business | 50 GB | 1 TB |
Limites de débit
Les limites de débit protègent le service contre le trafic incontrôlé. Dépasser une limite renvoie 429 Too Many Requests.
| Portée | Limite | Fenêtre | Sujet |
|---|---|---|---|
| Initialisation de téléversement | 30 | 1 min | par clé d'API |
| Téléchargement | 60 | 1 min | par IP |
| Connexion | 10 | 15 min | par IP |
| Inscription | 5 | 1h | par IP |
Erreurs
Les réponses d'erreur utilisent des codes d'état HTTP standard et un corps JSON cohérent.
{ "error": "Invalid or missing API key" }| État | Signification |
|---|---|
| 400 | Le corps de la requête était mal formé ou n'a pas passé la validation. |
| 401 | Clé d'API manquante ou invalide. |
| 403 | La clé ne dispose pas d'une portée requise (par ex. files:write). |
| 404 | La ressource n'existe pas ou n'appartient pas au propriétaire de la clé. |
| 413 | Le fichier dépasse la limite de taille du forfait du compte. |
| 429 | Limite de débit dépassée. Ralentissez et réessayez. |
| 500 | Erreur interne. Consultez la page d'état avant de réessayer. |
Pagination
Les points de terminaison de liste utilisent une pagination par page. Passez page (indexée à partir de 1) et limit (max. 100) comme paramètres de requête.
GET /api/v1/files?page=1&limit=50Compte
/api/v1/accountRenvoie les informations du compte, le forfait, l'utilisation du stockage et le nombre de fichiers.Portée : aucune portée requise au-delà d'une clé valide.
Téléverser
/api/v1/uploadInitie un téléversement multipart. Renvoie des URL présignées que le client utilise pour envoyer (PUT) les segments vers le stockage d'objets R2.| Champ | Type | Description |
|---|---|---|
| filename | string · required | Nom du fichier, extension comprise (max. 255 caractères). |
| size | integer · required | Taille totale du fichier en octets. |
| contentType | string · required | Type MIME (max. 200 caractères). |
Portée : upload. Renvoie 413 si size dépasse la limite du forfait du compte.
Fichiers
/api/v1/filesListe les fichiers détenus par la clé. Prend en charge page, limit (max. 100), status./api/v1/files/:idRécupère un seul fichier par son ID./api/v1/files/:idMet à jour displayName, description, tags ou visibility./api/v1/files/:idSupprime le fichier et récupère le quota de stockage.{
"data": {
"id": "clxxxxxxxxxxxxxxxxxxxxxx",
"slug": "9nK2xA",
"filename": "demo.mp4",
"size": 881975296,
"sizeFormatted": "841.1 MB",
"mimeType": "video/mp4",
"status": "READY",
"scanStatus": "CLEAN",
"downloads": 128,
"views": 412,
"tags": ["demo"],
"visibility": "PUBLIC",
"adsEnabled": true,
"createdAt": "2026-04-21T08:12:04.000Z",
"updatedAt": "2026-04-21T08:12:04.000Z"
}
}Portées : GET nécessite files:read ; PATCH/DELETE nécessitent files:write.
Ouvrez un ticket d'assistance et décrivez le cas d'usage.