Referensi API
Autentikasi
Cara membuat dan menggunakan kunci API untuk autentikasi dengan API FloopFloop.
Terakhir diperbarui:
Autentikasi API Key
Semua permintaan API harus menyertakan API key Anda di header Authorizationmenggunakan skema Bearer token:
Authorization: Bearer flp_your_api_key_hereMembuat API Key
Navigasikan ke Account → API Keys di dasbor FloopFloop Anda untuk membuat dan mengelola API key.
- Setiap akun dapat memiliki hingga 5 API key aktif
- Key hanya ditampilkan satu kali saat pembuatan — simpan dengan aman
- Key dapat dicabut kapan saja dari dasbor
- Semua key diawali dengan prefiks
flp_
Keamanan Key
- Jangan pernah membagikan API key Anda atau menyimpannya di version control
- Gunakan variabel lingkungan untuk menyimpan key di aplikasi Anda
- Rotasi key secara berkala dan cabut key yang tidak digunakan
- Setiap key memiliki bucket batas laju tersendiri
Batas Laju
Endpoint API memiliki batas laju berikut per API key:
| Operation | Limit | Window |
|---|---|---|
| Operasi baca (GET) | 120 permintaan | 1 menit |
| Operasi tulis (POST/PATCH/DELETE) | 30 permintaan | 1 menit |
| Deploy/Rollback | 5 permintaan | 1 jam |
| Pembuatan/Kloning proyek | 10 permintaan | 1 jam |
Informasi batas laju disertakan dalam header respons:X-RateLimit-Remaining dan X-RateLimit-Reset.
Verifikasi Autentikasi
GET /api/v1/user/meGunakan endpoint ini untuk mengonfirmasi bahwa API key Anda valid. Endpoint ini mengembalikan profil pengguna yang terautentikasi dan merupakan panggilan standar “uji autentikasi” yang digunakan oleh setiap SDK resmi dan oleh floop whoami di CLI.
curl https://floopfloop.com/api/v1/user/me \
-H "Authorization: Bearer flp_your_api_key_here"Respons (200):
{
"data": {
"id": "user_abc123",
"email": "you@example.com",
"name": "Your Name",
"role": "user",
"source": "api_key"
}
}role—"user"untuk akun biasa,"admin"untuk staf platform.source— cara permintaan diautentikasi."api_key"untuk kredensial terprogram,"cli_token"untuk alur CLI yang diotorisasi perangkat.
Respons 401 UNAUTHORIZED berarti key tidak ada, sudah dicabut, atau salah format. Respons 403 FORBIDDEN berarti akun ada tetapi tidak memiliki paket Business yang diperlukan untuk akses API (lihat Persyaratan di API Overview).
Manajemen API Key Secara Terprogram
Sebagian besar pengguna membuat key dari dasbor, tetapi permukaan yang sama tersedia melalui API untuk skenario orkestrasi — merotasi key dari CI job, mencantumkan key untuk mengaudit penggunaan, atau mencabut key yang bocor tanpa perlu membuka UI. Hal ini mencerminkan apa yang dilakukan floop keys list/create/removedi CLI.
Daftar API Key
GET /api/v1/api-keysMengembalikan metadata untuk setiap key aktif (belum dicabut) pada akun. Materi key teks biasa tidak pernah dikembalikan — hanya keyPrefix (8 karakter hex pertama dari key, diawali dengan flp_).
{
"data": {
"keys": [
{
"id": "key_abc",
"name": "ci-deploy",
"keyPrefix": "flp_a1b2c3d4",
"scopes": null,
"lastUsedAt": "2026-04-24T18:30:00Z",
"createdAt": "2026-04-01T12:00:00Z"
}
]
}
}Buat API Key
POST /api/v1/api-keys{
"name": "ci-deploy" // required, 1-100 chars
}Respons (201):
{
"data": {
"id": "key_xyz",
"rawKey": "flp_a1b2c3d4…full-40-hex…",
"keyPrefix": "flp_a1b2c3d4"
}
}rawKey hanya ditampilkan satu kali— pembacaan berikutnya hanya mengembalikan keyPrefix. Simpan segera. Setiap akun dibatasi hingga 5 key aktif; jika batas tercapai, permintaan mengembalikan409 LIMIT_EXCEEDED— cabut key yang tidak digunakan terlebih dahulu.
Membuat key memerlukan paket Business. Permintaan dari akun non-Business mengembalikan 403 FORBIDDEN dengan pesan “Creating API keys requires the Business plan”. Admin platform melewati gerbang ini.
Cabut API Key
DELETE /api/v1/api-keys/{keyId}Masukkan id key (misalnyakey_xyz) sebagai parameter path. Key langsung dinonaktifkan — permintaan yang sedang berjalan di worker mungkin selesai, tetapi tidak ada permintaan baru yang akan terautentikasi.
Respons (200):
{ "data": { "success": true } }- Pencabutan diri sendiri diblokir. Memanggil DELETE dengan key yang sama dengan yang membuat permintaan mengembalikan
400 VALIDATION_ERROR— ini mencegah CLI memutus koneksinya sendiri di tengah panggilan. Gunakan key lain, atau cabut dari dasbor. - Key yang tidak dikenal atau sudah dicabut mengembalikan
404 NOT_FOUND.
SDK resmi menerima id atau nama key di helperapiKeys.remove()mereka, menyelesaikan nama → id di sisi klien melalui panggilan list. API itu sendiri hanya menerima id.
Key yang dicabut tidak dapat dipulihkan; buat yang baru untuk menggantikannya. Pencabutan dicatat di log audit yang ditampilkan di Account → API Keys.