To enable the Compliance API, see the setup guide.
Set up the Compliance APIЗагрузка содержимого версии Artifact кода
Передаёт содержимое одной версии Artifact потоком в качестве тела ответа, частями без Content-Length. При multi_file_format=zip версия, содержащая более одного файла (кроме версии Claude Doc — Artifact, у которого artifact_type равен claude_docs), возвращается в виде ZIP-архива её файлов.
Заголовки: Content-Type (application/zip для ZIP-архива, в остальных случаях — сохранённый MIME-тип), Content-Disposition: attachment; filename*=utf-8''<name> (RFC 5987), Cache-Control: no-store, private и, если доступен, Content-MD5 (base64). <name> — это {artifact_id}-{version_id}.zip для ZIP-архива, в остальных случаях — {artifact_id}-{version_id}.txt, независимо от содержимого. Content-MD5 присутствует только для одного файла, хранящегося без сжатия, поэтому для ZIP-архива он никогда не передаётся. Если он присутствует, сверьте с ним тело ответа.
Ошибки, характерные для этого скачивания:
404: Artifact не существует или ключ API не может его прочитать, либо версия больше не хранится. Старые версии удаляются по мере публикации новых, поэтому снова получите список версий Artifact. Эта ошибка также возвращается, когда ключ шифрования организации, управляемый клиентом, не может быть использован. Повторите попытку, когда ключ снова станет доступен.503: содержимое сейчас не может быть предоставлено, например потому что его загрузка ещё выполняется или была прервана. Повторите попытку с задержкой (backoff).422сerror.details.error_codemulti_file_unavailable: версия содержит более одного файла. Добавьтеmulti_file_format=zip. Версия Claude Doc, содержащая более одного файла, получает эту ошибку в любом случае, поскольку содержит только веб-страницу, отображающую Doc. Скачайте текст Doc с помощьюGET /v1/compliance/apps/code/artifacts/{artifact_id}/content?multi_file_format=zip.422сfile_set_unavailable: в запросе заданmulti_file_format=zip, версия содержит более одного файла, и у одного из них путь, который API не может экспортировать. Не повторяйте попытку.
Ошибка, возникшая после начала скачивания, досрочно прерывает тело ответа, при этом статус 200 уже отправлен. Например, это происходит с содержимым, хранящимся в сжатом виде, если после распаковки его размер превышает 16 МиБ. Для одного файла без Content-MD5 единственным признаком является передача, прерванная до последней части, поэтому считайте скачивание, прерванное таким образом, неудачным.
ZIP-архив файлов версии содержит одну папку верхнего уровня, названную по Artifact и версии. Эта папка содержит папку files/ и индекс files.json. Индекс записывается последним, поэтому считайте архив неполным, если его не удаётся открыть или в его папке верхнего уровня нет files.json.
files.json содержит следующие поля:
artifact_id: идентификатор Artifact, как в запросе.version_id: идентификатор версии, как в запросе.title: название версии в архиве или идентификатор этой версии, если название не хранится.created_at: время публикации версии (RFC 3339, UTC) или null, если оно неизвестно.files: по одной записи для каждого файла вfiles/с полямиoriginal_path(путь к файлу в версии),exported_as(его путь в архиве),sha256(шестнадцатеричное значение в нижнем регистре),size_bytes(до сжатия) иmime_type.exported_as— это папка верхнего уровня, затемfiles/, затемoriginal_path. Имя, которое невозможно безопасно сохранить или открыть во всех операционных системах, изменяется. Для поиска файла в архиве используйтеexported_as, а неoriginal_path.omitted_files: файлы, не включённые в архив, каждый с полямиoriginal_path,sha256,size_bytesиmime_type. К ним относятся файлы, которые версия использует из другого Artifact. К ним также относятся файлы, скопированные из типа Artifact, на основе которого был создан Artifact (например, приложение, которое его отображает), если этот тип принадлежит другой организации.
files и omitted_files вместе содержат не более 4 096 файлов, суммарный size_bytes не превышает 1 ГиБ, и ни один файл не превышает 20 МиБ.
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"