# Autentikasi

Semua permintaan Public API dan MCP memakai satu mekanisme: API key sebagai Bearer token.

## Sebelum mulai

Anda sudah memiliki API key. Lihat [API Key dan Scope](/developer/api-key-dan-scope).

## Mengirim key

Kirim key di header `Authorization` pada setiap permintaan.

```bash
curl -H "Authorization: Bearer <api-key>" \
  https://<domain-anda>/api/v1/public/health
```

Alamat dasar Public API adalah `https://<domain-anda>/api/v1/public`. Gunakan HTTPS.

## Format key

Key diawali `${API_KEY_PREFIX}_live_`, dengan `API_KEY_PREFIX` adalah awalan merek deployment Anda. Awalan yang ditampilkan di kolom "Key Prefix" tabel key adalah awalan yang benar.

## Menguji key

`GET /api/v1/public/health` menjawab untuk key valid apa pun dan tidak butuh scope. Jawaban `200` berarti key berfungsi. `401` berarti masalah ada pada key, bukan pada permintaan Anda.

## Dokumentasi dari server

Server menyediakan dokumen yang selalu sesuai dengan yang berjalan. Semuanya butuh key valid tetapi tidak butuh scope.

- `GET /api/v1/public/openapi.json` untuk spesifikasi OpenAPI.
- `GET /api/v1/public/agent-guide.md` untuk panduan bagi agen AI, disaring sesuai scope key (tambahkan `?scope=all` untuk semuanya).

Daftar endpoint lengkap ada di [API Reference](/api).

## Hasil yang diharapkan

Panggilan `health` mengembalikan `200`.

## Masalah umum

- **401 Unauthorized:** header tidak ada, formatnya bukan `Bearer <api-key>`, key kosong, atau key tidak valid, dicabut, atau kedaluwarsa.
- **429 setelah banyak percobaan gagal:** terlalu banyak autentikasi gagal dari satu alamat IP membuat alamat itu diblokir sementara. Tunggu sesuai `Retry-After`.
- Key bocor? Cabut segera di **Pengembang > API Keys**.

Lanjut ke [Rate Limit dan Error](/developer/rate-limit-dan-error).
