API v1

API Uploadex référence.

Une API REST pour téléverser des fichiers, les lister et gérer les métadonnées. JSON via HTTPS avec authentification par jeton Bearer.

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-data pour 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_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

L'accès à l'API nécessite un forfait avec l'accès API activé. Si le compte passe à un forfait sans accès API, les clés existantes cessent de fonctionner jusqu'à ce que le compte soit à nouveau mis à niveau. Révoquez immédiatement les clés compromises depuis le tableau de bord développeur.

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"
Réponse · 200 OK
{
  "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 :

ForfaitTaille de fichier max.Stockage
Pro10 GB100 GB
Business50 GB1 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éeLimiteFenêtreSujet
Initialisation de téléversement301 minpar clé d'API
Téléchargement601 minpar IP
Connexion1015 minpar IP
Inscription51hpar 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" }
ÉtatSignification
400Le corps de la requête était mal formé ou n'a pas passé la validation.
401Clé d'API manquante ou invalide.
403La clé ne dispose pas d'une portée requise (par ex. files:write).
404La ressource n'existe pas ou n'appartient pas au propriétaire de la clé.
413Le fichier dépasse la limite de taille du forfait du compte.
429Limite de débit dépassée. Ralentissez et réessayez.
500Erreur 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=50

Compte

GET/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

POST/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.
ChampTypeDescription
filenamestring · requiredNom du fichier, extension comprise (max. 255 caractères).
sizeinteger · requiredTaille totale du fichier en octets.
contentTypestring · requiredType MIME (max. 200 caractères).

Portée : upload. Renvoie 413 si size dépasse la limite du forfait du compte.

Fichiers

GET/api/v1/filesListe les fichiers détenus par la clé. Prend en charge page, limit (max. 100), status.
GET/api/v1/files/:idRécupère un seul fichier par son ID.
PATCH/api/v1/files/:idMet à jour displayName, description, tags ou visibility.
DELETE/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.

Vous avez besoin d'un point de terminaison qui n'est pas ici ?

Ouvrez un ticket d'assistance et décrivez le cas d'usage.

Contacter l'assistance