Sebuah scheduled deployment (deployment terjadwal) memungkinkan sebuah agen untuk memulai sesi secara otonom, sehingga memungkinkan penyelesaian tugas dengan kadens yang dapat diprediksi. Anda membuat dan mengelola deployment dengan Deployments API, bagian dari Claude API.
Semua permintaan Managed Agents API memerlukan header beta managed-agents-2026-04-01. SDK mengatur header beta ini secara otomatis.
Saat membuat deployment, Anda meneruskan konfigurasi sesi yang diperlukan untuk eksekusi, selain sebuah schedule.
user.message awal yang memulai pekerjaan sesi.schedule, Anda mendefinisikan expression cron dan timezone. Granularitas maksimum yang didukung adalah pada tingkat menit.DEPLOYMENT_ID=$(ant beta:deployments create <<YAML | jq -er '.id'
name: Weekly compliance scan
agent: $AGENT_ID
environment_id: $ENVIRONMENT_ID
initial_events:
- type: user.message
content:
- type: text
text: Run the weekly compliance scan.
schedule:
type: cron
expression: "0 20 * * 5"
timezone: America/New_York
YAML
)Respons mencakup objek deployment dengan schedule.upcoming_runs_at yang terisi dengan waktu eksekusi berikutnya yang akan datang, untuk mengonfirmasi bahwa jadwal Anda telah diatur dengan benar.
{
"id": "depl_01xyz",
"status": "active",
"paused_reason": null,
"schedule": {
"type": "cron",
"expression": "0 20 * * 5",
"timezone": "America/New_York",
"last_run_at": null,
"upcoming_runs_at": [
"2026-05-09T00:00:00Z",
"2026-05-16T00:00:00Z",
"2026-05-23T00:00:00Z"
]
}
}Timestamp eksekusi yang akan datang didasarkan pada jadwal persis yang dikonfigurasi. Namun, untuk mendistribusikan beban, deployment dapat menerapkan jitter hingga 10 detik.
Maksimum 1.000 deployment terjadwal didukung per organisasi. Hubungi dukungan Anthropic jika Anda membutuhkan lebih banyak.
Lihat referensi Create Deployment untuk parameter lengkap dan skema respons.
minute hour day-of-month month day-of-week). Anda dapat membuat dan memvalidasi ekspresi cron ini di Claude Console."America/Los_Angeles")."0 20 * * *" di America/New_York dijalankan pada pukul 8 PM waktu lokal terlepas dari apakah EST atau EDT sedang berlaku.Waktu jam dinding yang tidak ada pada hari spring-forward (seperti pukul 2 AM) tidak dipicu. Waktu jam dinding yang terjadi dua kali pada hari fall-back dijalankan dua kali. Jadwalkan di luar jendela 1–3 AM waktu lokal, atau gunakan UTC, jika eksekusi yang terlewat atau duplikat tidak dapat diterima.
Deployment dapat gagal dipicu karena berbagai alasan: misalnya, jika sumber daya environment telah diarsipkan, atau jika pembuatan sesi terkena batas laju. Setiap upaya mengeksekusi deployment menghasilkan catatan deployment run, yang memungkinkan Anda melacak keberhasilan dan kegagalan secara independen dari siklus hidup sesi.
Deployment yang berhasil menghasilkan sesi aktif, dan deployment run yang berhasil berisi session_id terkait. Untuk mengikuti siklus hidup sesi, lacak event sesi melalui event stream atau webhook. Perubahan siklus hidup deployment dan hasil dari setiap eksekusi terjadwal juga dikirimkan sebagai event webhook, yang tercantum di tab Deployment events dan Deployment run events pada Tipe event yang didukung.
Daftarkan semua deployment run untuk sebuah deployment sebagai berikut:
ant beta:deployment-runs list --deployment-id "$DEPLOYMENT_ID"Anda juga dapat memfilter deployment run yang memiliki error:
ant beta:deployment-runs list --deployment-id "$DEPLOYMENT_ID" --has-errorRun yang gagal mencakup error dengan type yang menjelaskan mengapa pembuatan sesi ditolak (misalnya, environment_archived_error, agent_archived_error, atau session_rate_limited_error). Lihat referensi List Deployment Runs untuk semua parameter filter dan skema respons.
{
"type": "deployment_run",
"id": "drun_01abc124",
"deployment_id": "depl_01xyz",
"trigger_context": { "type": "schedule", "scheduled_at": "2026-05-09T00:00:00Z" },
"session_id": null,
"error": {
"type": "environment_archived_error",
"message": "environment `env_01abc` is archived"
},
"agent": { "type": "agent", "id": "agent_01ghi789", "version": 3 },
"created_at": "2026-05-09T00:00:01Z"
}Untuk mengambil satu run berdasarkan ID, panggil GET /v1/deployment_runs/{deployment_run_id}. Sebuah event webhook deployment_run membawa ID run sebagai data.id-nya.
Setiap perubahan siklus hidup memancarkan event webhook, sehingga Anda dapat bereaksi terhadap deployment yang dijeda, dilanjutkan, atau diarsipkan tanpa polling; lihat tab Deployment events.
Pause menekan pemicu terjadwal untuk ke depannya; sesi yang sedang berjalan dari deployment run sebelumnya tetap dieksekusi. Run manual melalui endpoint run tetap diizinkan saat dijeda. Menjeda akan mengatur paused_reason menjadi {"type": "manual"}; melanjutkan akan menghapusnya.
ant beta:deployments pause --deployment-id "$DEPLOYMENT_ID"Unpause melanjutkan jadwal dari kemunculan terjadwal berikutnya. Pemicu yang terlewat tidak diisi ulang (backfill).
ant beta:deployments unpause --deployment-id "$DEPLOYMENT_ID"Archive, tidak seperti pause, bersifat terminal: jadwal dihentikan dan deployment tidak dapat dimodifikasi.
ant beta:deployments archive --deployment-id "$DEPLOYMENT_ID"Respons batas laju pada pembuatan sesi langsung dicatat sebagai run session_rate_limited_error tanpa percobaan ulang; jadwal akan mencoba lagi pada kemunculan terjadwal berikutnya. Batas laju pada panggilan API yang mendasari di dalam sesi ditangani oleh sesi itu sendiri.
Jika agen dari sebuah deployment telah diarsipkan atau dihapus, deployment tersebut secara otomatis diarsipkan dalam operasi yang sama; tidak ada deployment run yang dicatat. Jika subagen yang direferensikan oleh agen telah diarsipkan, pemicu berikutnya mencatat run yang gagal dengan error.type: "agent_archived_error" dan deployment secara otomatis dijeda sehingga Anda dapat memperbarui agen dan melanjutkan. Error pembuatan sesi lain yang tidak dapat dipulihkan, seperti environment atau vault yang diarsipkan, berperilaku dengan cara yang sama: pemicu mencatat run yang gagal dan deployment secara otomatis dijeda. paused_reason.error.type pada deployment mencerminkan error.type dari run yang gagal.
Untuk menjalankan deployment di luar jadwalnya, panggil endpoint run. Ini akan langsung membuat sesi dan menulis deployment run dengan trigger_context.type: "manual". Ini memungkinkan Anda menguji deployment sebelum berkomitmen pada jadwal.
ant beta:deployments run --deployment-id "$DEPLOYMENT_ID"Was this page helpful?