Public APIv1

Loker API Docs

Upload teks dan file via HTTP — tanpa API key, dari curl, Python, atau JavaScript.

Base URL:https://lockerku.bond

Overview

Tidak perlu autentikasi

Semua endpoint terbuka untuk publik — tidak perlu daftar atau API key. Cocok untuk integrasi cepat dari script, bot, atau aplikasi apapun.

Upload teks

POST /api/v1/paste

Upload file

POST /api/v1/upload

Info paste

GET /api/v1/info/:id

Rate Limit

Per IP address

5upload / menitvia /v1/paste atau /v1/upload
60upload / jambatas per IP per jam
60req / menitendpoint /v1/info/:id
Jika Anda terus mengirim upload setelah terkena rate limit (429), IP dapat diblokir otomatis selama 1 jam. Hindari loop atau retry tanpa jeda.

Saat rate limit terlampaui, server memberi 429 dengan body { "ok": false, "error": "..." }. Header RateLimit-Limit dan RateLimit-Remaining ikut disertakan di setiap response.

Upload Teks

POST /api/v1/paste

Terima application/json atau application/x-www-form-urlencoded.

Request Body

contentstringWAJIB
Isi teks yang akan disimpan.
filenamestring
Nama file.
Default: paste.txt
languagestring
Syntax highlighting.
Default: plaintext · contoh: js, py, go
expirystring
Masa aktif.
30m · 1h · 1d · 7d · never (default: never)
POST/api/v1/paste
curl -X POST https://lockerku.bond/api/v1/paste \
-H "Content-Type: application/json" \
-d '{"content":"hello world","filename":"hello.txt","expiry":"1d"}'

Upload File

POST /api/v1/upload

Wajib multipart/form-data. Maks 95 MB.

Form Fields

filebinaryWAJIB
File yang dikirim.
Nama field harus 'file'
filenamestring
Override nama file. Default: nama asli.
expirystring
Masa aktif.
30m · 1h · 1d · 7d · never (default: never)

Tipe File yang Diizinkan

Gambar (jpg, png, gif, webp)Video (mp4, webm, mkv)Audio (mp3, flac, ogg)Dokumen (pdf, docx, xlsx)Arsip (zip, rar, 7z, tar)APK AndroidKode (js, ts, py, go, rs…)Font (ttf, otf, woff2)
POST/api/v1/upload
curl -X POST https://lockerku.bond/api/v1/upload \
-F "file=@/path/to/foto.jpg" \
-F "expiry=never"

Nilai direct_url per tipe file

image/i/:idProxy gambar (inline)
video/v/:idProxy video (streaming)
audio/a/:idProxy audio
file / pdf / apk / archive/dl/:idDownload langsung

Info Paste / File

GET /api/v1/info/:id

Ambil metadata tanpa membuka konten atau menambah hitungan view.

GET/api/v1/info/:id
curl https://lockerku.bond/api/v1/info/PASTE_ID

Response Fields

idstring
ID unik 8 karakter
filenamestring
Nama file
typestring
text · image · video · audio · pdf · apk · archive · file
sizestring
Ukuran, mis. 1.23 MB
mimestring|null
MIME type (null untuk teks)
password_protectedboolean
true jika ada password
burn_after_readboolean
true jika terhapus setelah dibuka
viewsnumber
Jumlah tampilan
downloadsnumber
Jumlah unduhan
uploaded_atstring
ISO 8601 timestamp
expires_atstring|null
Expired at, null = tidak pernah
view_urlstring
URL halaman view
raw_urlstring|null
Raw teks (hanya type=text)
direct_urlstring
Link langsung ke file/teks
download_urlstring|null
Link download (null untuk teks)

Error Codes

Semua error dalam format JSON

400Field wajib kosong (content / file)
403IP diblokir oleh admin atau auto-ban
415Tipe MIME tidak diizinkan
422Magic bytes mismatch
429Rate limit terlampaui
404ID tidak ditemukan
410Paste expired atau sudah dihapus
500Upload gagal, coba lagi nanti
// Contoh error response
{
  "ok": false,
  "error": "Rate limit: maks 60 upload/jam. Coba lagi nanti."
}