Manajemen

API Manajemen

Kelola saldo organisasi, API key, serta usage dan billing per key dengan management token.

Ikhtisar

Management API memungkinkan Anda mengambil total saldo organisasi, mengelola API key organisasi, serta mengambil usage dan billing untuk key tertentu tanpa memakai inference API key biasa.

Buat token manajemen di Dashboard → API → Management Tokens:

Authorization: Bearer mt-your-management-token

Management token berbeda dari inference API key. Gunakan mt-... untuk /v1/management/*, dan gunakan sk-... untuk endpoint inferensi seperti /v1/responses.

Endpoint Tersedia

EndpointMetodeDeskripsi
/v1/management/balanceGETAmbil total saldo organisasi saat ini
/v1/management/api-keysGETDaftar API key yang dikelola user di organisasi saat ini
/v1/management/api-keysPOSTBuat API key user baru
/v1/management/api-keys/{keyId}PATCHPerbarui nama, batas penggunaan, model yang diizinkan, masa berlaku, atau status
/v1/management/api-keys/{keyId}/usageGETAmbil detail usage berpaginasi untuk key tertentu
/v1/management/api-keys/{keyId}/billingGETAmbil breakdown billing teragregasi untuk key tertentu

Kontrak Filter Usage

GET /v1/management/api-keys/{keyId}/usage mendukung parameter query berikut:

ParameterTipeDefault / BatasCatatan
pageintegerbawaan 1, minimum 1Nomor halaman mulai dari 1
limitintegerbawaan 50, minimum 1, maksimum 100Ukuran halaman
modelstringpanjang maks 100Nama model yang diminta
modelVendorstringpanjang maks 100Vendor model publik
sceneenum-chat, image, audio, video, embedding, rerank, translation, music, 3d, realtime
startDatestring-Batas bawah inklusif; menerima RFC3339 dengan timezone atau YYYY-MM-DD
endDatestring-Batas atas inklusif; menerima RFC3339 dengan timezone atau YYYY-MM-DD

Jika startDate dan endDate sama-sama ada, startDate harus lebih kecil dari atau sama dengan endDate.

Kontrak Body API Key

POST /v1/management/api-keys

BidangTipeDefault / BatasCatatan
namestringopsional, bawaan Default Key, panjang 1-50Nama tampilan, dipangkas di sisi server
limitAmountnumber | string | null0–100000 USDnull berarti tanpa batas; 0 mencegah pengeluaran. String desimal mendukung hingga 6 angka desimal. Saat membuat kunci, menghilangkan kolom ini berarti tanpa batas.
limitCurrencyenumbawaan USDHanya USD. Mengirim CNY menghasilkan 400 currency_retired.
modelsstring[]bawaan []Daftar izin model opsional
deliveryPolicystring | nullauto, verified, official, nullnull mewarisi kebijakan pengiriman ruang kerja.
expiresAtstring | nulldatetime RFC3339null berarti tidak kedaluwarsa

PATCH /v1/management/api-keys/{keyId}

BidangTipeDefault / BatasCatatan
statusenum-active, inactive, revoked
namestringpanjang 1-50Nama tampilan yang diperbarui
limitAmountnumber | string | null0–100000 USDnull berarti tanpa batas; 0 mencegah pengeluaran. String desimal mendukung hingga 6 angka desimal.
limitCurrencyenumbawaan USDHanya USD. Mengirim CNY menghasilkan 400 currency_retired. Jika diisi, limitAmount juga wajib disertakan.
modelsstring[]-Daftar izin model yang diperbarui
deliveryPolicystring | nullauto, verified, official, nullnull mewarisi kebijakan pengiriman ruang kerja.
expiresAtstring | nulldatetime RFC3339null menghapus masa kedaluwarsa

Setidaknya satu field PATCH harus diberikan.

Kolom moneter

  • Kolom moneter dalam permintaan dan respons API Manajemen hanya mendukung USD.
  • limitCurrency menggunakan USD secara default; mengirim CNY akan mengembalikan 400 currency_retired.

Semantik Pelaporan

  • model merujuk ke model publik yang diminta caller.
  • modelVendor merujuk ke vendor model publik, bukan rute penyedia di balik layar.
  • scene adalah scene request publik yang diturunkan dari endpoint atau jenis tugas.

Respons hanya menampilkan field billing dan reporting publik. Detail routing penyedia tidak ditampilkan.

  • Item /usage dapat menyertakan billing_transaction_id setelah request dasar mencapai status billing yang telah diselesaikan. Gunakan request_id + billing_transaction_id untuk rekonsiliasi level request.

Catatan paginasi penagihan

/usage dipaginasi. /billing saat ini adalah endpoint breakdown teragregasi dan tidak mengembalikan metadata paginasi seperti page / limit. Jika Anda butuh record level baris, gunakan /usage.

Contoh Singkat

Mulailah dengan memeriksa saldo organisasi menggunakan management token saat ini:

Permintaan

cURL
curl -X GET "https://api.tokenlab.sh/v1/management/balance" \
  -H "Authorization: Bearer mt-your-management-token"

Lalu tampilkan API key yang tersedia untuk management token yang sama:

Permintaan

cURL
curl "https://api.tokenlab.sh/v1/management/api-keys" \
  -H "Authorization: Bearer mt-your-management-token"

Respons

Response (200)
{
  "object": "list",
  "data": [
    {
      "id": "key_abc123def456",
      "name": "Backend Worker",
      "key_prefix": "sk-abc123...",
      "status": "active",
      "limit_amount": 500.0,
      "limit_amount_decimal": "500",
      "used_amount": 148.25,
      "used_amount_decimal": "148.25",
      "models": [
        "gpt-4o-mini",
        "claude-3-7-sonnet"
      ],
      "expires_at": "2026-04-30T00:00:00.000Z",
      "last_used_at": "2026-03-27T08:12:45.000Z",
      "created_at": "2026-03-01T10:00:00.000Z",
      "delivery_policy": null
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 50,
    "total": 1,
    "totalPages": 1
  }
}

Langkah Berikutnya

Di halaman ini