Sweep 22 Sep 2026 · 17:19Z Build v2.1.280 501 read Stable v2.1.267 Latest v2.1.280 Next v2.1.280 Feeds RSS JSON llms.txt Unofficial
One change · api

WARNING: This operation PERMANENTLY deletes the chat, all of its messages, changed

manage-claude/compliance-content-data

Nearest release: v2.1.272, published 5 hours before this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Recorded here
Lines+9added
Lines−8removed
From line 195 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits7to this page, all time

The whole hunk

from line 195, old and new numbered
/
lines
from line 195
195195```bash cURL
196196file_id="claude_file_01UaT9wBcDfGhJkLmNpQrSv7"
197197 
198curl --fail-with-body -sS -OJ \
198curl --fail-with-body -sS \
199 "https://api.anthropic.com/v1/compliance/apps/chats/files/$file_id/content" \
199200 --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
200201 --header "anthropic-version: 2023-06-01" \
201 "https://api.anthropic.com/v1/compliance/apps/chats/files/$file_id/content"
202 --output "dashboard_mockup_v1.pdf"
202203```
203204 
204The `-OJ` flags tell curl to save the response under the file name from `Content-Disposition`, which is the original file name the user uploaded.
205In curl, the `--remote-header-name` (`-J`) option, which normally saves a download under the `Content-Disposition` file name, does not read the `filename*` form, so name the saved file yourself with `--output`. In a script, take the name from the file's `filename` field in the chat messages or [Get file metadata](https://platform.claude.com/docs/en/api/compliance/apps/chats/files/retrieve) response, or decode `filename*`. Either way, it is the name the user gave the upload, so treat it as untrusted before using it as an output path: keep only the base name, allow only characters that are safe on your filesystem, and refuse names that begin with `-` or `.`.
205206 
206The artifact content endpoint returns the text body of one artifact version. Pass the `version_id` from one of the entries in an assistant message's `artifacts` array, not the artifact's stable `id`. Each new version of an artifact has its own `version_id`, and the Compliance API serves the exact bytes of that version.
207Unlike the file content endpoint, the artifact content endpoint returns a JSON object. Pass the `version_id` from one of the entries in an assistant message's `artifacts` array, not the artifact's stable `id`; each new version of an artifact has its own `version_id`. The response's `content` field holds exactly that version's text, and its `title` and `artifact_type` fields describe the artifact. [Get artifact metadata](https://platform.claude.com/docs/en/api/compliance/apps/artifacts/retrieve) computes `size_bytes` and `md5` over the UTF-8 encoding of that text, so compare them with the `content` value rather than the whole response body.
207208 
208209## Retrieve projects and attachments
209210 
from line 307
306307```json
307308{
308309 "error": {
309 "type": "conflict_error",
310 "type": "invalid_request_error",
310311 "message": "The \"claude_proj_01KGp4eZNug9ri4kE35RSppq\" project cannot be deleted as it has chats attached to it. Delete or detach all chats, and try deleting the project again."
311312 }
312313}