API Token Management
Frog Cloud memungkinkan Customer untuk menghasilkan Personal Access Token (PAT) guna berinteraksi dengan API kita secara programmatic dari skrip, CLI, atau aplikasi pihak ketiga milik mereka.
Dokumentasi ini menjelaskan endpoint yang digunakan Frontend untuk menampilkan halaman manajemen API Token.
Sebagian besar tindakan yang memodifikasi API Token (seperti create, update, dan delete) dilindungi secara ketat oleh keamanan Sudo Mode. Frontend wajib menyisipkan HTTP Header X-Access-Token saat memanggil endpoint tersebut.
1. Melihat Daftar Token dan Scope
Pada saat halaman API Token dimuat, Frontend biasanya akan memanggil 2 endpoint GET untuk mengisi data dropdown dan tabel.
Mendapatkan Token Scopes
Mengembalikan daftar hak akses (seperti billing:read, server:write, dll) yang tersedia untuk dipilih oleh pengguna saat membuat token baru.
GET /api/auth/token/scopes
Melihat Daftar Token
Mengembalikan daftar seluruh API Token yang dimiliki pengguna saat ini.
GET /api/auth/token
Catatan: Endpoint ini hanya akan mengembalikan metadata token (Nama, Tanggal Dibuat, Scopes), dan TIDAK AKAN PERNAH mengembalikan string token mentah/rahasianya lagi.
2. Membuat API Token (Create)
Ketika pengguna mengeklik "Buat Token Baru", Frontend harus mem-POST data tersebut ke Backend beserta Sudo Token Header.
POST /api/auth/token/create
X-Access-Token: sudo_eyJhbGci...
Content-Type: application/json
{
"name": "Token Jenkins CI/CD",
"scopes": ["billing:read", "server:write"]
}
Kondisi & Tindakan Khusus:
- Sukses (200 OK): Backend akan mengembalikan objek Token yang baru saja tercipta TERMASUK STRING RAHASIANYA (misal:
fc_123456789...). Frontend wajib menampilkan string mentah ini pada sebuah modal pop-up dan memperingatkan pengguna untuk segera menyalinnya, karena setelah modal ditutup, string rahasia tersebut tidak akan bisa dilihat lagi.
3. Mengubah Metadata Token (Update)
Pengguna hanya diizinkan untuk mengubah "Nama" dan "Scopes" dari token yang sudah ada, tanpa mengubah string rahasia aslinya.
PATCH /api/auth/token/{id}/update
X-Access-Token: sudo_eyJhbGci...
Content-Type: application/json
{
"name": "Token Jenkins Baru",
"scopes": ["billing:read"]
}
4. Menghapus Token (Delete / Revoke)
Menghapus token secara permanen agar tidak bisa digunakan lagi oleh skrip / aplikasi eksternal.
DELETE /api/auth/token/{id}/delete
X-Access-Token: sudo_eyJhbGci...
- Sukses (200 OK): Token berhasil dihapus. Frontend dapat memuat ulang tabel (memanggil
GET /api/auth/token).