이것은 실험적 API입니다. 요청 및 응답 형태, 속도 제한, 토큰 의미 체계는 변경될 수 있습니다. 호환성이 깨지는 변경 사항은 날짜가 지정된 새로운 베타 헤더 버전 뒤에 배포되며, 이전 두 개의 헤더 버전은 호출자가 마이그레이션할 시간을 가질 수 있도록 계속 작동합니다.
Claude Code는 Anthropic의 에이전틱 코딩 도구입니다. Claude Code on the web은 claude.ai/code에서 Anthropic이 관리하는 클라우드 인프라에서 Claude Code 세션을 실행하며, 루틴은 그곳에 저장된 구성입니다. 즉, 프롬프트, 하나 이상의 리포지토리, 커넥터를 패키징하여 일정에 따라, GitHub 이벤트에 대한 응답으로, 또는 HTTP를 통해 호출될 때 무인으로 실행할 수 있도록 한 것입니다.
이 엔드포인트는 HTTP 진입점입니다. 여기에 POST 요청을 보내면 기존 루틴의 새 실행이 시작되고 결과 세션 ID와 URL이 반환됩니다. 일반적인 호출자는 알림 시스템, CI 파이프라인, 그리고 Claude Code 세션을 프로그래밍 방식으로 시작해야 하는 내부 도구입니다.
이 엔드포인트를 호출하려면 Claude Code on the web이 활성화된 Pro, Max, Team 또는 Enterprise 플랜의 claude.ai 계정이 필요합니다. Claude API 키가 아닌 Claude Code 웹 UI에서 생성한 루틴별 베어러 토큰으로 인증하세요.
루틴 실행 엔드포인트는 Claude Code 제품 영역에 속하며, 이는 Claude Platform API 및 SDK와 몇 가지 면에서 다릅니다.
| 측면 | 이 엔드포인트 | Claude Platform API |
|---|---|---|
| 인증 | claude.ai/code/routines에서 생성한 루틴별 토큰(sk-ant-oat01-...)을 사용한 Authorization: Bearer | Claude Console의 Claude API 키를 사용한 x-api-key |
| 토큰 범위 | 하나의 루틴만 해당, 읽기 액세스 없음 | 워크스페이스 수준 |
| SDK 지원 | 없음 | 모든 클라이언트 SDK에서 사용 가능 |
| 과금 | claude.ai의 Claude Code 구독 사용량 | Claude Platform 사용량 |
| 경로 네임스페이스 | /v1/claude_code/... | /v1/... |
| 안정성 | 실험적, anthropic-beta: experimental-cc-routine-2026-04-01 필요 | 안정 또는 표준 베타 |
이 엔드포인트를 호출하려면 다음이 필요합니다.
전체 설정 과정은 Claude Code 문서의 API 트리거 추가하기를 참조하세요.
POST https://api.anthropic.com/v1/claude_code/routines/{routine_id}/fire모든 요청에는 anthropic-beta: experimental-cc-routine-2026-04-01 헤더가 포함되어야 합니다. 이 헤더가 없는 요청은 400 invalid_request_error를 반환합니다.
API 트리거를 추가할 때 Claude Code 웹 UI는 토큰과 함께 전체 URL을 제공하므로, 대부분의 통합에서는 둘 다 시크릿으로 저장하고 엔드포인트를 직접 호출합니다. 아래 예제는 셸 호출과 CI 실패 시 루틴을 트리거하는 GitHub Actions 단계를 보여줍니다.
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\"}"요청은 세션이 생성되면 반환됩니다. 세션 출력을 스트리밍하거나 세션이 완료될 때까지 기다리지 않습니다.
| 이름 | 필수 | 설명 |
|---|---|---|
Authorization | 예 | Bearer <token>. Claude Code 웹 UI에서 생성한 루틴별 토큰으로, sk-ant-oat01- 접두사가 붙습니다. |
anthropic-beta | 예 | experimental-cc-routine-2026-04-01을 포함해야 합니다. |
anthropic-version | 예 | API 버전, 예: 2023-06-01. |
Content-Type | 본문이 있는 경우 | application/json. |
| 이름 | 타입 | 설명 |
|---|---|---|
routine_id | string | 루틴의 식별자입니다. 매개변수 이름과 달리 값은 routine_이 아닌 trig_ 접두사가 붙습니다. API 트리거를 추가할 때 모달에 표시되는 URL에 포함되어 있습니다. |
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
text | string | 아니요 | 이 실행에 대한 초기 컨텍스트로, 알림 본문, 실패한 로그 라인, git diff 등이 해당됩니다. 값은 자유 형식 텍스트이며 파싱되지 않습니다. JSON 또는 기타 구조화된 페이로드를 보내면 루틴은 이를 리터럴 문자열로 받습니다. 저장된 프롬프트와 함께 루틴에 전달됩니다. 최대 65,536자입니다. |
본문은 선택 사항입니다. 본문의 알 수 없는 필드는 무시됩니다.
성공적인 요청은 새 세션 세부 정보와 함께 200 OK를 반환합니다.
{
"type": "routine_fire",
"claude_code_session_id": "session_01HJKLMNOPQRSTUVWXYZ",
"claude_code_session_url": "https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ"
}| 필드 | 타입 | 설명 |
|---|---|---|
type | string | 항상 routine_fire입니다. |
claude_code_session_id | string | 이 실행을 위해 생성된 Claude Code 세션의 ID입니다. |
claude_code_session_url | string | claude.ai의 세션 링크입니다. 브라우저에서 열어 실행을 확인하거나, 변경 사항을 검토하거나, 대화를 계속할 수 있습니다. |
오류는 표준 Anthropic 오류 엔벨로프를 사용합니다.
{
"type": "error",
"error": {
"type": "not_found_error",
"message": "<string>"
}
}| HTTP 상태 | 오류 타입 | 원인 |
|---|---|---|
| 400 | invalid_request_error | anthropic-beta 헤더가 없거나 유효하지 않음, text가 65,536자를 초과함, 또는 루틴이 일시 중지됨. |
| 401 | authentication_error | Authorization 헤더에 베어러 토큰이 없거나, 토큰이 이 루틴과 일치하지 않습니다. |
| 403 | permission_error | 계정 또는 조직이 이 엔드포인트에 대한 액세스 권한이 없습니다. |
| 404 | not_found_error | 루틴이 존재하지 않습니다. |
| 429 | rate_limit_error | 계정의 루틴 실행 한도 또는 사용량 한도에 도달했습니다. 응답에는 윈도우가 재설정되는 시점을 나타내는 Retry-After 헤더가 포함됩니다. |
| 500 | api_error | 예기치 않은 서버 오류입니다. |
| 503 | overloaded_error | 서비스가 일시적으로 과부하 상태입니다. 잠시 후 다시 시도하세요. Claude Platform은 이 오류 타입에 대해 529를 반환하지만, 이 엔드포인트는 503을 반환합니다. |
베어러 토큰은 단일 루틴으로 범위가 제한됩니다. 토큰이 유출되더라도 해당 루틴만 트리거할 수 있으며, 읽기 액세스, 다른 루틴에 대한 액세스, 계정 데이터에 대한 액세스는 부여되지 않습니다.
claude.ai/code/routines의 루틴 API 트리거 설정에서 토큰을 생성하고 폐기하세요. 토큰 관리를 위한 공개 API는 없습니다. 새 토큰을 생성하면 이전 토큰이 폐기됩니다.
성공적인 각 요청은 새 세션을 생성합니다. 멱등성 키는 없습니다. 웹훅 호출자가 재시도하면 엔드포인트는 여러 세션을 생성합니다.
루틴 실행은 플랜에 따라 달라지는 계정별 일일 허용량에 포함되며, 결과 세션은 대화형 세션과 동일한 Claude Code 구독 사용량을 차감합니다. 두 한도 중 하나에 도달하면 엔드포인트는 Retry-After 헤더와 함께 429 rate_limit_error를 반환합니다. 추가 사용량이 활성화된 조직은 포함된 허용량을 초과하여 종량제 초과 사용으로 계속 진행합니다.
남은 일일 실행 횟수는 claude.ai/code/routines에 표시됩니다. 루틴 사용량이 구독 한도 및 추가 사용량 과금과 어떻게 상호작용하는지에 대해서는 Claude Code 문서의 사용량 및 한도를 참조하세요.
이 엔드포인트는 Anthropic SDK에 포함되어 있지 않습니다. 토큰 모델이 API 키 인증과 다르며, CI 작업 및 알림 웹훅과 같은 일반적인 호출자는 요청을 직접 전송합니다.
Was this page helpful?