To enable the Compliance API, see the setup guide.
Set up the Compliance APIBaixar Conteúdo de Versão de Artifact de Código
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.422comerror.details.error_codemulti_file_unavailable: a versão tem mais de um arquivo. Adicionemulti_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 comGET /v1/compliance/apps/code/artifacts/{artifact_id}/content?multi_file_format=zip.422comfile_set_unavailable: a solicitação definemulti_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 emfiles/, comoriginal_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) emime_type.exported_asé a pasta de nível superior, depoisfiles/, depoisoriginal_path. Um nome que não poderia ser salvo ou aberto com segurança em todos os sistemas operacionais é alterado. Useexported_as, e nãooriginal_path, para encontrar um arquivo no arquivo ZIP.omitted_files: os arquivos deixados de fora do arquivo ZIP, cada um comoriginal_path,sha256,size_bytesemime_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
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"