DOCKU API Reference

Selamat datang di dokumentasi resmi antarmuka pemrograman aplikasi (API) DOCKU. Seluruh layanan API kami dapat diakses secara publik tanpa memerlukan API Key. Sistem keamanan kami beroperasi menggunakan pembatasan laju (Rate Limiting) berbasis IP untuk mencegah penyalahgunaan.

Base URL Endpoint https://docku.web.id/api

Daftar Status HTTP

  • 200 OK - Permintaan sukses diproses.
  • 201 Created - Data (File/Link) berhasil dibuat.
  • 400 Bad Request - Parameter tidak valid atau kurang.
  • 403 Forbidden - IP atau Domain Anda diblokir.
  • 404 Not Found - Endpoint atau data tidak ditemukan.
  • 409 Conflict - Alias tautan sudah digunakan.
  • 413 Payload Too Large - Ukuran file melewati batas.
  • 429 Too Many Requests - Melewati batas Rate Limit.
  • 500 Internal Error - Kesalahan pada server DOCKU.

Kode Masa Aktif File

Gunakan salah satu kode string berikut pada parameter expires saat melakukan upload file. Tautan pendek (Shortlink) kini bersifat permanen.

30m 60m 24h 3d 7d 14d 30d

Catatan: Apabila parameter tidak dikirim atau tidak valid, sistem akan menggunakan nilai bawaan (60m).

POST

/upload

Mengunggah file biner tunggal ke dalam server. Batas maksimal ukuran file adalah 350 MB per permintaan.

Parameter Request (multipart/form-data)

ParameterTipeWajibDeskripsi
fileFile BinaryYaBerkas yang akan diunggah (JPG, MP4, ZIP, dll).
expiresStringTidakKode kedaluwarsa (contoh: 24h, 7d).

Contoh Request (cURL)

curl -X POST "https://docku.web.id/api/upload" \ -F "file=@/path/to/dokumen.pdf" \ -F "expires=3d"

Contoh Request (Node.js Fetch)

const formData = new FormData(); formData.append("file", fileInput.files[0]); formData.append("expires", "3d"); const response = await fetch("https://docku.web.id/api/upload", { method: "POST", body: formData }); const result = await response.json(); console.log(result);

Respon Sukses (201 Created)

{ "success": true, "message": "File berhasil diunggah.", "data": { "filename": "a82db912ac44.pdf", "originalName": "dokumen.pdf", "mimeType": "application/pdf", "size": 1048576, "url": "https://docku.web.id/a82db912ac44.pdf", "createdAt": "2026-07-28T16:00:00.000Z", "expiresAt": "2026-07-31T16:00:00.000Z" } }
POST

/shorten

Menghasilkan tautan pendek permanen. URL tujuan akan divalidasi dan diarahkan menggunakan HTTP 302.

Parameter Request (application/json)

ParameterTipeWajibDeskripsi
urlStringYaURL target lengkap dengan http:// atau https://
aliasStringTidakAlias kustom khusus (4-32 karakter, huruf/angka).

Contoh Request (cURL)

curl -X POST "https://docku.web.id/api/shorten" \ -H "Content-Type: application/json" \ -d '{ "url": "https://contoh.com/artikel/panjang", "alias": "artikel-keren" }'

Respon Sukses (201 Created)

{ "success": true, "message": "Tautan berhasil dipersingkat permanen.", "data": { "alias": "artikel-keren", "url": "https://docku.web.id/artikel-keren", "targetUrl": "https://contoh.com/artikel/panjang", "createdAt": "2026-07-28T16:05:00.000Z" } }

Respon Error (409 Conflict)

{ "success": false, "message": "Alias tersebut sudah digunakan oleh pengguna lain.", "error": { "code": "ALIAS_EXISTS" } }
GET

/file/:filename

Mendapatkan informasi metadata dari sebuah file tanpa perlu mengunduhnya.

Contoh Request (cURL)

curl -X GET "https://docku.web.id/api/file/a82db912ac44.pdf"

Respon Sukses (200 OK)

{ "success": true, "data": { "original_name": "dokumen.pdf", "stored_name": "a82db912ac44.pdf", "mime_type": "application/pdf", "size": 1048576, "created_at": "2026-07-28 16:00:00", "expires_at": "2026-07-31 16:00:00", "download_count": 42 } }