Ini adalah API eksperimental. Bentuk permintaan dan respons, batas laju, serta semantik token dapat berubah. Perubahan yang bersifat breaking dirilis di balik versi header beta bertanggal yang baru, dan dua versi header sebelumnya tetap berfungsi sehingga pemanggil memiliki waktu untuk bermigrasi.
Claude Code adalah alat pengodean agentik dari Anthropic. Claude Code on the web menjalankan sesi Claude Code pada infrastruktur cloud yang dikelola Anthropic di claude.ai/code, dan sebuah routine adalah konfigurasi tersimpan di sana: sebuah prompt, satu atau beberapa repositori, dan konektor, yang dikemas agar dapat berjalan tanpa pengawasan sesuai jadwal, sebagai respons terhadap peristiwa GitHub, atau ketika dipanggil melalui HTTP.
Endpoint ini adalah titik masuk HTTP. Mengirim POST ke endpoint ini akan memulai eksekusi baru dari routine yang sudah ada dan mengembalikan ID sesi serta URL yang dihasilkan. Pemanggil yang umum adalah sistem peringatan, pipeline CI, dan alat internal yang perlu memulai sesi Claude Code secara terprogram.
Memanggil endpoint ini memerlukan akun claude.ai pada paket Pro, Max, Team, atau Enterprise dengan Claude Code on the web yang diaktifkan. Autentikasi dilakukan dengan bearer token per-routine yang dibuat di UI web Claude Code, bukan dengan kunci API Claude.
Endpoint pemicu routine termasuk dalam permukaan produk Claude Code, yang berbeda dari API dan SDK Claude Platform dalam beberapa hal:
| Aspek | Endpoint ini | API Claude Platform |
|---|---|---|
| Autentikasi | Authorization: Bearer dengan token per-routine (sk-ant-oat01-...) yang dibuat di claude.ai/code/routines | x-api-key dengan kunci API Claude dari Claude Console |
| Cakupan token | Hanya satu routine; tanpa akses baca | Tingkat workspace |
| Dukungan SDK | Tidak ada | Tersedia di semua SDK klien |
| Penagihan | Penggunaan langganan Claude Code di claude.ai | Penggunaan Claude Platform |
| Namespace path | /v1/claude_code/... | /v1/... |
| Stabilitas | Eksperimental; memerlukan anthropic-beta: experimental-cc-routine-2026-04-01 | Stabil atau beta standar |
Untuk memanggil endpoint ini, Anda memerlukan:
Lihat Add an API trigger di dokumentasi Claude Code untuk panduan penyiapan lengkap.
POST https://api.anthropic.com/v1/claude_code/routines/{routine_id}/fireSetiap permintaan harus menyertakan header anthropic-beta: experimental-cc-routine-2026-04-01. Permintaan tanpa header tersebut akan mengembalikan 400 invalid_request_error.
UI web Claude Code menyediakan URL lengkap bersama dengan token saat Anda menambahkan pemicu API, sehingga sebagian besar integrasi menyimpan keduanya sebagai secret dan memanggil endpoint secara langsung. Contoh di bawah ini menunjukkan panggilan shell dan langkah GitHub Actions yang memicu routine saat CI gagal.
curl -X POST https://api.anthropic.com/v1/claude_code/routines/$ROUTINE_ID/fire \
-H "Authorization: Bearer $ROUTINE_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: experimental-cc-routine-2026-04-01" \
-H "Content-Type: application/json" \
-d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'- if: failure()
env:
ROUTINE_FIRE_URL: ${{ secrets.ROUTINE_FIRE_URL }}
ROUTINE_FIRE_TOKEN: ${{ secrets.ROUTINE_FIRE_TOKEN }}
run: |
curl -X POST "$ROUTINE_FIRE_URL" \
-H "Authorization: Bearer $ROUTINE_FIRE_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: experimental-cc-routine-2026-04-01" \
-H "Content-Type: application/json" \
-d "{\"text\": \"CI failed: $GITHUB_WORKFLOW run $GITHUB_RUN_ID on $GITHUB_REF\"}"Permintaan akan kembali setelah sesi dibuat. Permintaan ini tidak melakukan streaming output sesi atau menunggu sesi selesai.
| Nama | Wajib | Deskripsi |
|---|---|---|
Authorization | Ya | Bearer <token>. Token per-routine yang dibuat di UI web Claude Code, dengan prefiks sk-ant-oat01-. |
anthropic-beta | Ya | Harus menyertakan experimental-cc-routine-2026-04-01. |
anthropic-version | Ya | Versi API, misalnya 2023-06-01. |
Content-Type | Jika body ada | application/json. |
| Nama | Tipe | Deskripsi |
|---|---|---|
routine_id | string | Pengidentifikasi routine. Meskipun nama parameternya demikian, nilainya diawali dengan trig_ dan bukan routine_. Disertakan dalam URL yang ditampilkan modal saat Anda menambahkan pemicu API. |
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
text | string | Tidak | Konteks awal untuk eksekusi ini, seperti isi peringatan, baris log yang gagal, atau git diff. Nilainya berupa teks bebas dan tidak di-parse; jika Anda mengirim JSON atau payload terstruktur lainnya, routine menerimanya sebagai string literal. Diteruskan ke routine bersama dengan prompt tersimpannya. Maksimum 65.536 karakter. |
Body bersifat opsional. Field yang tidak dikenal dalam body akan diabaikan.
Permintaan yang berhasil mengembalikan 200 OK dengan detail sesi baru:
{
"type": "routine_fire",
"claude_code_session_id": "session_01HJKLMNOPQRSTUVWXYZ",
"claude_code_session_url": "https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ"
}| Field | Tipe | Deskripsi |
|---|---|---|
type | string | Selalu routine_fire. |
claude_code_session_id | string | ID sesi Claude Code yang dibuat untuk eksekusi ini. |
claude_code_session_url | string | Tautan ke sesi di claude.ai. Buka di browser untuk memantau eksekusi, meninjau perubahan, atau melanjutkan percakapan. |
Error menggunakan envelope error standar Anthropic:
{
"type": "error",
"error": {
"type": "not_found_error",
"message": "<string>"
}
}| Status HTTP | Tipe error | Penyebab |
|---|---|---|
| 400 | invalid_request_error | Header anthropic-beta tidak ada atau tidak valid, text melebihi 65.536 karakter, atau routine sedang dijeda. |
| 401 | authentication_error | Tidak ada bearer token di header Authorization, atau token tidak cocok dengan routine ini. |
| 403 | permission_error | Akun atau organisasi tidak memiliki akses ke endpoint ini. |
| 404 | not_found_error | Routine tidak ada. |
| 429 | rate_limit_error | Batas eksekusi routine atau batas penggunaan akun telah tercapai. Respons menyertakan header Retry-After yang menunjukkan kapan jendela direset. |
| 500 | api_error | Error server yang tidak terduga. |
| 503 | overloaded_error | Layanan sementara kelebihan beban. Coba lagi setelah jeda singkat. Claude Platform mengembalikan 529 untuk tipe error ini; endpoint ini mengembalikan 503. |
Bearer token dibatasi cakupannya untuk satu routine. Token yang bocor hanya dapat memicu routine tersebut; token tidak memberikan akses baca, akses ke routine lain, maupun akses ke data akun.
Buat dan cabut token dari pengaturan pemicu API routine di claude.ai/code/routines. Tidak ada API publik untuk manajemen token. Membuat token baru akan mencabut token sebelumnya.
Setiap permintaan yang berhasil membuat sesi baru. Tidak ada kunci idempotensi. Jika pemanggil webhook melakukan percobaan ulang, endpoint akan membuat beberapa sesi.
Eksekusi routine dihitung terhadap jatah harian per-akun yang bervariasi berdasarkan paket, dan sesi yang dihasilkan mengurangi penggunaan langganan Claude Code yang sama seperti sesi interaktif. Ketika salah satu batas tercapai, endpoint mengembalikan 429 rate_limit_error dengan header Retry-After. Organisasi dengan penggunaan ekstra yang diaktifkan dapat melanjutkan melewati jatah yang disertakan dengan kelebihan penggunaan terukur.
Sisa eksekusi harian Anda ditampilkan di claude.ai/code/routines. Untuk mengetahui bagaimana penggunaan routine berinteraksi dengan batas langganan dan penagihan penggunaan ekstra, lihat Usage and limits di dokumentasi Claude Code.
Endpoint ini tidak tersedia di SDK Anthropic. Model tokennya berbeda dari autentikasi kunci API, dan pemanggil yang umum seperti job CI dan webhook peringatan mengirim permintaan secara langsung.
Was this page helpful?