Memicu routine melalui API
Mulai sesi routine Claude Code sesuai permintaan dengan mengirim permintaan POST yang terautentikasi.
Claude Code adalah alat pengodean agentik dari Anthropic. Claude Code di web menjalankan sesi Claude Code pada infrastruktur cloud yang dikelola Anthropic di claude.ai/code, dan routine adalah konfigurasi tersimpan di sana: sebuah prompt, satu atau beberapa repositori, dan konektor, yang dikemas sehingga 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 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 dengan paket Pro, Max, Team, atau Enterprise yang telah mengaktifkan Claude Code di web. Lakukan autentikasi dengan "bearer token" (token pembawa) per routine yang dibuat di UI web Claude Code, bukan dengan kunci API Claude.
Perbedaan dari Claude Platform
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 | Stabil atau beta standar |
Sebelum Anda memulai
Untuk memanggil endpoint ini, Anda memerlukan:
- Sebuah routine yang dibuat di claude.ai/code/routines.
- Bearer token yang dihasilkan untuk routine tersebut: buka routine untuk diedit, klik Add another trigger di bawah Select a trigger, pilih API, lalu klik Generate token di jendela modal. Token hanya ditampilkan sekali dan tidak dapat diambil kembali nanti.
Lihat Menambahkan pemicu API di dokumentasi Claude Code untuk panduan penyiapan lengkap.
Memicu routine
POST https://api.anthropic.com/v1/claude_code/routines/{routine_id}/fireUI web Claude Code menyediakan URL lengkap bersama token saat Anda menambahkan pemicu API, sehingga sebagian besar integrasi menyimpan keduanya sebagai secret dan memanggil endpoint secara langsung. Contoh berikut menunjukkan pemanggilan 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 "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 "Content-Type: application/json" \
-d "{\"text\": \"CI failed: $GITHUB_WORKFLOW run $GITHUB_RUN_ID on $GITHUB_REF\"}"Permintaan kembali setelah sesi dibuat. Permintaan ini tidak melakukan streaming output sesi atau menunggu sesi selesai.
Header
| Nama | Wajib | Deskripsi |
|---|---|---|
Authorization | Ya | Bearer <token>. Token per-routine yang dibuat di UI web Claude Code, dengan awalan sk-ant-oat01-. |
anthropic-version | Ya | Versi API. 2023-06-01 adalah satu-satunya nilai yang diterima. |
Content-Type | Jika ada body | application/json. |
Integrasi lama yang mengirimkan header anthropic-beta: experimental-cc-routine-2026-04-01 tidak terpengaruh. Endpoint menerima permintaan baik dengan maupun tanpa header tersebut.
Parameter path
| Nama | Tipe | Deskripsi |
|---|---|---|
routine_id | string | Pengidentifikasi routine. Meskipun nama parameternya demikian, nilainya berawalan trig_ bukan routine_. Disertakan dalam URL yang ditampilkan jendela modal saat Anda menambahkan pemicu API. |
Body permintaan
| 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 diurai; jika Anda mengirim JSON atau payload terstruktur lainnya, routine menerimanya sebagai string literal. Diteruskan ke routine bersama prompt tersimpannya. Maksimum 65.536 karakter. |
Body bersifat opsional. Field yang tidak dikenal dalam body akan diabaikan.
Respons
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
Error menggunakan amplop error standar Anthropic:
{
"type": "error",
"error": {
"type": "not_found_error",
"message": "<string>"
}
}| Status HTTP | Tipe error | Penyebab |
|---|---|---|
| 400 | invalid_request_error | Header anthropic-version tidak ada atau tidak didukung, text melebihi 65.536 karakter, atau routine sedang dijeda (lihat Mengedit dan mengontrol routine). |
| 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 pemicuan per jam untuk routine atau akun telah tercapai. Respons menyertakan header Retry-After yang menunjukkan kapan jendela waktu direset. |
| 500 | api_error | Terjadi error server yang tidak terduga. Coba lagi dengan exponential backoff. Jika error terus terjadi, hubungi dukungan dengan menyertakan ID permintaan. |
| 503 | overloaded_error | Layanan sedang kelebihan beban untuk sementara. Coba lagi setelah jeda singkat. Claude Platform mengembalikan 529 untuk tipe error ini, sedangkan endpoint ini mengembalikan 503. |
Autentikasi
Bearer token dicakup ke satu routine saja. Token yang bocor hanya dapat memicu routine tersebut; token tidak memberikan akses baca, tidak memberikan akses ke routine lain, dan tidak memberikan akses ke data akun.
Hasilkan dan cabut token dari pengaturan pemicu API routine di claude.ai/code/routines. Tidak ada API publik untuk manajemen token. Menghasilkan token baru akan mencabut token sebelumnya.
Idempotensi
Setiap permintaan yang berhasil membuat sesi baru. Tidak ada kunci idempotensi. Jika pemanggil webhook mencoba ulang, endpoint akan membuat beberapa sesi.
Batas laju
Pemicuan melalui API dibatasi per jam. Setiap routine menerima hingga 30 pemicuan per jam. Kuota ini dibagi bersama antara pemicuan API, tombol Run now di UI web, dan pengaktifan ulang sekali jalan. Selain itu, setiap akun dapat melakukan hingga 100 pemicuan API per jam di seluruh routine. Sesi yang dihasilkan menggunakan kuota langganan Claude Code yang sama dengan sesi interaktif. Saat batas tercapai, endpoint mengembalikan 429 rate_limit_error dengan header Retry-After.
Untuk mempelajari bagaimana penggunaan routine berinteraksi dengan batas langganan dan penagihan penggunaan ekstra, lihat Penggunaan dan batas di dokumentasi Claude Code.
Dukungan SDK
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.
Lihat juga
- Mengotomatiskan pekerjaan dengan routine di dokumentasi Claude Code
- Error
Was this page helpful?