To enable the Compliance API, see the setup guide.
Set up the Compliance APITélécharger le contenu d'une version d'Artifact de code
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).422avecerror.details.error_codemulti_file_unavailable: la version comporte plus d'un fichier. Ajoutezmulti_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 avecGET /v1/compliance/apps/code/artifacts/{artifact_id}/content?multi_file_format=zip.422avecfile_set_unavailable: la requête définitmulti_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 sousfiles/, avecoriginal_path(le chemin du fichier dans la version),exported_as(son chemin dans l'archive),sha256(hexadécimal en minuscules),size_bytes(avant compression) etmime_type.exported_ascorrespond au dossier de premier niveau, suivi defiles/, puis deoriginal_path. Un nom qui ne pourrait pas être enregistré ou ouvert en toute sécurité sur tous les systèmes d'exploitation est modifié. Utilisezexported_as, et nonoriginal_path, pour trouver un fichier dans l'archive.omitted_files: les fichiers exclus de l'archive, chacun avecoriginal_path,sha256,size_bytesetmime_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
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"