이 페이지는 문서화된 각 Compliance API 엔드포인트가 반환하는 응답 메시지, 원인 및 해결 방법을 나열합니다.
Compliance API는 표준 Anthropic 오류 형식으로 오류를 반환합니다. 즉, 2xx가 아닌 상태 코드, request-id 응답 헤더, 그리고 type과 message를 포함하는 error 객체가 있는 JSON 본문입니다. 지원팀에 에스컬레이션할 때는 request-id 헤더 값을 포함하세요.
{
"error": {
"type": "authentication_error",
"message": "The API key provided is invalid or has been revoked."
}
}메시지 문자열이 아닌 error.type으로 매칭하세요. 메시지는 런북에 복사할 수 있을 만큼 안정적이지만 시간이 지나면서 문구가 변경될 수 있습니다. 반면 type 값은 API 계약의 일부입니다. 로컬 세션 엔드포인트에는 동일한 type을 공유하는 응답을 메시지로 구분하는 몇 가지 문서화된 예외가 있으며, 각 예외는 해당되는 곳에서 설명됩니다.
다음 표는 재시도 여부를 한눈에 알려줍니다. 이어지는 각 섹션에서는 오류 본문 원문과 해결 방법을 보여줍니다.
| 상태 | 재시도? | 시점 |
|---|---|---|
| 400 Bad Request | 아니요 | 요청을 수정하고 다시 보내세요. |
| 401 Unauthorized | 아니요 | 키를 수정하거나 교체한 다음 다시 보내세요. |
| 403 Forbidden | 아니요 | 누락된 스코프를 추가하거나 올바른 키 유형을 사용한 다음 다시 보내세요. |
| 404 Not Found | 일반적으로 아니요 | 리소스가 삭제되었거나 존재한 적이 없습니다. 큐에서 제거하세요. 예외: 아직 pending 상태인 원격 세션은 세션이 시작될 때까지 메시지 엔드포인트에서 404를 반환합니다. 원격 세션을 찾을 수 없음을 참조하세요. 로컬 세션 엔드포인트에서 Local sessions are not available. 메시지(목록을 포함한 모든 호출에서 반환됨)는 세션이 사라진 것이 아니라 현재 상위 조직에서 해당 엔드포인트를 사용할 수 없음을 의미합니다. 큐에 있는 ID를 유지하고 로컬 세션을 찾을 수 없음을 참조하세요. |
| 409 Conflict | 아니요 | 요청이 리소스의 현재 상태와 충돌합니다. 충돌을 해결한 다음(예: 하위 리소스 분리) 재시도하세요. |
| 429 Too Many Requests | 예, retry-after 이후 | retry-after에 지정된 초만큼 기다린 다음 재시도하세요. 커서를 진행하지 마세요. |
| 500 Internal Server Error | x-should-retry에 따라 다름 | 재시도하기 전에 x-should-retry 응답 헤더를 확인하세요. |
| 502, 503, 504, 529 | 예, 백오프와 함께 | 일시적입니다. 지수 백오프로 재시도하세요. 예외: 로컬 세션 503 중 하나는 데이터에 따라 달라지며 지속될 수 있습니다. 로컬 세션을 일시적으로 사용할 수 없음을 참조하세요. |
요청이 구문적으로는 유효했지만 서버가 거부한 매개변수를 포함했습니다. 매개변수를 수정하고 재시도하세요.
Type: invalid_request_error
The `created_at.gte` parameter contains an invalid timestamp format. Timestamps must be provided in RFC 3339 format e.g., "2024-03-01T00:00:00Z". Got "2024-01-01".원인: created_at.* 또는 updated_at.* 값(.gte, .gt, .lte, .lt)을 datetime으로 파싱할 수 없었습니다. 메시지는 실패한 매개변수의 이름을 지정하고 전송된 값을 그대로 표시합니다.
해결 방법: 시간과 시간대를 포함한 완전한 RFC 3339 타임스탬프를 보내세요. 예: 2024-03-01T00:00:00Z 또는 2024-03-01T00:00:00+00:00.
로컬 세션 목록(GET /v1/compliance/apps/sessions/local)은 두 시간 경계가 모두 제공되고 created_at.lt가 created_at.gte보다 엄격하게 이후가 아닌 경우에도 400 invalid_request_error를 반환합니다. 본문은 다음과 같습니다.
created_at.lt must be strictly after created_at.gte.created_at.gte보다 늦은 created_at.lt를 보내거나 경계 중 하나를 생략하세요.
Type: invalid_request_error
The limit parameter must be between 1 and 1000, inclusive. Got 1500.원인: limit 쿼리 매개변수가 허용 범위를 벗어났습니다. 메시지에 명시된 경계는 호출된 특정 엔드포인트의 최댓값을 반영합니다.
해결 방법: 엔드포인트가 허용하는 범위 내의 limit를 보내세요. 각 목록 엔드포인트에는 고유한 limit 범위가 있습니다. 해당 Compliance API 레퍼런스 페이지의 매개변수 제약 조건을 참조하세요.
세션 트랜스크립트 엔드포인트(GET /v1/compliance/apps/sessions/remote/{session_id}/messages 및 GET /v1/compliance/apps/sessions/local/{session_id}/messages)는 잘라내기 매개변수를 동일한 방식으로 검증합니다. tool_use_input_max_bytes와 tool_result_max_bytes는 각각 양의 바이트 수 또는 -1(서버 최댓값)을 허용하므로, 0과 같은 값은 동일한 400 invalid_request_error를 반환합니다.
Type: invalid_request_error
Invalid `after_id`. No activity found for `after_id` "activity_invalid123"원인: after_id 또는 before_id 커서를 불투명 커서로 디코딩하거나 활동 ID로 파싱할 수 없었습니다.
해결 방법: 페이지네이션 커서를 불투명 문자열로 취급하세요. 항상 이전 페이지에서 반환된 first_id 또는 last_id 값을 복사하고, has_more가 false이면 중지하세요. 객체 ID로 커서를 구성하지 마세요.
디렉터리, 프로젝트 및 세션 엔드포인트(조직, 사용자, 역할, 역할 권한, 그룹, 그룹 멤버, 프로젝트, 프로젝트 첨부 파일, 로컬 및 원격 세션, 세션 메시지)는 after_id와 before_id 대신 불투명 page 토큰으로 페이지네이션합니다. 동일한 조언이 적용됩니다. 이전 응답의 next_page 값을 변경하지 않고 전달하고, has_more가 false이면(또는 has_more를 반환하지 않는 세션 엔드포인트에서는 next_page가 null이면) 중지하세요. 잘못된 형식의 page 토큰은 잘못된 형식의 after_id 또는 before_id와 동일한 400 invalid_request_error를 반환합니다.
두 로컬 세션 엔드포인트(목록 및 메시지 엔드포인트)는 디코딩할 수 없는 모든 page 값에 대해 다음 400 invalid_request_error를 반환합니다. 예를 들어 저장 후 잘리거나 변경된 토큰, 또는 다른 엔드포인트나 다른 상위 조직에서 발급된 토큰이 이에 해당합니다. 로컬 세션 메시지 엔드포인트(GET /v1/compliance/apps/sessions/local/{session_id}/messages)에서는 각 page 커서가 발급된 세션 및 order에도 바인딩되므로, 다른 세션이나 정렬 순서에 대해 발급된 커서는 동일한 본문을 반환합니다.
The page parameter is not a valid cursor for this request.메시지 엔드포인트의 커서는 워크(페이지를 한 번 통과하는 과정)가 시작된 후 24시간이 지나면 만료됩니다. 만료된 커서는 다음을 반환합니다.
The page cursor has expired. Restart the walk without a page parameter; results will reflect the current retention boundary.첫 번째 본문의 경우, 이전 응답의 수정되지 않은 next_page 값을 해당 값을 발급한 엔드포인트와 세션으로 다시 보내세요. 만료된 커서의 경우, page 매개변수 없이 다시 시작하세요. 새 워크는 시작 시점에 적용되는 보존 경계를 반영하므로, 그 사이에 보존 기간이 지난 메시지는 더 이상 반환되지 않습니다(로컬 세션 트랜스크립트 조회 참조).
x-api-key 헤더가 누락되었거나 알려진 키와 일치하지 않았습니다. 잘못된 스코프를 가진 유효한 키는 대신 403 Forbidden을 반환합니다.
Type: authentication_error
The API key provided is invalid or has been revoked.원인: x-api-key의 키가 존재하지 않거나, 삭제되었거나, 비활성화되었습니다. 누락되거나 비어 있는 x-api-key 헤더도 동일한 본문을 반환하므로, 시크릿 저장소와 키의 폐기 상태를 모두 확인하세요.
해결 방법: 키 값을 확인하고, claude.ai(Compliance Access Keys) 또는 Claude Console(Admin API keys)에서 삭제되지 않았는지 확인하고, 활성화되어 있는지 확인하세요. Compliance API 설정을 참조하세요.
x-api-key의 키는 유효하지만 엔드포인트가 요구하는 스코프를 가지고 있지 않습니다. 원문 메시지는 키가 가진 스코프(Got:)와 엔드포인트가 요구하는 스코프(Needed:)를 나열하므로, Claude Console이나 claude.ai를 다시 확인하지 않고도 키가 가진 스코프를 확인할 수 있습니다. Compliance Access Key 스코프는 생성 후 변경할 수 없으므로, 각 스코프 부족 해결 방법은 기존 키를 편집하는 대신 새 키를 생성하도록 안내합니다.
Type: permission_error
Missing required scopes. Got: ['read:compliance_user_data'] Needed: ['read:compliance_activities']원인: read:compliance_activities가 없는 키로 GET /v1/compliance/activities를 호출했습니다. 이 오류가 발생하는 일반적인 경로는 두 가지입니다.
sk-ant-api01-...)가 read:compliance_activities 스코프 없이 생성되었습니다.sk-ant-admin01-...)가 생성되었습니다. Compliance API가 활성화되지 않은 상태에서 생성된 키는 해당 스코프를 가지지 않습니다. Compliance API 설정을 참조하세요.해결 방법: Compliance Access Key 스코프는 생성 후 변경할 수 없습니다. read:compliance_activities를 포함하는 새 키를 생성하거나 Claude Console Admin API 키를 사용하세요. Admin API 키가 이 스코프를 가지는 조건은 어떤 키가 필요한가요?를 참조하세요.
Type: permission_error
Missing required scopes. Got: ['read:compliance_user_data'] Needed: ['read:compliance_org_data']원인: read:compliance_org_data가 없는 키로 조직, 역할, 그룹 또는 유효 설정 엔드포인트를 호출했습니다. 이 오류가 발생하는 일반적인 경로는 두 가지입니다.
sk-ant-api01-...)가 read:compliance_org_data 스코프 없이 생성되었습니다.sk-ant-admin01-...)가 사용되었습니다. Admin API 키는 read:compliance_activities만 가지며 조직 메타데이터를 읽을 수 없습니다.해결 방법: read:compliance_org_data를 선택하여 새 Compliance Access Key를 생성하세요. Admin API 키는 조직 메타데이터를 읽을 수 없으므로 Compliance Access Key가 필요합니다.
Type: permission_error
Missing required scopes. Got: ['read:compliance_org_settings'] Needed: ['read:compliance_org_data']원인: read:compliance_org_settings 스코프는 2026년 6월 30일에 종료되었습니다. GET /v1/compliance/organizations/{organization_id}/settings는 이제 다른 조직 엔드포인트와 동일한 스코프인 read:compliance_org_data를 요구하며, 종료된 스코프는 더 이상 아무것도 승인하지 않습니다. read:compliance_org_settings만 가진 Compliance Access Key는 종료 이전에는 작동했더라도 설정 엔드포인트에 대한 모든 호출에서 이 오류를 반환합니다. 종료된 스코프는 키를 생성할 때 더 이상 선택하거나 부여할 수 없습니다.
해결 방법: Compliance Access Key 스코프는 생성 후 변경할 수 없습니다. read:compliance_org_data를 선택하여 새 Compliance Access Key를 생성하고, 통합을 업데이트하여 새 키를 사용한 다음, 이전 키를 삭제하세요. 이미 read:compliance_org_data를 가진 키는 종료의 영향을 받지 않습니다.
Type: permission_error
Missing required scopes. Got: ['read:compliance_activities'] Needed: ['read:compliance_user_data']원인: read:compliance_user_data가 없는 키로 채팅, 메시지, 파일, 프로젝트, 세션, 조직 사용자 또는 그룹 멤버 엔드포인트를 호출했습니다. 이 오류가 발생하는 일반적인 경로는 두 가지입니다.
sk-ant-api01-...)가 read:compliance_user_data 스코프 없이 생성되었습니다.sk-ant-admin01-...)가 사용되었습니다. Admin API 키는 read:compliance_activities만 가지며 read:compliance_user_data를 부여받을 수 없으므로, 채팅, 파일, 프로젝트, 프로젝트 첨부 파일, 세션, 사용자 또는 그룹 멤버 엔드포인트를 호출할 수 없습니다.해결 방법: claude.ai에서 read:compliance_user_data를 선택하여 생성한 Compliance Access Key를 사용하세요. 요청이 실제로 Activity Feed 전용이어야 하는 경우, Admin API 키를 대신 GET /v1/compliance/activities로 향하게 하세요.
Type: permission_error
Missing required scopes. Got: ['read:compliance_user_data'] Needed: ['delete:compliance_user_data']원인: delete:compliance_user_data가 없는 Compliance Access Key로 채팅, 파일 또는 프로젝트에 대한 DELETE 엔드포인트를 호출했습니다.
해결 방법: delete:compliance_user_data를 선택하여 새 Compliance Access Key를 생성하세요. 삭제 스코프는 읽기 전용 감사 키가 콘텐츠를 삭제할 수 없도록 read:compliance_user_data와 별개입니다.
엔드포인트는 확인되었지만 리소스 ID가 존재하지 않거나 이미 삭제되었습니다. Compliance API 삭제는 즉시 영구적으로 적용되므로, 이전에 알려진 ID에 대한 404는 일반적으로 콘텐츠가 Compliance API 삭제 호출을 통해 하드 삭제되었거나 보존 정책에 의해 제거되었음을 의미합니다. 한 가지 예외는 아직 pending 상태인 원격 세션으로, 세션이 시작될 때까지 메시지 엔드포인트가 일시적으로 404를 반환합니다. 원격 세션을 찾을 수 없음을 참조하세요. 각 해결 방법에서 인용된 활동 유형 문자열(예: claude_chat_created)은 Activity Feed activity_types[] 필터에 전달할 수 있는 값입니다. 지원되는 모든 값은 컴플라이언스 활동 쿼리를 참조하세요.
로컬 세션에는 pending 상태가 없으므로 Local session not found. 404는 절대 일시적이지 않습니다. 원인과 세션 ID에 의존하지 않으며 일시적일 수 있는 별도의 Local sessions are not available. 응답에 대해서는 로컬 세션을 찾을 수 없음을 참조하세요.
Type: not_found_error
Chat claude_chat_01H5CWunD7RpVJ5bHa8RCkja not found.원인: 경로의 채팅 ID가 Compliance API를 통해 읽을 수 있는 채팅과 일치하지 않습니다. 채팅이 이전 Compliance API 호출을 통해 하드 삭제되었거나 조직의 보존 정책에 의해 제거되었을 수 있으며, 또는 호출 키가 읽을 수 없는 조직에 속할 수 있습니다. 사용자가 claude.ai에서 소프트 삭제한 채팅은 404를 반환하지 않습니다. deleted_at이 채워진 상태로 계속 읽을 수 있습니다.
해결 방법: 최근 claude_chat_created 또는 claude_chat_viewed 활동과 채팅 ID를 대조하여 확인하세요. 활동이 최근이고 읽기가 여전히 실패하면, 채팅이 하드 삭제되었거나(이 API를 통해 또는 보존 정책 만료로) 키의 스코프 밖에 있는 조직에 속합니다.
Type: not_found_error
No file found with provided id, or it has already been deleted.원인: 파일 ID가 존재하지 않거나 삭제되었습니다. 이 오류는 채팅에 첨부된 파일(claude_file_...)과 프로젝트 파일 모두에 적용됩니다.
해결 방법: 최근 claude_file_uploaded 또는 claude_file_deleted 활동과 대조하세요. 파일이 삭제된 경우 바이너리는 사라졌지만, 활동 레코드는 6년 보존 기간 동안 피드에 남아 있습니다.
Type: not_found_error
No project is found with the provided id.원인: 프로젝트 ID가 존재하지 않거나 삭제되었습니다.
해결 방법: 최근 claude_project_created 또는 claude_project_deleted 활동과 대조하세요. Activity Feed는 프로젝트 자체가 사라진 후에도 프로젝트의 수명 주기 이벤트를 계속 노출합니다.
Type: not_found_error
No project document found with provided id, or it has already been deleted.원인: 프로젝트 문서 ID가 존재하지 않거나 삭제되었습니다. 이 오류는 프로젝트 파일이 아닌 텍스트 프로젝트 문서(claude_proj_doc_...)에 적용됩니다.
해결 방법: GET /v1/compliance/apps/projects/{project_id}/attachments를 사용하여 현재 첨부 파일을 나열하세요. 문서가 없으면 삭제된 것입니다. 메타데이터만 필요한 경우 claude_project_document_uploaded 활동 레코드를 통해 조회하세요.
Type: not_found_error
Remote session not found.원인: GET /v1/compliance/apps/sessions/remote/{session_id}/messages에 전달된 세션 ID가 Compliance API를 통해 읽을 수 있는 세션 트랜스크립트와 일치하지 않습니다. 이는 세션 ID(cse_...)가 존재하지 않거나 세션이 삭제된 경우, 세션이 키가 읽을 수 없는 조직에 속한 경우, 또는 세션의 status가 아직 pending인 경우에 발생합니다. pending 세션은 아직 트랜스크립트가 없으므로 세션이 시작될 때까지 메시지 엔드포인트가 404를 반환합니다. 올바른 형식의 cse_ 식별자가 아닌 세션 ID는 대신 400 Bad Request를 반환합니다.
해결 방법: GET /v1/compliance/apps/sessions/remote와 대조하여 세션 ID와 status를 확인하세요. 원격 세션 조회를 참조하세요. 세션이 pending이면 해당 상태를 벗어난 후 재시도하세요. 세션이 더 이상 목록에 나타나지 않으면 삭제된 것이며 트랜스크립트를 조회할 수 없습니다.
Type: not_found_error
Local session not found.원인: GET /v1/compliance/apps/sessions/local/{session_id} 또는 GET /v1/compliance/apps/sessions/local/{session_id}/messages에 전달된 세션 ID가 Compliance API를 통해 읽을 수 있는 로컬 세션과 일치하지 않습니다. 두 엔드포인트 모두 원인을 구분하지 않고 이 하나의 메시지를 반환합니다. 이는 ID가 키가 읽을 수 있는 조직의 세션이 아닌 경우(다른 상위 조직에 속한 ID 포함), 세션이 존재한 적이 없는 경우, 세션에 제로 데이터 보존이 적용되는 경우, 또는 세션의 모든 활동이 해당 세션을 실행한 조직에 적용되는 보존 기간을 지난 경우에 발생합니다. 원격 세션과 달리 로컬 세션에는 pending 상태가 없으므로 Local session not found. 응답에는 일시적인 형태가 없습니다. 올바른 형식의 clls_ 식별자가 아닌 세션 ID는 대신 400 Bad Request를 반환합니다.
목록 엔드포인트를 포함한 로컬 세션 엔드포인트는 엔드포인트 자체가 상위 조직에서 사용할 수 없는 동안 다른 404 메시지인 Local sessions are not available.를 반환합니다. 해당 응답은 세션 ID에 의존하지 않습니다. 고객 측의 키, 스코프 또는 설정으로 변경할 수 없으며 일시적일 수 있습니다. 두 응답 모두 not_found_error type을 가지므로, 메시지 텍스트로 구분합니다.
해결 방법: GET /v1/compliance/apps/sessions/local과 대조하여 세션 ID를 확인하세요. 로컬 세션 조회를 참조하세요. 세션이 더 이상 목록에 나타나지 않으면 콘텐츠가 보존 기간을 지났거나(또는 세션이 더 이상 키가 읽을 수 있는 조직에 있지 않음) 트랜스크립트를 조회할 수 없습니다. 큐에서 ID를 제거하세요. 목록을 포함한 모든 호출이 Local sessions are not available.를 반환하면, 큐에 있는 세션 ID를 유지하고 다음 예약된 실행에서 재시도하세요. 응답이 지속되면 Anthropic 담당자에게 문의하고 request-id 응답 헤더를 포함하세요.
Type: not_found_error
The "ce86b5f3-7c16-48b3-a9f3-e1d2c4b8a0f1" organization does not exist or the requester is not authorized to access it.조직, 역할 및 그룹 엔드포인트는 표준 오류 형식으로 404 not_found_error를 반환합니다. 조직 메시지는 org_uuid를 명시하고, 역할 및 그룹 메시지는 일반적입니다(Role not found., Group not found.). 이는 경로 ID(org_uuid, role_id 또는 group_id)가 존재하지 않거나 더 이상 호출 키가 읽을 수 있는 트리에 속하지 않을 때 발생합니다.
원인: 경로의 ID가 Compliance API를 통해 읽을 수 있는 레코드와 일치하지 않습니다. 역할과 그룹은 삭제될 수 있으며, 조직은 상위 트리에서 연결 해제될 수 있습니다.
해결 방법: 해당 목록 엔드포인트와 대조하여 ID를 확인하고, Activity Feed의 최근 조직, 역할 또는 그룹 활동과 대조하세요.
Type: not_found_error
organization `91012d09-e48b-438e-a489-1bebfd8fa6f9` not found in this organization's hierarchy원인: GET /v1/compliance/organizations/{organization_id}/settings는 조직의 존재 여부를 응답이 드러내지 않도록 의도적으로 동일한 본문을 공유하는 세 가지 경우에 이 404를 반환합니다. organization_id가 상위 조직의 연결된 조직 중 하나가 아닌 경우, 값이 유효한 UUID가 아닌 경우, 또는 설정 엔드포인트가 아직 상위 조직에 대해 활성화되지 않은 경우입니다.
해결 방법: 조직 목록과 대조하여 ID를 확인하세요. 알려진 올바른 조직 ID가 여전히 404를 반환하면 설정 엔드포인트가 아직 상위 조직에 대해 활성화되지 않은 것입니다. Anthropic 담당자에게 문의하세요.
요청이 올바른 형식이고 승인되었지만 리소스의 현재 상태와 충돌합니다.
Type: conflict_error
The "claude_proj_01KGp4eZNug9ri4kE35RSppq" project cannot be deleted as it has chats attached to it. Delete or detach all chats, and try deleting the project again.원인: 아직 채팅이 연결된 프로젝트에 대해 DELETE /v1/compliance/apps/projects/{project_id}가 호출되었습니다.
해결 방법: GET /v1/compliance/apps/chats?user_ids[]={user_id}&project_ids[]={project_id}로 프로젝트의 채팅을 나열하고(project_ids[] 필터는 최소 하나의 user_ids[] 값이 필요합니다. 조직 사용자 목록을 통해 ID를 열거하세요), DELETE /v1/compliance/apps/chats/{claude_chat_id}로 각각을 삭제한 다음, 프로젝트 삭제를 재시도하세요.
Compliance API에 대한 요청은 상위 조직당 분당 600개 요청으로 제한됩니다. 이 제한은 상위 조직 아래의 모든 키(Compliance Access Key 및 연결된 모든 조직의 Admin API 키)와 모든 /v1/compliance/* 엔드포인트에서 공유되는 하나의 예산입니다. 원격 세션 엔드포인트는 그 위에 두 번째 요청 예산을 추가로 가집니다. 상위 조직이 없는 독립형 Claude Console 조직의 경우, 동일한 예산이 조직 자체에 적용되며 해당 조직의 Admin API 키 간에 공유됩니다. 통합에 더 높은 제한이 필요한 경우 Anthropic 담당자에게 문의하세요.
API 키가 인증되면 Compliance API 응답은 표준 속도 제한 응답 헤더를 통해 공유 예산을 보고하므로, 클라이언트가 429를 기다리는 대신 사전에 스로틀링할 수 있습니다.
anthropic-ratelimit-requests-limit는 분당 요청 예산입니다.anthropic-ratelimit-requests-remaining은 현재 윈도우에 남은 예산입니다.anthropic-ratelimit-requests-reset은 윈도우가 재설정되고 전체 예산이 복원되는 RFC 3339 타임스탬프입니다.429 응답은 다음 요청을 보내기 전에 기다려야 하는 초 수가 포함된 retry-after 헤더도 전달합니다. 이 값은 anthropic-ratelimit-requests-reset을 넘어서는 약간의 안전 마진을 포함할 수 있습니다. retry-after를 준수하세요.
HTTP/1.1 429 Too Many Requests
date: Tue, 21 Apr 2026 14:38:02 GMT
retry-after: 25
anthropic-ratelimit-requests-limit: 600
anthropic-ratelimit-requests-remaining: 0
anthropic-ratelimit-requests-reset: 2026-04-21T14:38:25Z{
"error": {
"type": "rate_limit_error",
"message": "Compliance API rate limit of 600 requests per minute per parent organization has been exceeded. Retry after the time indicated by the retry-after header. Quote the request-id response header when contacting Anthropic support."
}
}원인: 상위 조직(또는 독립형 Claude Console 조직)이 예산을 공유하는 모든 키에 걸쳐 1분 윈도우 내에 /v1/compliance/*로 600개를 초과하는 요청을 보냈거나, 원격 세션 엔드포인트의 두 번째 요청 예산(이 섹션 뒷부분에서 설명)을 소진했습니다.
해결 방법: retry-after 헤더에 지정된 초 수만큼 기다린 다음 재시도하세요. 헤더가 없는 경우(예: 중간 장치에 의해 제거됨) 지수 백오프로 대체하세요(1초에서 시작하여 60초까지 두 배씩 증가). 429에서 페이지네이션 커서를 진행하지 마세요. 실패한 요청은 데이터를 반환하지 않았으므로 마지막 성공한 페이지의 커서가 여전히 올바릅니다.
인증에 실패한 요청(누락되거나 인식되지 않는 키, 또는 Compliance Access Key나 Admin API 키가 아닌 Claude API 키)은 속도 제한기 이전에 거부되며 할당량을 소비하지 않습니다. 엔드포인트의 필수 스코프가 없는 유효한 키는 403이 반환되기 전에 할당량 단위 하나를 소비합니다.
원격 세션 엔드포인트는 공유 제한 위에 상위 조직에 연결된 두 번째 요청 예산을 추가로 가집니다. 해당 예산에서 발생한 429는 항상 1인 retry-after 헤더를 전달합니다(실제 재설정 시간이 아닌 최소 대기 시간). 해당 응답의 anthropic-ratelimit-* 헤더는 이 예산이 아닌 공유 제한을 설명하므로, 429가 반복되면 지수적으로 백오프하세요. 로컬 세션 엔드포인트는 두 번째 예산이 없으며 공유 제한에만 계산됩니다.
Activity Feed를 일정에 따라 폴링하는 경우, 총 요청 속도(모든 키, 연결된 조직 및 동시 워커에 걸쳐)를 공유 제한 아래로 예산을 책정하세요. anthropic-ratelimit-requests-remaining을 관찰하여 제한에 도달하기 전에 속도를 늦추세요. 윈도우 폴링과 커서 기반 수집 중 선택에 대해서는 컴플라이언스 통합 설계를 참조하세요.
Compliance API의 500은 실패가 결정적일 때 x-should-retry: false 응답 헤더를 전달합니다. Anthropic SDK는 이 헤더를 자동으로 준수합니다. 모든 5xx에서 재시도하는 일반 HTTP 재시도 라이브러리를 사용하는 경우, x-should-retry가 false일 때 재시도를 억제하세요. 이 오류를 재시도하면 모든 시도에서 동일하게 실패합니다.
x-should-retry: false 헤더가 없는 500은 일시적입니다. 지수 백오프로 재시도하세요(1초에서 시작하여 60초까지 두 배씩 증가). 502, 503, 504 및 529 응답에도 동일하게 적용됩니다. 다음에 설명하는 로컬 세션 503 하나는 일시적이 아니라 데이터에 따라 달라집니다. 플랫폼 전체 재시도 의미 체계는 오류를 참조하세요.
Type: overloaded_error
The local-sessions index is temporarily unavailable. Try again shortly.Captured content is temporarily unavailable. Try again shortly.The local-sessions index cannot currently evaluate retention overrides for this page. Try again later.원인: 로컬 세션 엔드포인트는 이러한 본문 중 하나와 함께 503을 반환합니다. 처음 두 개는 세션 목록 또는 세션의 캡처된 콘텐츠를 잠시 사용할 수 없음을 의미합니다. 이는 부하 또는 백엔드와 관련된 일시적인 상태입니다. 세 번째 본문(조회 및 메시지 엔드포인트에서는 for this page 대신 for this session으로 표시됨)은 요청된 범위의 하나 이상의 세션에 적용되는 보존 또는 데이터 처리 설정을 아직 평가할 수 없음을 의미합니다. 이는 부하가 아니라 세션을 실행한 조직의 데이터 및 설정에 따라 달라지며, 장기간 지속될 수 있습니다. 세 본문 모두 overloaded_error type을 공유하므로, 이는 이 페이지에서 error.type이 아닌 메시지 텍스트가 서로 다른 처리가 필요한 상태를 구분하는 몇 안 되는 경우 중 하나입니다.
해결 방법: 두 개의 Try again shortly. 본문의 경우, 지수 백오프로 재시도하고 page 커서를 진행하지 마세요. 실패한 요청은 데이터를 반환하지 않았기 때문입니다. Try again later. 본문의 경우, 해결될 때까지 워크를 열어 두고 기다리지 마세요. 목록 엔드포인트에서는 page 매개변수 없이 다시 시작하여 나중에 재시도하거나(24시간이 지난 목록 페이지 토큰은 여전히 허용되지만 현재 보존 경계에 대해 재평가되므로 보류된 워크는 세션을 건너뛸 수 있음), 요청이 성공할 때까지 created_at.gte 및 created_at.lt 윈도우를 좁히고 건너뛴 범위를 나중 실행에서 별도로 내보내세요. 조회 및 메시지 엔드포인트에서는 해당 세션 ID를 건너뛰고 나머지 내보내기를 계속한 다음, 나중 실행에서 세션을 재시도하세요. 메시지 페이지 커서는 워크의 첫 페이지 이후 24시간이 지나면 만료되므로, 해당 세션으로 돌아올 때 page 없이 세션의 워크를 다시 시작하세요. 상태가 여러 실행에 걸쳐 반복되면 Anthropic 담당자에게 문의하고 request-id 응답 헤더를 포함하세요.
서비스 전체 인시던트의 경우 status.anthropic.com을 확인하세요.
액세스, 스코프, 보존 및 통합에 대한 일반적인 질문입니다.
플랫폼 전체 오류 카탈로그 및 재시도 의미 체계입니다.
Was this page helpful?