Claude Platform Docs

To enable the Compliance API, see the setup guide.

Set up the Compliance API

코드 Artifact 버전 콘텐츠 다운로드

GET/v1/compliance/apps/code/artifacts/{artifact_id}/versions/{version_id}

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
artifact_id: string

The Artifact ID (tagged ID, e.g., cart_abc123)

version_id: string

Opaque version identifier from the Artifact's versions list

Query parameters
multi_file_format: optional string

Set to zip, its only value, to receive a version that has more than one file as a ZIP archive of its files with an index, files.json. A version with one file is returned as that file. A Claude Doc's version never comes back as a ZIP.

Headers
"anthropic-version": optional string

The version of the Claude API you want to use.

Read more about versioning and our version history here.

"x-api-key": optional string
코드 Artifact 버전 콘텐츠 다운로드
cURL
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"