Autentikasi
API key, scope, batas budget, dan gerbang persetujuan organisasi.
Header
Kirim API key sebagai Bearer token di setiap request:
Authorization: Bearer dk_live_<prefix>.<secret>Bagian sebelum titik adalah prefix publik (untuk mencari key), bagian sesudahnya secret. Dampingin hanya menyimpan hash SHA-256 dari secret, jadi key yang hilang tidak bisa ditampilkan lagi: buat key baru. Key yang tidak ada, salah format, salah secret, atau sudah dicabut menghasilkan 401 UNAUTHORIZED.
Belum tersedia
Scope
Scope dipilih saat key dibuat. Request ke endpoint di luar scope key ditolak dengan 403 FORBIDDEN_SCOPE.
| Scope | Endpoint | Butuh organisasi disetujui |
|---|---|---|
| katalog:baca | GET /v1/services, GET /v1/services/{code} | Tidak |
| status:baca | GET /v1/orders/{id}, GET /v1/cases/{id}, GET /v1/balance | Tidak |
| order:buat | POST /v1/orders, POST /v1/orders/{id}/messages, POST /v1/orders/{id}/accept | Ya |
| kasus:buat | POST /v1/cases, POST /v1/cases/{id}/select | Ya |
| dokumen:buat | Belum dipakai endpoint mana pun | Ya |
Dashboard mencentang katalog:baca dan status:baca secara default. Beri scope yang benar-benar dibutuhkan agent saja.
Batas budget
- Batas per order (
max_order_budget): order yang harganya melebihi batas ini, atau melebihimax_budgetdi body request (mana yang lebih kecil), ditolak402 BUDGET_EXCEEDED. - Batas per bulan (
monthly_budget): jumlah harga order yang dibuat key ini sejak tanggal 1 bulan berjalan (tidak termasukdibatalkandandirefund) ditambah order baru tidak boleh melebihinya, atau402 MONTHLY_BUDGET_EXCEEDED. - Batas per order tidak boleh lebih besar dari batas per bulan. Keduanya diatur saat membuat key.
- Pemakaian berjalan terlihat di
GET /v1/balance:
{
"deposit_idr": 22500000,
"key": {
"max_order_budget": 10000000,
"monthly_budget": 50000000,
"spent_this_month": 27500000,
"scopes": ["katalog:baca", "order:buat", "status:baca"]
}
}Persetujuan organisasi
Ada dua lapis persetujuan manusia:
Urutan pemeriksaan
Setiap request ke /v1 diperiksa dengan urutan ini, jadi kode error yang kamu terima menunjukkan tahap mana yang gagal:
Rotasi dan pencabutan
Owner dan admin bisa mencabut key kapan saja di dashboard (tombol Cabut); request berikutnya dengan key itu langsung 401. Untuk rotasi: buat key baru, pindahkan agent, lalu cabut key lama. Belum ada endpoint API untuk mengelola key.
Menyimpan key untuk agent
- Satu key per agent atau per lingkungan, supaya batas budget dan pencabutan tidak saling mengganggu.
- Jangan taruh key di prompt, log, atau repo. Server MCP membaca key dari variabel lingkungan atau header.