Claude Platform Docs

To enable the Compliance API, see the setup guide.

Set up the Compliance API

Descargar contenido de versión de Artifact de código

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

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.
  • 422 con error.details.error_code multi_file_unavailable: la versión tiene más de un archivo. Agrega multi_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 con GET /v1/compliance/apps/code/artifacts/{artifact_id}/content?multi_file_format=zip.
  • 422 con file_set_unavailable: la solicitud establece multi_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 en files/, con original_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) y mime_type. exported_as es la carpeta de nivel superior, luego files/ y luego original_path. Un nombre que no se pueda guardar o abrir de forma segura en todos los sistemas operativos se modifica. Usa exported_as, no original_path, para encontrar un archivo en el archivo ZIP.
  • omitted_files: los archivos que quedaron fuera del archivo ZIP, cada uno con original_path, sha256, size_bytes y mime_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
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
Descargar contenido de versión 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"