Ikhtisar
API Uploadex memungkinkan Anda mengunggah file secara terprogram, menampilkannya, dan memperbarui metadata atas nama pemilik kunci API. Setiap endpoint adalah sumber daya REST: JSON (atau multipart untuk unggahan biner) masuk, JSON keluar, hanya HTTPS.
- URL dasar
https://uploadex.net/api/v1 - Autentikasi Token Bearer di header
Authorization - Transport Hanya HTTPS · TLS 1.2 atau 1.3
- Enkode UTF-8 JSON ·
multipart/form-datauntuk unggahan - Tanggal ISO 8601 dalam UTC ·
2026-04-21T08:12:04Z
Autentikasi
Setiap permintaan harus menyertakan header Authorization dengan token Bearer. Buat dan rotasi kunci dari dasbor developer Anda.
Authorization: Bearer ux_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKunci diawali dengan ux_live_. Kunci hanya ditampilkan sekali saat pembuatan — simpan di pengelola rahasia. Kunci dapat dibatasi ke aksi tertentu (files:read, files:write, upload, atau *) dan disetel untuk kedaluwarsa pada tanggal mendatang.
Mulai cepat
Ambil info akun Anda untuk memastikan kunci berfungsi.
# 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"
}
}Batas paket
Batas unggahan dan penyimpanan ditentukan oleh paket dan dapat berubah saat akun ditingkatkan atau diturunkan. Batas untuk paket yang menyertakan akses API:
| Paket | Ukuran file maks | Penyimpanan |
|---|---|---|
| Pro | 10 GB | 100 GB |
| Business | 50 GB | 1 TB |
Batas laju
Batas laju melindungi layanan dari lonjakan trafik. Melebihi batas menghasilkan 429 Too Many Requests.
| Cakupan | Batas | Jendela | Subjek |
|---|---|---|---|
| Inisiasi unggahan | 30 | 1 min | per kunci API |
| Unduh | 60 | 1 min | per IP |
| Masuk | 10 | 15 min | per IP |
| Daftar | 5 | 1h | per IP |
Kesalahan
Respons kesalahan menggunakan kode status HTTP standar dan body JSON yang konsisten.
{ "error": "Invalid or missing API key" }| Status | Arti |
|---|---|
| 400 | Body permintaan salah bentuk atau gagal validasi. |
| 401 | Kunci API hilang atau tidak valid. |
| 403 | Kunci tidak memiliki cakupan yang diperlukan (mis. files:write). |
| 404 | Sumber daya tidak ada atau bukan milik pemilik kunci. |
| 413 | File melebihi batas ukuran file paket akun. |
| 429 | Batas laju terlampaui. Perlambat dan coba lagi. |
| 500 | Kesalahan internal. Periksa halaman status sebelum mencoba lagi. |
Paginasi
Endpoint daftar menggunakan paginasi berbasis halaman. Berikan page (dimulai dari 1) dan limit (maks 100) sebagai parameter kueri.
GET /api/v1/files?page=1&limit=50Akun
/api/v1/accountMengembalikan info akun, paket, penggunaan penyimpanan, jumlah file.Cakupan: tidak ada cakupan yang diperlukan selain kunci yang valid.
Unggah
/api/v1/uploadMemulai unggahan multipart. Mengembalikan URL yang telah ditandatangani yang digunakan klien untuk PUT potongan ke penyimpanan objek R2.| Kolom | Tipe | Deskripsi |
|---|---|---|
| filename | string · required | Nama file, termasuk ekstensi (maks 255 karakter). |
| size | integer · required | Total ukuran file dalam byte. |
| contentType | string · required | Tipe MIME (maks 200 karakter). |
Cakupan: upload. Mengembalikan 413 jika size melebihi batas paket akun.
File
/api/v1/filesMenampilkan file milik kunci. Mendukung page, limit (maks 100), status./api/v1/files/:idMengambil satu file berdasarkan ID./api/v1/files/:idMemperbarui displayName, description, tags, atau visibility./api/v1/files/:idMenghapus file dan mengembalikan kuota penyimpanan.{
"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"
}
}Cakupan: GET memerlukan files:read; PATCH/DELETE memerlukan files:write.
Buka tiket dukungan dan jelaskan kasus penggunaannya.