Claude Platform Docs

To enable the Compliance API, see the setup guide.

Set up the Compliance API

Baixar Conteúdo de Versão de Artifact de Código

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

Transmite o conteúdo de uma versão de um Artifact como o corpo da resposta, em partes, sem Content-Length. Com multi_file_format=zip, uma versão com mais de um arquivo, exceto a de um Claude Doc (um Artifact cujo artifact_type é claude_docs), é retornada como um arquivo ZIP com seus arquivos.

Cabeçalhos: Content-Type (application/zip para um arquivo ZIP; caso contrário, o tipo MIME armazenado), Content-Disposition: attachment; filename*=utf-8''<name> (RFC 5987), Cache-Control: no-store, private e, quando disponível, Content-MD5 (base64). <name> é {artifact_id}-{version_id}.zip para um arquivo ZIP; caso contrário, {artifact_id}-{version_id}.txt, seja qual for o conteúdo. Content-MD5 só está presente em um único arquivo armazenado sem compressão, portanto nunca está em um arquivo ZIP. Verifique o corpo com ele quando estiver presente.

Erros específicos deste download:

  • 404: o Artifact não existe ou a chave de API não pode lê-lo, ou a versão não é mais mantida. Versões mais antigas são descartadas à medida que novas são publicadas, então liste novamente as versões do Artifact. Você também recebe este erro quando a chave de criptografia gerenciada pelo cliente da organização não pode ser usada. Tente novamente quando a chave puder ser usada outra vez.
  • 503: o conteúdo não pode ser servido no momento, por exemplo porque seu upload ainda está em andamento ou foi abandonado. Tente novamente com backoff.
  • 422 com error.details.error_code multi_file_unavailable: a versão tem mais de um arquivo. Adicione multi_file_format=zip. A versão de um Claude Doc com mais de um arquivo recebe este erro de qualquer forma, porque contém apenas a página web que exibe o Doc. Baixe o texto do Doc com GET /v1/compliance/apps/code/artifacts/{artifact_id}/content?multi_file_format=zip.
  • 422 com file_set_unavailable: a solicitação define multi_file_format=zip, a versão tem mais de um arquivo e um deles tem um caminho que a API não consegue exportar. Não tente novamente.

Um erro depois que o download começou encerra o corpo antecipadamente, com o status 200 já enviado. Por exemplo, isso acontece com conteúdo armazenado comprimido quando ele ultrapassa 16 MiB após a descompressão. Para um único arquivo sem Content-MD5, o único sinal é uma transferência que é interrompida antes da última parte, portanto trate um download interrompido dessa forma como falho.

Um arquivo ZIP com os arquivos de uma versão contém uma pasta de nível superior, nomeada de acordo com o Artifact e a versão. Essa pasta contém uma pasta files/ e um índice, files.json. O índice é gravado por último, portanto trate um arquivo ZIP como incompleto se ele não puder ser aberto ou não tiver files.json em sua pasta de nível superior.

files.json tem estes campos:

  • artifact_id: o ID do Artifact, como na solicitação.
  • version_id: o ID da versão, como na solicitação.
  • title: o título da versão no arquivo ZIP, ou o ID dessa versão quando nenhum título é mantido.
  • created_at: quando a versão foi publicada (RFC 3339, UTC), ou null quando isso não é conhecido.
  • files: uma entrada para cada arquivo em files/, com original_path (o caminho do arquivo na versão), exported_as (seu caminho no arquivo ZIP), sha256 (hexadecimal em minúsculas), size_bytes (antes da compressão) e mime_type. exported_as é a pasta de nível superior, depois files/, depois original_path. Um nome que não poderia ser salvo ou aberto com segurança em todos os sistemas operacionais é alterado. Use exported_as, e não original_path, para encontrar um arquivo no arquivo ZIP.
  • omitted_files: os arquivos deixados de fora do arquivo ZIP, cada um com original_path, sha256, size_bytes e mime_type. Eles incluem arquivos que a versão usa de outro Artifact. Também incluem arquivos copiados do tipo de Artifact a partir do qual o Artifact foi criado, como o app que o exibe, quando outra organização é proprietária desse tipo.

files e omitted_files juntos listam no máximo 4.096 arquivos, seus size_bytes somam no máximo 1 GiB e nenhum arquivo ultrapassa 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
Baixar Conteúdo de Versão de Artifact de Código
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"