Lewati ke konten utama

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.

Perhatian: Sudo Mode Required

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.

Request
GET /api/auth/token/scopes

Melihat Daftar Token

Mengembalikan daftar seluruh API Token yang dimiliki pengguna saat ini.

Request
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.

Request
POST /api/auth/token/create
X-Access-Token: sudo_eyJhbGci...
Content-Type: application/json
Request Body
{
"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.

Request
PATCH /api/auth/token/{id}/update
X-Access-Token: sudo_eyJhbGci...
Content-Type: application/json
Request Body
{
"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.

Request
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).