Claude Platform Docs

To enable the Compliance API, see the setup guide.

Set up the Compliance API

Scarica il contenuto della versione di un Artifact di Code

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

Trasmette in streaming il contenuto di una versione di un Artifact come corpo della risposta, in blocchi senza Content-Length. Con multi_file_format=zip, una versione con più di un file, diversa da quella di un Claude Doc (un Artifact il cui artifact_type è claude_docs), viene restituita come archivio ZIP dei suoi file.

Header: Content-Type (application/zip per un archivio ZIP, altrimenti il tipo MIME memorizzato), Content-Disposition: attachment; filename*=utf-8''<name> (RFC 5987), Cache-Control: no-store, private e, quando disponibile, Content-MD5 (base64). <name> è {artifact_id}-{version_id}.zip per un archivio ZIP, altrimenti {artifact_id}-{version_id}.txt, qualunque sia il contenuto. Content-MD5 è presente solo su un singolo file memorizzato non compresso, quindi non è mai presente su un archivio ZIP. Quando è presente, verifica il corpo rispetto a esso.

Errori specifici di questo download:

  • 404: l'Artifact non esiste o la chiave API non può leggerlo, oppure la versione non viene più conservata. Le versioni precedenti vengono eliminate man mano che ne vengono pubblicate di nuove, quindi elenca di nuovo le versioni dell'Artifact. Ricevi questo errore anche quando la chiave di crittografia gestita dal cliente dell'organizzazione non può essere usata. Riprova quando la chiave potrà essere usata di nuovo.
  • 503: il contenuto non può essere fornito al momento, ad esempio perché il suo caricamento è ancora in corso o è stato abbandonato. Riprova con backoff.
  • 422 con error.details.error_code multi_file_unavailable: la versione ha più di un file. Aggiungi multi_file_format=zip. La versione di un Claude Doc con più di un file riceve questo errore in ogni caso, perché contiene solo la pagina web che visualizza il Doc. Scarica il testo del Doc con GET /v1/compliance/apps/code/artifacts/{artifact_id}/content?multi_file_format=zip.
  • 422 con file_set_unavailable: la richiesta imposta multi_file_format=zip, la versione ha più di un file e uno di essi ha un percorso che l'API non può esportare. Non riprovare.

Un errore dopo l'avvio del download interrompe anticipatamente il corpo, con lo stato 200 già inviato. Ad esempio, ciò accade al contenuto memorizzato compresso quando supera i 16 MiB una volta decompresso. Per un singolo file senza Content-MD5, l'unico segnale è un trasferimento che si interrompe prima dell'ultimo blocco, quindi considera non riuscito un download che si interrompe in questo modo.

Un archivio ZIP dei file di una versione contiene una cartella di primo livello, denominata in base all'Artifact e alla versione. Tale cartella contiene una cartella files/ e un indice, files.json. L'indice viene scritto per ultimo, quindi considera un archivio incompleto se non può essere aperto o se non contiene files.json nella cartella di primo livello.

files.json contiene questi campi:

  • artifact_id: l'ID dell'Artifact, come nella richiesta.
  • version_id: l'ID della versione, come nella richiesta.
  • title: il titolo della versione nell'archivio, oppure l'ID di quella versione quando non viene conservato alcun titolo.
  • created_at: quando la versione è stata pubblicata (RFC 3339, UTC), oppure null quando non è noto.
  • files: una voce per ogni file in files/, con original_path (il percorso del file nella versione), exported_as (il suo percorso nell'archivio), sha256 (esadecimale minuscolo), size_bytes (prima della compressione) e mime_type. exported_as è la cartella di primo livello, seguita da files/, seguita da original_path. Un nome che non potrebbe essere salvato o aperto in modo sicuro su ogni sistema operativo viene modificato. Usa exported_as, non original_path, per trovare un file nell'archivio.
  • omitted_files: i file esclusi dall'archivio, ciascuno con original_path, sha256, size_bytes e mime_type. Includono i file che la versione usa da un altro Artifact. Includono anche i file copiati dal tipo di Artifact da cui l'Artifact è stato creato, come l'app che lo visualizza, quando un'altra organizzazione possiede quel tipo.

files e omitted_files insieme elencano al massimo 4.096 file, i loro size_bytes sommati non superano 1 GiB e nessun file supera i 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
Scarica il contenuto della versione di un Artifact di 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"