To enable the Compliance API, see the setup guide.
Set up the Compliance API코드 Artifact 버전 콘텐츠 다운로드
Artifact 버전 하나의 콘텐츠를 Content-Length 없이 청크 단위로 응답 본문으로 스트리밍합니다. multi_file_format=zip을 사용하면, 파일이 두 개 이상인 버전은(Claude Doc(artifact_type이 claude_docs인 Artifact)의 버전 제외) 해당 파일들의 ZIP 아카이브로 반환됩니다.
헤더: Content-Type(ZIP 아카이브의 경우 application/zip, 그 외에는 저장된 MIME 유형), Content-Disposition: attachment; filename*=utf-8''<name>(RFC 5987), Cache-Control: no-store, private, 그리고 사용 가능한 경우 Content-MD5(base64). <name>은 콘텐츠와 관계없이 ZIP 아카이브의 경우 {artifact_id}-{version_id}.zip, 그 외에는 {artifact_id}-{version_id}.txt입니다. Content-MD5는 압축되지 않은 상태로 저장된 단일 파일에만 있으므로 ZIP 아카이브에는 절대 포함되지 않습니다. 헤더가 있으면 본문을 이 값과 대조하여 확인하세요.
이 다운로드에 해당하는 오류:
404: Artifact가 존재하지 않거나 API 키로 읽을 수 없거나, 해당 버전이 더 이상 보관되지 않습니다. 새 버전이 게시되면 이전 버전은 삭제되므로 Artifact의 버전 목록을 다시 조회하세요. 조직의 고객 관리형 암호화 키를 사용할 수 없는 경우에도 이 오류가 발생합니다. 키를 다시 사용할 수 있게 되면 재시도하세요.503: 예를 들어 업로드가 아직 진행 중이거나 중단되어 지금은 콘텐츠를 제공할 수 없습니다. 백오프를 적용하여 재시도하세요.error.details.error_code가multi_file_unavailable인422: 버전에 파일이 두 개 이상 있습니다.multi_file_format=zip을 추가하세요. 파일이 두 개 이상인 Claude Doc의 버전은 Doc을 표시하는 웹 페이지만 담고 있으므로 어느 경우든 이 오류가 발생합니다. Doc의 텍스트는GET /v1/compliance/apps/code/artifacts/{artifact_id}/content?multi_file_format=zip으로 다운로드하세요.file_set_unavailable인422: 요청에multi_file_format=zip이 설정되어 있고, 버전에 파일이 두 개 이상 있으며, 그중 하나의 경로를 API가 내보낼 수 없습니다. 재시도하지 마세요.
다운로드가 시작된 후 오류가 발생하면 200 상태가 이미 전송된 상태에서 본문이 조기에 중단됩니다. 예를 들어 압축 저장된 콘텐츠의 압축 해제 크기가 16 MiB를 초과하는 경우 이런 일이 발생합니다. Content-MD5가 없는 단일 파일의 경우 유일한 징후는 마지막 청크 전에 전송이 중단되는 것이므로, 이렇게 중단된 다운로드는 실패한 것으로 처리하세요.
버전 파일의 ZIP 아카이브에는 Artifact와 버전의 이름을 딴 최상위 폴더 하나가 있습니다. 이 폴더에는 files/ 폴더와 인덱스인 files.json이 들어 있습니다. 인덱스는 마지막에 기록되므로, 아카이브를 열 수 없거나 최상위 폴더에 files.json이 없으면 불완전한 아카이브로 처리하세요.
files.json에는 다음 필드가 있습니다:
artifact_id: 요청에 지정된 Artifact ID입니다.version_id: 요청에 지정된 버전 ID입니다.title: 아카이브에 있는 버전의 제목이며, 제목이 보관되지 않은 경우 해당 버전의 ID입니다.created_at: 버전이 게시된 시점(RFC 3339, UTC)이며, 알 수 없는 경우 null입니다.files:files/아래의 각 파일에 대한 항목으로,original_path(버전 내 파일 경로),exported_as(아카이브 내 경로),sha256(소문자 16진수),size_bytes(압축 전) 및mime_type을 포함합니다.exported_as는 최상위 폴더,files/,original_path순으로 구성됩니다. 모든 운영 체제에서 안전하게 저장하거나 열 수 없는 이름은 변경됩니다. 아카이브에서 파일을 찾을 때는original_path가 아닌exported_as를 사용하세요.omitted_files: 아카이브에서 제외된 파일로, 각각original_path,sha256,size_bytes및mime_type을 포함합니다. 여기에는 버전이 다른 Artifact에서 가져와 사용하는 파일이 포함됩니다. 또한 다른 조직이 해당 유형을 소유한 경우, Artifact가 만들어진 기반 Artifact 유형에서 복사된 파일(예: Artifact를 표시하는 앱)도 포함됩니다.
files와 omitted_files를 합쳐 최대 4,096개의 파일이 나열되며, size_bytes의 합계는 최대 1 GiB이고, 20 MiB를 초과하는 파일은 없습니다.
Path parameters
Query parameters
Headers
curl https://api.anthropic.com/v1/compliance/apps/code/artifacts/$ARTIFACT_ID/versions/$VERSION_ID \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"