---
type: how-to
title: Kelola Caputchin dari API
summary: Autentikasi dengan personal access token dan kemudikan satu management API langsung lewat HTTP, dengan contoh kerja dan tautan ke referensi lengkap.
---

Semua yang bisa kamu lakukan di dasbor, selain penagihan, bisa juga kamu lakukan dari kode. Caputchin memaparkan **satu management API**, dan tiga permukaan duduk di atasnya: API HTTP ini secara langsung, [server MCP](/docs/automation/mcp) untuk agen AI, dan [penyedia Terraform dan OpenTofu](/docs/automation/terraform) untuk infrastructure-as-code. Mereka hanya berbeda di tepi; validasi, izin, dan pencatatan audit yang sama berlaku mana pun yang kamu pakai.

Ketiganya berautentikasi dengan kredensial yang sama: sebuah access token yang kamu cetak sekali.

## Cetak sebuah access token [#mint-an-access-token]

Kamu mengirim token sebagai header `Bearer`. Ada dua jenis, dibahas penuh di bawah [personal access token](/docs/account-management/personal-access-token) dan [token tim](/docs/troops/tokens):

| Token | Jangkauan | Cetak ia |
|---|---|---|
| **Personal access token** | Master atas seluruh akunmu | [Pengaturan akun](/docs/account-management/account-settings#account-access-token). Gratis, satu per akun. |
| **Troop access token** | Hanya tim yang dilekatkan padanya, dengan izin yang diberikan | Halaman token sebuah tim. Memakai sebuah [kursi](/docs/troops/seats). |

Pakai personal access token untuk otomasi seluruh-akunmu sendiri; pakai token tim untuk akses tercakup, hak-paling-kecil (sebuah job CI yang hanya menyentuh satu tim). Keduanya berfungsi di mana saja di bawah. Nilai token ditunjukkan **sekali** saat pembuatan, jadi salin ia ke penyimpanan secret.

## Base URL dan auth

Management API berakar di:

```
https://api.caputchin.com/v1/management
```

Setiap permintaan membawa token sebagai header `Bearer`:

```http
Authorization: Bearer cpt_pat_...
```

Permintaan dan respons adalah JSON. Sebuah panggilan yang tak diizinkan dilakukan token-mu mengembalikan `403`; token tak dikenal atau dicabut mengembalikan `401`.

## Contoh kerja: buat sebuah kunci situs

Misalkan kamu ingin kunci situs baru di tim `shop-team`-mu. Pertama daftar tim-mu untuk menemukan id-nya, lalu buat key di dalamnya.

```bash
# 1. Find the troop id.
curl -s https://api.caputchin.com/v1/management/troops \
  -H "Authorization: Bearer $CAPUTCHIN_MANAGEMENT_TOKEN"
# → { "troops": [ { "id": "troop_…", "name": "shop-team", … }, … ] }

# 2. Create a site key in that troop.
curl -s -X POST https://api.caputchin.com/v1/management/sites \
  -H "Authorization: Bearer $CAPUTCHIN_MANAGEMENT_TOKEN" \
  -H "content-type: application/json" \
  -d '{ "name": "shop-frontend", "troop_id": "troop_…" }'
# → { "id": "site_…", "key": "cpt_pub_…", "secret": "cpt_sec_…", … }
```

Respons membawa `key` publik key baru dan `secret`-nya. **Secret ditunjukkan sekali**, di sini, jadi tangkap sekarang; kamu akan [memverifikasi dengannya di backend-mu](/docs/integration-guides/verify-on-your-backend). Hilangkan `troop_id` dan key mendarat di tim Personal-mu.

Itulah seluruh polanya: sebuah token `Bearer`, sebuah body JSON, satu panggilan per operasi. Mendaftar adalah `GET`, membuat adalah `POST`, memperbarui adalah `PATCH` atau `PUT`, menyingkirkan adalah `DELETE`, terhadap path sumber daya di bawah base URL.

## Referensi lengkap

Setiap endpoint, dengan parameternya, skema permintaan dan respons, dan panel "try it" bawaan yang berautentikasi dengan token-mu, ada di [referensi API interaktif](/docs/api-reference). Ia dihasilkan dari spesifikasi OpenAPI yang sama yang menjadi dasar API, jadi ia tak pernah menyimpang dari permukaan live. Arahkan generator klienmu sendiri ke spec yang ditautkan di sana.

## Lihat juga

- [Personal access token](/docs/account-management/personal-access-token): kredensial master dan cara melacak penggunaannya.
- [Pakai server MCP](/docs/automation/mcp): API yang sama, dikemudikan oleh agen AI.
- [Pakai Terraform atau OpenTofu](/docs/automation/terraform): API yang sama, sebagai infrastructure-as-code.
- [Referensi API interaktif](/docs/api-reference): setiap endpoint dan skema.
