Claude Platform Docs

To enable the Compliance API, see the setup guide.

Set up the Compliance API

Télécharger le contenu d'une version d'Artifact de code

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

Diffuse en streaming le contenu d'une version d'un Artifact en tant que corps de la réponse, par fragments et sans Content-Length. Avec multi_file_format=zip, une version comportant plus d'un fichier, sauf celle d'un Claude Doc (un Artifact dont l'artifact_type est claude_docs), est renvoyée sous forme d'archive ZIP de ses fichiers.

En-têtes : Content-Type (application/zip pour une archive ZIP, sinon le type MIME stocké), Content-Disposition: attachment; filename*=utf-8''<name> (RFC 5987), Cache-Control: no-store, private et, lorsqu'il est disponible, Content-MD5 (base64). <name> vaut {artifact_id}-{version_id}.zip pour une archive ZIP, sinon {artifact_id}-{version_id}.txt, quel que soit le contenu. Content-MD5 n'est présent que pour un fichier unique stocké non compressé ; il n'est donc jamais présent sur une archive ZIP. Lorsqu'il est présent, vérifiez le corps par rapport à celui-ci.

Erreurs propres à ce téléchargement :

  • 404 : l'Artifact n'existe pas ou la clé API ne peut pas le lire, ou la version n'est plus conservée. Les versions plus anciennes sont supprimées à mesure que de nouvelles sont publiées ; listez donc à nouveau les versions de l'Artifact. Vous obtenez également cette erreur lorsque la clé de chiffrement gérée par le client de l'organisation ne peut pas être utilisée. Réessayez une fois que la clé peut de nouveau être utilisée.
  • 503 : le contenu ne peut pas être servi pour le moment, par exemple parce que son téléversement est toujours en cours ou a été abandonné. Réessayez avec un délai d'attente progressif (backoff).
  • 422 avec error.details.error_code multi_file_unavailable : la version comporte plus d'un fichier. Ajoutez multi_file_format=zip. Une version de Claude Doc comportant plus d'un fichier reçoit cette erreur dans tous les cas, car elle ne contient que la page web qui affiche le Doc. Téléchargez le texte du Doc avec GET /v1/compliance/apps/code/artifacts/{artifact_id}/content?multi_file_format=zip.
  • 422 avec file_set_unavailable : la requête définit multi_file_format=zip, la version comporte plus d'un fichier et l'un d'eux a un chemin que l'API ne peut pas exporter. Ne réessayez pas.

Une erreur survenant après le début du téléchargement interrompt prématurément le corps, alors que le statut 200 a déjà été envoyé. Cela se produit par exemple pour un contenu stocké compressé qui dépasse 16 Mio une fois décompressé. Pour un fichier unique sans Content-MD5, le seul signe est un transfert qui s'interrompt avant son dernier fragment ; considérez donc un téléchargement interrompu de cette manière comme un échec.

Une archive ZIP des fichiers d'une version contient un seul dossier de premier niveau, nommé d'après l'Artifact et la version. Ce dossier contient un dossier files/ et un index, files.json. L'index est écrit en dernier ; considérez donc une archive comme incomplète si elle ne peut pas être ouverte ou si son dossier de premier niveau ne contient pas de files.json.

files.json comporte les champs suivants :

  • artifact_id : l'ID de l'Artifact, tel qu'indiqué dans la requête.
  • version_id : l'ID de la version, tel qu'indiqué dans la requête.
  • title : le titre de la version contenue dans l'archive, ou l'ID de cette version lorsqu'aucun titre n'est conservé.
  • created_at : la date de publication de la version (RFC 3339, UTC), ou null lorsqu'elle n'est pas connue.
  • files : une entrée pour chaque fichier sous files/, avec original_path (le chemin du fichier dans la version), exported_as (son chemin dans l'archive), sha256 (hexadécimal en minuscules), size_bytes (avant compression) et mime_type. exported_as correspond au dossier de premier niveau, suivi de files/, puis de original_path. Un nom qui ne pourrait pas être enregistré ou ouvert en toute sécurité sur tous les systèmes d'exploitation est modifié. Utilisez exported_as, et non original_path, pour trouver un fichier dans l'archive.
  • omitted_files : les fichiers exclus de l'archive, chacun avec original_path, sha256, size_bytes et mime_type. Ils incluent les fichiers que la version utilise depuis un autre Artifact. Ils incluent également les fichiers copiés depuis le type d'Artifact à partir duquel l'Artifact a été créé, comme l'application qui l'affiche, lorsqu'une autre organisation possède ce type.

files et omitted_files répertorient ensemble au plus 4 096 fichiers, la somme de leurs size_bytes est d'au plus 1 Gio, et aucun fichier ne dépasse 20 Mio.

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
Télécharger le contenu d'une version d'Artifact de code
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"