To enable the Compliance API, see the setup guide.
Set up the Compliance APIDescargar contenido de versión de Artifact de código
Transmite el contenido de una versión de un Artifact como cuerpo de la respuesta, en fragmentos sin Content-Length. Con multi_file_format=zip, una versión con más de un archivo, salvo la de un Claude Doc (un Artifact cuyo artifact_type es claude_docs), se devuelve como un archivo ZIP con sus archivos.
Encabezados: Content-Type (application/zip para un archivo ZIP; en otro caso, el tipo MIME almacenado), Content-Disposition: attachment; filename*=utf-8''<name> (RFC 5987), Cache-Control: no-store, private y, cuando está disponible, Content-MD5 (base64). <name> es {artifact_id}-{version_id}.zip para un archivo ZIP; en otro caso, {artifact_id}-{version_id}.txt, sea cual sea el contenido. Content-MD5 solo aparece en un único archivo almacenado sin comprimir, por lo que nunca aparece en un archivo ZIP. Verifica el cuerpo con él cuando esté presente.
Errores específicos de esta descarga:
404: el Artifact no existe o la clave de API no puede leerlo, o la versión ya no se conserva. Las versiones anteriores se descartan a medida que se publican otras nuevas, así que vuelve a listar las versiones del Artifact. También obtienes este error cuando no se puede usar la clave de cifrado administrada por el cliente de la organización. Reintenta cuando la clave se pueda volver a usar.503: el contenido no se puede servir en este momento, por ejemplo porque su carga aún está en curso o se abandonó. Reintenta con retroceso.422conerror.details.error_codemulti_file_unavailable: la versión tiene más de un archivo. Agregamulti_file_format=zip. Una versión de un Claude Doc con más de un archivo obtiene este error en cualquier caso, porque solo contiene la página web que muestra el Doc. Descarga el texto del Doc conGET /v1/compliance/apps/code/artifacts/{artifact_id}/content?multi_file_format=zip.422confile_set_unavailable: la solicitud establecemulti_file_format=zip, la versión tiene más de un archivo y uno de ellos tiene una ruta que la API no puede exportar. No reintentes.
Un error después de que la descarga ha comenzado detiene el cuerpo antes de tiempo, con el estado 200 ya enviado. Por ejemplo, esto ocurre con el contenido almacenado comprimido cuando supera los 16 MiB una vez descomprimido. Para un único archivo sin Content-MD5, la única señal es una transferencia que se interrumpe antes de su último fragmento, así que trata como fallida una descarga que se interrumpa de esta manera.
Un archivo ZIP con los archivos de una versión contiene una carpeta de nivel superior, con el nombre del Artifact y la versión. Esa carpeta contiene una carpeta files/ y un índice, files.json. El índice se escribe al final, así que trata un archivo ZIP como incompleto si no se puede abrir o no tiene files.json en su carpeta de nivel superior.
files.json tiene estos campos:
artifact_id: el ID del Artifact, como en la solicitud.version_id: el ID de la versión, como en la solicitud.title: el título de la versión incluida en el archivo ZIP, o el ID de esa versión cuando no se conserva ningún título.created_at: cuándo se publicó la versión (RFC 3339, UTC), o null cuando no se conoce.files: una entrada por cada archivo enfiles/, conoriginal_path(la ruta del archivo en la versión),exported_as(su ruta en el archivo ZIP),sha256(hexadecimal en minúsculas),size_bytes(antes de la compresión) ymime_type.exported_ases la carpeta de nivel superior, luegofiles/y luegooriginal_path. Un nombre que no se pueda guardar o abrir de forma segura en todos los sistemas operativos se modifica. Usaexported_as, nooriginal_path, para encontrar un archivo en el archivo ZIP.omitted_files: los archivos que quedaron fuera del archivo ZIP, cada uno conoriginal_path,sha256,size_bytesymime_type. Incluyen los archivos que la versión usa de otro Artifact. También incluyen los archivos copiados del tipo de Artifact a partir del cual se creó el Artifact, como la aplicación que lo muestra, cuando otra organización es propietaria de ese tipo.
files y omitted_files juntos listan como máximo 4,096 archivos, sus size_bytes suman como máximo 1 GiB y ningún archivo supera los 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"