Manajemen API Key

View as Markdown

Endpoint manajemen API Key hanya menerima autentikasi JWT.

Buat API Key

POST /v1/private/user/api-key/create
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json

Parameter permintaan:

ParameterTipeWajibDeskripsi
labelstringYaAPI Key label, panjang 1 - 64
permissionsintTidakBitmask izin, 1default, rentang 1 - 7
ipWhitelistsenar[]TidakIP daftar putih, hingga 20 entri. Jika dihilangkan, IP sumber tidak dibatasi

Contoh permintaan:

curl -X POST https://api.6mm.com/v1/private/user/api-key/create \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{
"label": "external-service-prod",
"permissions": 3,
"ipWhitelist": ["203.0.113.10"]
}'

Contoh respons:

{
"code": 0,
"message": "success",
"data": {
"apiKey": "fx_xxxxxxxxxxxxxxxxxxxxxxxx",
"apiSecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"requestId": "req-api-key"
}

apiSecret hanya dikembalikan sekali saat API Key dibuat. Simpan segera dalam sistem manajemen rahasia. Jangan menuliskannya ke repositori kode sumber atau log.

Setiap pengguna dapat membuat hingga 30 API Key.

Daftar Kunci API

GET /v1/private/user/api-key/list
Authorization: Bearer YOUR_ACCESS_TOKEN

Bidang respons:

LapanganTipeDeskripsi
list[].idstringID API Key
list[].labelstringLabel
list[].apiKeystringPengidentifikasi API Key publik
list[].permissionsintBitmask izin
list[].ipWhitelistsenar[]IP daftar putih
list[].statusintStatus: 1 diaktifkan, 0 dinonaktifkan
list[].lastUsedAtint64Waktu terakhir digunakan
list[].createdAtint64Waktu penciptaan

Pembaruan API Key

PUT /v1/private/user/api-key/update
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json

Parameter permintaan:

ParameterTipeWajibDeskripsi
idstringYaID API Key
labelstringTidakLabel baru
permissionsintTidakBitmask izin baru
ipWhitelistsenar[]TidakDaftar putih IP baru
statusintTidak1 diaktifkan, 0 dinonaktifkan

Hapus API Key

POST /v1/private/user/api-key/delete
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json

Badan permintaan:

{ "id": "1001" }

Hapus Semua Kunci API

POST /v1/private/user/api-key/delete-all
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json

Bidang respons:

LapanganTipeDeskripsi
deletedint64Jumlah Kunci API yang dihapus