이 페이지의 엔드포인트는 claude.ai 콘텐츠를 조회하고 삭제하며, 이는 Claude Enterprise 플랜을 사용하는 조직에서만 사용할 수 있습니다. Compliance API는 요청 시 활성화됩니다. Compliance API 액세스 권한 얻기를 참조하세요.
필수 스코프: Compliance Access Key의 read:compliance_user_data. 삭제 엔드포인트는 추가로 delete:compliance_user_data가 필요합니다.
사전 요구 사항: 채팅을 나열하려면 조직 사용자 나열에서 가져온 사용자 ID가 하나 이상 필요합니다. 이 페이지의 다른 엔드포인트는 리소스 ID를 직접 받습니다.
이 페이지의 엔드포인트는 claude.ai 채팅 콘텐츠, 파일 업로드, 프로젝트 및 프로젝트 첨부 파일을 컴플라이언스 검토자에게 노출합니다. 이 엔드포인트는 "eDiscovery"(전자 증거 개시) 내보내기, "data loss prevention"(데이터 손실 방지), 즉 DLP 시행 및 계정 삭제 요청 대응을 지원합니다. 콘텐츠는 조직의 보존 정책이 허용하는 기간 동안 보존됩니다. 사용자가 claude.ai에서 소프트 삭제한 채팅은 deleted_at이 채워진 상태로 Compliance API를 통해 계속 표시됩니다. 하드 삭제된 채팅(Compliance API 자체를 통해 삭제되었거나 조직의 보존 기간이 만료된 후 삭제된 채팅)은 조회할 수 없습니다.
두 스코프 모두 claude.ai에서 생성된 Compliance Access Key(sk-ant-api01-...)에만 부여됩니다. 키를 프로비저닝하려면 Compliance API 액세스 권한 얻기를 참조하세요. read:compliance_user_data 스코프는 조회를 담당하며, delete:compliance_user_data는 삭제 엔드포인트에만 필요합니다. 채팅, 파일, 프로젝트 및 첨부 파일 엔드포인트는 Admin API 키(sk-ant-admin01-...)로는 사용할 수 없습니다. Admin API 키로 인증된 호출은 403 Forbidden을 반환합니다.
이 페이지의 엔드포인트는 두 가지 방식으로 페이지네이션을 수행합니다. 전체 참조는 결과 페이지네이션을 참조하세요. 각 섹션에서 어떤 방식이 적용되는지 명시합니다.
채팅 나열을 사용하여 채팅 메타데이터를 페이지 단위로 조회한 다음, 채팅 메시지 가져오기를 사용하여 한 채팅의 전체 메시지 콘텐츠를 가져옵니다.
채팅 나열 엔드포인트는 하나 이상의 user_ids[] 값이 필요하며(한 요청에 최대 10개까지 허용), 따라서 먼저 조직 사용자 나열로 사용자 ID를 열거한 다음 각 사용자 또는 각 사용자 배치에 대해 채팅을 나열하세요. 다음 요청은 특정 날짜 이후 특정 사용자가 소유한 채팅을 나열합니다.
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/apps/chats" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--data-urlencode "user_ids[]=user_01XyDMpzjS89pFZXqSFUBDr6" \
--data-urlencode "organization_ids[]=91012d09-e48b-438e-a489-1bebfd8fa6f9" \
--data-urlencode "created_at.gte=2025-06-01T00:00:00Z" \
--data-urlencode "limit=100"{
"data": [
{
"id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
"name": "Product Requirements Discussion",
"created_at": "2026-04-10T08:09:10Z",
"updated_at": "2026-04-10T09:10:11Z",
"deleted_at": null,
"href": "https://claude.ai/chat/abcdef01-2345-6789-abcd-ef0123456789",
"model": "claude-opus-4-8",
"organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
"project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq",
"user": {
"id": "user_01XyDMpzjS89pFZXqSFUBDr6",
"email_address": "[email protected]"
}
}
],
"has_more": true,
"first_id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
"last_id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja"
}채팅 나열은 메타데이터만 반환합니다. 전체 필터 목록은 채팅 나열을 참조하세요. 필수 user_ids[] 외에도 updated_at.* 범위는 이전 내보내기 이후 변경된 채팅을 증분 검토하는 데 유용합니다.
채팅 결과는 created_at 오름차순(가장 오래된 것부터)으로 정렬되며, 동일한 값은 id로 구분됩니다. 페이지네이션은 결과 페이지네이션과 동일한 first_id/last_id/has_more 커서 필드를 사용합니다. last_id를 after_id로 전달하여 더 최신 채팅으로 앞으로 이동하거나, first_id를 before_id로 전달하여 더 오래된 채팅으로 뒤로 이동하세요.
실제 채팅 콘텐츠, 첨부 파일 및 인라인 아티팩트(Claude가 채팅 내에서 생성하는 구조화된 문서)를 가져오려면 각 채팅 ID에 대해 메시지 엔드포인트를 후속 호출하세요.
chat_id="claude_chat_01H5CWunD7RpVJ5bHa8RCkja"
curl --fail-with-body -sS \
"https://api.anthropic.com/v1/compliance/apps/chats/$chat_id/messages" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"메시지 엔드포인트는 채팅의 메타데이터와 함께 created_at 기준으로 정렬된 chat_messages 배열을 반환합니다. limit을 생략하면 전체 메시지 세트가 하나의 응답으로 반환됩니다. 매우 긴 채팅을 페이지 단위로 조회하려면 limit, after_id 또는 before_id를 전달하세요. 이 엔드포인트는 created_at.* 및 updated_at.* 범위 경계(gt, gte, lt, lte)와 order 매개변수(asc 또는 desc)도 허용합니다. 전체 매개변수 목록은 채팅 메시지 가져오기를 참조하세요. 사용자 메시지의 경우 created_at은 메시지가 전송된 시점이며, 어시스턴트 메시지의 경우 Claude가 메시지 생성을 완료한 시점입니다. 각 메시지는 텍스트 콘텐츠와 함께, 존재하는 경우 업로드된 파일(일반적으로 사용자 메시지에 있음), 도구로 생성된 파일, 어시스턴트가 생성하거나 업데이트한 아티팩트(일반적으로 어시스턴트 메시지에 있음)를 포함합니다.
{
"id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
"name": "Product Requirements Discussion",
"created_at": "2026-04-10T08:09:10Z",
"updated_at": "2026-04-10T09:10:11Z",
"deleted_at": null,
"href": "https://claude.ai/chat/abcdef01-2345-6789-abcd-ef0123456789",
"model": "claude-opus-4-8",
"organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
"project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq",
"user": {
"id": "user_01XyDMpzjS89pFZXqSFUBDr6",
"email_address": "[email protected]"
},
"chat_messages": [
{
"id": "claude_chat_msg_01VnBPkLmtj7YdW5QrXKEA8c",
"role": "user",
"created_at": "2026-04-10T08:09:10Z",
"content": [
{
"type": "text",
"text": "Can you help me draft requirements for our new dashboard feature?"
}
],
"files": [
{
"id": "claude_file_01UaT9wBcDfGhJkLmNpQrSv7",
"filename": "dashboard_mockup_v1.pdf",
"mime_type": "application/pdf"
}
]
},
{
"id": "claude_chat_msg_01M8tFcHwbQ2kY6NpEjRZv4D",
"role": "assistant",
"created_at": "2026-04-10T08:09:11Z",
"content": [
{
"type": "text",
"text": "I'd be happy to help you draft requirements for your dashboard feature..."
}
],
"generated_files": [
{
"id": "claude_gen_file_01TbR8wAcCeFhJkLnPqStUvX",
"filename": "requirements_summary.csv",
"mime_type": "text/csv"
}
],
"artifacts": [
{
"id": "claude_artifact_01HqRsTuVwXyZa2BcDeFgH4J",
"version_id": "claude_artifact_version_01KmNpQrSt3UvWxYz5AbCdEfG",
"title": "Dashboard Requirements Draft",
"artifact_type": "text/markdown"
}
]
}
],
"has_more": false,
"first_id": "eyJtc2dfdXVpZCI6ICIwZjcwYjA2Ni0uLi4ifQ==",
"last_id": "eyJtc2dfdXVpZCI6ICJhNGUwYjE3Mi0uLi4ifQ=="
}files, generated_files, artifacts는 각각 특정 메시지에서 null일 수 있습니다. files는 사용자가 메시지에 첨부한 바이너리 업로드(PDF, 이미지, 스프레드시트)입니다. generated_files는 어시스턴트가 도구 사용을 통해 대화 중에 생성한 바이너리 파일(예: PDF, 스프레드시트 또는 슬라이드 덱)입니다. artifacts는 어시스턴트가 응답에서 생성하거나 업데이트한 버전 관리 문서(예: 코드 또는 마크다운)입니다. 아티팩트는 동일한 채팅 내 여러 어시스턴트 턴에 걸쳐 수정될 수 있으며, 각 수정본은 동일한 아티팩트 id 아래 새로운 version_id로 나타납니다. 각 항목의 id(아티팩트의 경우 version_id)를 파일 및 아티팩트 조회의 해당 콘텐츠 엔드포인트에 전달하여 다운로드하세요.
파일과 아티팩트는 독립적으로 나열되지 않고 ID로 다운로드됩니다. ID는 채팅 및 메시지 조회의 채팅 메시지 엔드포인트(각 메시지의 files, generated_files, artifacts 배열)에서 가져오거나, 프로젝트 수준 업로드의 경우 프로젝트 첨부 파일 엔드포인트에서 가져옵니다.
ID 유형과 필요한 데이터에 맞는 엔드포인트를 선택하세요. 동일한 파일 콘텐츠 엔드포인트가 채팅 파일과 프로젝트 파일을 모두 제공합니다.
| 보유한 항목 | 원하는 항목 | 사용할 엔드포인트 |
|---|---|---|
claude_file_* ID | 파일의 바이너리 콘텐츠 | 파일 콘텐츠 다운로드 |
claude_file_* ID | 파일의 메타데이터만 | 파일 메타데이터 가져오기 |
claude_gen_file_* ID | 도구로 생성된 파일의 바이너리 콘텐츠 | Claude 생성 파일 다운로드 |
claude_gen_file_* ID | 도구로 생성된 파일의 메타데이터만 | 생성된 파일 메타데이터 가져오기 |
claude_artifact_version_* ID | 한 아티팩트 버전의 텍스트 | 아티팩트 콘텐츠 다운로드 |
claude_artifact_version_* ID | 아티팩트 버전의 메타데이터만 | 아티팩트 메타데이터 가져오기 |
claude_proj_doc_* ID | 프로젝트 문서의 일반 텍스트 콘텐츠 | 프로젝트 문서 콘텐츠 가져오기 |
claude_proj_doc_* ID | 프로젝트 문서의 메타데이터만 | 프로젝트 문서 메타데이터 가져오기 |
파일 콘텐츠 엔드포인트는 원본 업로드를 다음 헤더와 함께 청크 바이너리 응답으로 스트리밍합니다.
Content-Disposition: attachment; filename*=utf-8''<percent-encoded filename>은 원본 업로드 파일 이름을 RFC 5987 확장 형식으로 전달합니다. 확장 형식은 비 ASCII 파일 이름뿐만 아니라 모든 파일 이름에 사용됩니다.Content-Type은 업로드의 MIME 타입을 전달합니다.Content-MD5는 RFC 1864에 명시된 대로 base64로 인코딩된 파일의 MD5 다이제스트를 전달합니다.Transfer-Encoding: chunked는 항상 설정됩니다.file_id="claude_file_01UaT9wBcDfGhJkLmNpQrSv7"
curl --fail-with-body -sS -OJ \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
"https://api.anthropic.com/v1/compliance/apps/chats/files/$file_id/content"-OJ 플래그는 curl이 Content-Disposition의 파일 이름(사용자가 업로드한 원본 파일 이름)으로 응답을 저장하도록 지시합니다.
아티팩트 콘텐츠 엔드포인트는 한 아티팩트 버전의 텍스트 본문을 반환합니다. 아티팩트의 고정 id가 아니라 어시스턴트 메시지의 artifacts 배열에 있는 항목 중 하나의 version_id를 전달하세요. 아티팩트의 각 새 버전은 고유한 version_id를 가지며, Compliance API는 해당 버전의 정확한 바이트를 제공합니다.
프로젝트는 관련 채팅을 사용자 지정 지침, 지식 베이스 콘텐츠, 첨부된 파일 또는 텍스트 문서와 함께 묶습니다. Compliance API는 프로젝트 메타데이터, 프로젝트 세부 정보 및 프로젝트에 속한 첨부 파일 목록을 노출합니다.
프로젝트 결과는 생성 날짜 오름차순으로 정렬됩니다. 첨부 파일 결과는 created_at 오름차순으로 정렬되며, 동일한 값은 id로 구분됩니다. 프로젝트 나열 및 첨부 파일 나열 응답은 채팅 및 Activity Feed에서 사용하는 first_id/last_id 커서 대신 불투명한 next_page 페이지 토큰으로 페이지네이션합니다. 다음 요청에서 이 토큰을 page 쿼리 매개변수로 다시 전달하세요.
프로젝트 첨부 파일은 각 항목의 type 구분자로 식별되는 두 가지 서로 다른 형태 중 하나입니다.
type이 project_file인 항목은 ID가 claude_file_로 시작하는 바이너리 업로드(PDF, 이미지, 스프레드시트)이며, 파일 콘텐츠 다운로드로 다운로드하세요. type이 project_doc인 항목은 ID가 claude_proj_doc_로 시작하는 일반 텍스트 문서(항상 text/plain)이며, 프로젝트 문서 콘텐츠 가져오기로 가져오세요.
첨부 파일 목록을 순회하는 소비자는 type에 따라 분기하여 각 항목에 맞는 콘텐츠 엔드포인트를 호출해야 합니다. 다음 요청은 첨부 파일 한 페이지를 나열합니다. has_more가 false가 될 때까지 next_page를 page 매개변수로 다시 전달하여 페이지네이션하세요.
project_id="claude_proj_01KGp4eZNug9ri4kE35RSppq"
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/apps/projects/$project_id/attachments" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"{
"data": [
{
"id": "claude_file_01UaT9wBcDfGhJkLmNpQrSv7",
"created_at": "2026-04-10T08:09:10Z",
"filename": "dashboard_mockup_v1.pdf",
"mime_type": "application/pdf",
"type": "project_file"
},
{
"id": "claude_proj_doc_01YnT8sBcWvUtXzQpMkRfDgH",
"created_at": "2026-04-10T08:09:11Z",
"filename": "requirements.md",
"mime_type": "text/plain",
"type": "project_doc"
}
],
"has_more": false,
"next_page": null
}성공한 모든 삭제는 영구적이며 즉시 적용됩니다. 복구 기간이 없습니다.
Compliance API는 채팅, 파일, 프로젝트 문서 및 전체 프로젝트에 대한 하드 삭제 엔드포인트를 노출합니다. 하드 삭제된 채팅은 복원할 수 없으며, 이후 나열 응답에 더 이상 나타나지 않습니다(반면 claude.ai에서 소프트 삭제된 채팅은 deleted_at이 채워진 상태로 계속 나타납니다).
네 엔드포인트 모두 delete:compliance_user_data 스코프가 필요하며, 이 스코프는 Compliance Access Key 생성 시 읽기 스코프와 별도로 부여됩니다.
다음 요청은 하나의 채팅을 삭제합니다. 다른 삭제 엔드포인트에도 동일한 패턴이 적용되며, URL만 변경됩니다.
# 경고: 이 작업은 채팅과 그 안의 모든 메시지 및 첨부된 파일을 영구적으로 삭제합니다.
# 삭제는 즉시 실행되며 되돌릴 수 없습니다. 이 작업에는
# `delete:compliance_user_data` 스코프가 필요하며, 이는 Compliance Access Key 생성 시
# `read:compliance_user_data` 와 별도로 부여됩니다.
# 실행하기 전에 명시적인 권한이 있는지 반드시 확인하세요.
chat_id="claude_chat_01H5CWunD7RpVJ5bHa8RCkja"
curl --fail-with-body -sS -X DELETE \
"https://api.anthropic.com/v1/compliance/apps/chats/$chat_id" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"{
"id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
"type": "claude_chat_deleted"
}성공한 각 삭제는 id와 type 구분자가 포함된 작은 확인 엔벨로프를 반환합니다. 채팅 엔드포인트는 claude_chat_deleted를 반환합니다. 삭제가 확인된 것으로 처리하기 전에 type 필드를 확인하세요. 다른 엔드포인트가 반환하는 정확한 type 값은 각 삭제 엔드포인트의 API 참조 페이지에 있는 응답 스키마를 참조하세요.
채팅이 하나라도 연결되어 있는 동안에는 프로젝트를 삭제할 수 없습니다. API는 다음 본문과 함께 409를 반환합니다.
{
"error": {
"type": "conflict_error",
"message": "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."
}
}이를 해결하려면 GET /v1/compliance/apps/chats?user_ids[]={user_id}&project_ids[]={project_id}로 프로젝트의 채팅을 나열하고(채팅 나열 엔드포인트는 하나 이상의 user_ids[] 값이 필요하므로 조직 사용자 나열을 통해 ID를 열거하세요), 각 채팅을 DELETE /v1/compliance/apps/chats/{claude_chat_id}로 삭제하거나(또는 claude.ai에서 프로젝트 밖으로 이동), 그런 다음 프로젝트 삭제를 다시 시도하세요.
모든 채팅, 파일, 프로젝트 및 아티팩트 엔드포인트의 전체 요청 및 응답 스키마입니다.
이 페이지의 채팅 및 프로젝트와 연결된 사람과 팀을 열거합니다.
Was this page helpful?