To enable the Compliance API, see the setup guide.
Set up the Compliance APIInhalt einer Code-Artifact-Version herunterladen
Streamt den Inhalt einer Version eines Artifacts als Antwort-Body, in Chunks ohne Content-Length. Mit multi_file_format=zip wird eine Version mit mehr als einer Datei, außer der eines Claude Doc (ein Artifact, dessen artifact_type claude_docs ist), als ZIP-Archiv ihrer Dateien zurückgegeben.
Header: Content-Type (application/zip für ein ZIP-Archiv, andernfalls der gespeicherte MIME-Typ), Content-Disposition: attachment; filename*=utf-8''<name> (RFC 5987), Cache-Control: no-store, private und, sofern verfügbar, Content-MD5 (base64). <name> ist {artifact_id}-{version_id}.zip für ein ZIP-Archiv, andernfalls {artifact_id}-{version_id}.txt, unabhängig vom Inhalt. Content-MD5 ist nur bei einer einzelnen, unkomprimiert gespeicherten Datei vorhanden, also nie bei einem ZIP-Archiv. Prüfe den Body dagegen, wenn vorhanden.
Fehler speziell für diesen Download:
404: Das Artifact existiert nicht oder der API-Key kann es nicht lesen, oder die Version wird nicht mehr aufbewahrt. Ältere Versionen werden verworfen, wenn neue veröffentlicht werden; liste die Versionen des Artifacts daher erneut auf. Diesen Fehler erhältst du auch, wenn der kundenverwaltete Verschlüsselungsschlüssel der Organisation nicht verwendet werden kann. Versuche es erneut, sobald der Schlüssel wieder verwendet werden kann.503: Der Inhalt kann gerade nicht bereitgestellt werden, zum Beispiel weil sein Upload noch läuft oder abgebrochen wurde. Versuche es mit Backoff erneut.422miterror.details.error_codemulti_file_unavailable: Die Version hat mehr als eine Datei. Fügemulti_file_format=ziphinzu. Die Version eines Claude Doc mit mehr als einer Datei erhält diesen Fehler in jedem Fall, da sie nur die Webseite enthält, die das Doc anzeigt. Lade den Text des Doc mitGET /v1/compliance/apps/code/artifacts/{artifact_id}/content?multi_file_format=zipherunter.422mitfile_set_unavailable: Die Anfrage setztmulti_file_format=zip, die Version hat mehr als eine Datei, und eine davon hat einen Pfad, den die API nicht exportieren kann. Versuche es nicht erneut.
Ein Fehler nach Beginn des Downloads beendet den Body vorzeitig, wobei der Status 200 bereits gesendet wurde. Das passiert zum Beispiel bei komprimiert gespeichertem Inhalt, der dekomprimiert größer als 16 MiB ist. Bei einer einzelnen Datei ohne Content-MD5 ist das einzige Anzeichen eine Übertragung, die vor ihrem letzten Chunk abbricht; behandle einen auf diese Weise abgebrochenen Download daher als fehlgeschlagen.
Ein ZIP-Archiv der Dateien einer Version enthält einen Ordner auf oberster Ebene, benannt nach dem Artifact und der Version. Dieser Ordner enthält einen Ordner files/ und einen Index, files.json. Der Index wird zuletzt geschrieben; behandle ein Archiv daher als unvollständig, wenn es sich nicht öffnen lässt oder keine files.json in seinem Ordner auf oberster Ebene enthält.
files.json hat diese Felder:
artifact_id: die Artifact-ID, wie in der Anfrage.version_id: die Versions-ID, wie in der Anfrage.title: der Titel der Version im Archiv oder die ID dieser Version, wenn kein Titel gespeichert ist.created_at: wann die Version veröffentlicht wurde (RFC 3339, UTC), oder null, wenn das nicht bekannt ist.files: ein Eintrag für jede Datei unterfiles/, mitoriginal_path(der Pfad der Datei in der Version),exported_as(ihr Pfad im Archiv),sha256(Hex in Kleinbuchstaben),size_bytes(vor der Komprimierung) undmime_type.exported_asist der Ordner auf oberster Ebene, dannfiles/, dannoriginal_path. Ein Name, der nicht auf jedem Betriebssystem sicher gespeichert oder geöffnet werden könnte, wird geändert. Verwendeexported_as, nichtoriginal_path, um eine Datei im Archiv zu finden.omitted_files: die aus dem Archiv ausgelassenen Dateien, jeweils mitoriginal_path,sha256,size_bytesundmime_type. Dazu gehören Dateien, die die Version aus einem anderen Artifact verwendet. Dazu gehören auch Dateien, die aus dem Artifact-Typ kopiert wurden, aus dem das Artifact erstellt wurde, etwa die App, die es anzeigt, wenn eine andere Organisation diesen Typ besitzt.
files und omitted_files listen zusammen höchstens 4.096 Dateien auf, ihre size_bytes summieren sich auf höchstens 1 GiB, und keine Datei ist größer als 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"