Überblick
Mit der Uploadex-API können Sie programmatisch Dateien hochladen, auflisten und Metadaten im Namen des Inhabers des API-Schlüssels aktualisieren. Jeder Endpunkt ist eine REST-Ressource: JSON (oder Multipart für Binär-Uploads) rein, JSON raus, ausschließlich HTTPS.
- Basis-URL
https://uploadex.net/api/v1- Authentifizierung
- Bearer-Tokens im
Authorization-Header - Transport
- Nur HTTPS · TLS 1.2 oder 1.3
- Kodierung
- UTF-8-JSON ·
multipart/form-datafür Uploads - Datumsangaben
- ISO 8601 in UTC ·
2026-04-21T08:12:04Z
Authentifizierung
Jede Anfrage muss einen Authorization-Header mit einem Bearer-Token enthalten. Schlüssel erstellen und rotieren Sie in Ihrem Entwickler-Dashboard.
Schlüssel beginnen mit ux_live_. Sie werden bei der Erstellung genau einmal angezeigt – speichern Sie sie in einem Secret-Manager. Schlüssel können auf bestimmte Aktionen beschränkt werden (files:read, files:write, upload oder *) und so eingestellt werden, dass sie zu einem künftigen Datum ablaufen.
Schnellstart
Rufen Sie Ihre Kontoinformationen ab, um zu bestätigen, dass der Schlüssel funktioniert.
# 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"
}
}Tarif-Limits
Upload- und Speicher-Limits sind tarifabhängig und können sich ändern, wenn das Konto hoch- oder herabgestuft wird. Limits für Tarife mit API-Zugriff:
| Tarif | Max. Dateigröße | Speicher |
|---|---|---|
| Pro | 10 GB | 100 GB |
| Business | 50 GB | 1 TB |
| Business Plus | 100 GB | 5 TB |
Rate-Limits
Rate-Limits schützen den Dienst vor überbordendem Datenverkehr. Ein Überschreiten des Limits liefert 429 Too Many Requests.
| Bereich | Limit | Zeitfenster | Subjekt |
|---|---|---|---|
| Upload-Init | 30 | 1 min | pro API-Schlüssel |
| Download | 60 | 1 min | pro IP |
| Anmeldung | 10 | 15 min | pro IP |
| Registrierung | 5 | 1h | pro IP |
Fehler
Fehlerantworten verwenden standardmäßige HTTP-Statuscodes und einen einheitlichen JSON-Body.
| Status | Bedeutung |
|---|---|
| 400 | Der Anfrage-Body war fehlerhaft oder hat die Validierung nicht bestanden. |
| 401 | Fehlender oder ungültiger API-Schlüssel. |
| 403 | Dem Schlüssel fehlt ein erforderlicher Scope (z. B. files:write). |
| 404 | Die Ressource existiert nicht oder gehört nicht dem Schlüsselinhaber. |
| 413 | Die Datei überschreitet das Dateigrößenlimit des Kontotarifs. |
| 429 | Rate-Limit überschritten. Verlangsamen und erneut versuchen. |
| 500 | Interner Fehler. Prüfen Sie die Statusseite, bevor Sie es erneut versuchen. |
Paginierung
Listen-Endpunkte verwenden seitenbasierte Paginierung. Übergeben Sie page (ab 1) und limit (max. 100) als Query-Parameter.
Konto
Gibt Kontoinformationen, Tarif, Speichernutzung und Dateianzahl zurück.
Scope: kein Scope über einen gültigen Schlüssel hinaus erforderlich.
Upload
Initiiert einen Multipart-Upload. Gibt vorsignierte URLs zurück, die der Client verwendet, um Chunks per PUT in den R2-Objektspeicher zu übertragen.
| Feld | Typ | Beschreibung |
|---|---|---|
| filename | string · required | Dateiname, einschließlich Erweiterung (max. 255 Zeichen). |
| size | integer · required | Gesamtdateigröße in Bytes. |
| contentType | string · required | MIME-Typ (max. 200 Zeichen). |
Scope: upload. Gibt 413 zurück, wenn size das Tariflimit des Kontos überschreitet.
Dateien
Listet dem Schlüssel gehörende Dateien auf. Unterstützt page, limit (max. 100), status.
Ruft eine einzelne Datei anhand der ID ab.
Aktualisiert displayName, description, tags oder visibility.
Löscht die Datei und gibt das Speicherkontingent frei.
Scopes: GET erfordert files:read; PATCH/DELETE erfordern files:write.