Apps changedapi/compliance/apps
Nearest release: v2.1.301, published 7 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+388added
Lines−0removed
From line
3,286
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits18to this page, all time
## Apps › Code › Artifacts ### List Code Artifacts ### Download Code Artifact Version Content ### Download Code Artifact Content ### Delete Code Artifact
The whole hunk
from line 3286, old and new numbered
/
from line 3286
32863286}
32873287```
32883288
3289## Apps › Code › Artifacts
3290
3291### List Code Artifacts
3292
3293**GET** `/v1/compliance/apps/code/artifacts`
3294
3295List Claude Code Artifacts owned by organizations under the parent
3296organization.
3297
3298Results are sorted by Artifact identifier. Pages may be short or empty
3299while `next_page` is still set — continue until `next_page` is absent.
3300Artifacts are sorted by identifier (not creation time): an Artifact
3301published during an export may land before the cursor and be omitted, so
3302for a point-in-time-complete export re-enumerate after publishing
3303quiesces.
3304
3305Artifacts owned by a since-deleted child organization are not
3306returned.
3307
3308#### Query parameters
3309
3310- `limit: optional number`
3311
3312 Maximum results (default: 20, max: 100)
3313
3314 default: 20, minimum: 1, maximum: 100
3315
3316- `organization_ids: optional array of string`
3317
3318 Filter by organization IDs (accepts `org_...` or organization UUID, up to 500). Enumerate IDs via `GET /v1/compliance/organizations`.
3319
3320 maxItems: 500
3321
3322- `page: optional string`
3323
3324 Opaque pagination token from a previous response's `next_page` field. Pass this to retrieve the next page of results. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice.
3325
3326- `updated_at: optional object`
3327
3328 - `gt: optional string`
3329
3330 Return only Artifacts updated after this time (RFC 3339 format). See `updated_at.gte` for the completeness caveat.
3331
3332 format: date-time
3333
3334 - `gte: optional string`
3335
3336 Return only Artifacts updated at or after this time (RFC 3339 format). Time filters match an eventually-consistent index and Artifacts published before this field was recorded never match — omit the time filter for compliance-complete enumeration. For incremental export, apply a generous overlap margin between windows and dedupe by `id`: adjacent tiling silently misses items whose index update lagged their publish.
3337
3338 format: date-time
3339
3340 - `lt: optional string`
3341
3342 Return only Artifacts updated before this time (RFC 3339 format). Multiple time operators are AND-ed to the tightest bound. See `updated_at.gte` for the completeness caveat.
3343
3344 format: date-time
3345
3346 - `lte: optional string`
3347
3348 Return only Artifacts updated at or before this time (RFC 3339 format). See `updated_at.gte` for the completeness caveat.
3349
3350 format: date-time
3351
3352- `user_ids: optional array of string`
3353
3354 Filter by owner user IDs (up to 200). Enumerate IDs via `GET /v1/compliance/organizations/{org_uuid}/users`.
3355
3356 maxItems: 200
3357
3358#### Headers
3359
3360- `"anthropic-version": optional string`
3361
3362 The version of the Claude API you want to use.
3363
3364 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
3365
3366- `"x-api-key": optional string`
3367
3368#### Returns
3369
3370- `data: array of object`
3371
3372 Page of Artifacts
3373
3374 - `id: string`
3375
3376 Artifact identifier (tagged ID)
3377
3378 - `artifact_type: "claude_design" or "claude_design_systems" or "claude_docs" or 4 more`
3379
3380 Which kind of Artifact this is: `code` for a site published from Claude Code, or the built-in Artifact type it was made from — `claude_docs` (Claude Docs), `claude_slides` (Slides), `claude_design` (Design), `claude_design_systems` (a design system) or `claude_motion` (Motion). `other` is an Artifact made from a built-in type this list does not name yet.
3381
3382 - `"claude_design"`
3383
3384 - `"claude_design_systems"`
3385
3386 - `"claude_docs"`
3387
3388 - `"claude_motion"`
3389
3390 - `"claude_slides"`
3391
3392 - `"code"`
3393
3394 - `"other"`
3395
3396 - `organization_uuid: string`
3397
3398 Organization UUID this Artifact belongs to
3399
3400 - `owner_user_id: string or null`
3401
3402 Artifact owner's user identifier (tagged ID), or null for Artifacts published by an agent session rather than a user account. When set, it survives after the owner's account is deleted or the owner leaves every organization under the parent.
3403
3404 - `published_version_id: string or null`
3405
3406 Identifier of the version a non-owner viewer would render when `read_mode` permits them — the version the owner has pinned for non-owner readers if one is pinned, otherwise the owner's latest. When `read_mode` is `owner` no non-owner renders any version; the field still reports which version would be served were read_mode widened. Null for a Claude Doc; see `versions`.
3407
3408 - `read_mode: "org" or "owner" or "public" or "users"`
3409
3410 Who can view this Artifact: only its owner, a named set of users, every member of its organization, or anyone on the internet (`public`)
3411
3412 - `"org"`
3413
3414 - `"owner"`
3415
3416 - `"public"`
3417
3418 - `"users"`
3419
3420 - `updated_at: string or null`
3421
3422 Artifact last update timestamp, or null for Artifacts published before this field was recorded
3423
3424 format: date-time
3425
3426 - `user: object or null`
3427
3428 Artifact owner with email, or null if the Artifact was published by an agent session, the owner's account has been deleted, or the owner is no longer a member of an organization the key may read
3429
3430 - `id: string`
3431
3432 User identifier (tagged ID)
3433
3434 - `email_address: string`
3435
3436 User's email address
3437
3438 - `versions: array of object`
3439
3440 Up to roughly 20 most-recently-published versions of this Artifact (older versions are not retained). Metadata only — use `GET /v1/compliance/apps/code/artifacts/{artifact_id}/versions/{version_id}` to download a version's content. Empty for a Claude Doc, because a Doc's versions hold only the web page that displays it, not its text. Download a Doc's text with `GET /v1/compliance/apps/code/artifacts/{artifact_id}/content?multi_file_format=zip`.
3441
3442 - `id: string`
3443
3444 Opaque version identifier
3445
3446 - `created_at: string or null`
3447
3448 When this version was published
3449
3450 format: date-time
3451
3452 - `name: string`
3453
3454 Artifact title at this version. Falls back to the version identifier when the title for an older version is no longer retained.
3455
3456- `has_more: boolean`
3457
3458 Whether `next_page` is set. May be true for a page whose next page is empty — continue until `next_page` is absent.
3459
3460- `next_page: string or null`
3461
3462 Token to retrieve the next page. Use this as the 'page' parameter in your next request
3463
3464#### Example
3465
3466```bash
3467curl https://api.anthropic.com/v1/compliance/apps/code/artifacts \
3468 -H 'anthropic-version: 2023-06-01' \
3469 -H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"
3470```
3471
3472##### Response (200)
3473
3474```json
3475{
3476 "data": [
3477 {
3478 "id": "cart_01Tu9VwXyZaBcDeFgHiJkLmN",
3479 "artifact_type": "code",
3480 "organization_uuid": "a1b2c3d4-e5f6-4789-a012-3456789abcde",
3481 "owner_user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q",
3482 "published_version_id": "1741803761-9f3a",
3483 "read_mode": "org",
3484 "updated_at": "2025-03-14T09:05:17.456789Z",
3485 "user": {
3486 "id": "user_01WCz1FkmYMm4gnmykNKUu3Q",
3487 "email_address": "[email protected]"
3488 },
3489 "versions": [
3490 {
3491 "id": "1741803761-9f3a",
3492 "created_at": "2025-03-12T18:22:41.123456Z",
3493 "name": "Team dashboard"
3494 }
3495 ]
3496 }
3497 ],
3498 "has_more": true,
3499 "next_page": "cGFnZV90b2tlbl9leGFtcGxlXzE3MzQ1Njc4OTA="
3500}
3501```
3502
3503### Download Code Artifact Version Content
3504
3505**GET** `/v1/compliance/apps/code/artifacts/{artifact_id}/versions/{version_id}`
3506
3507Streams the content of one version of a Claude Code Artifact as the
3508response body.
3509
3510Returns 404 for Artifacts that don't exist or belong to another parent
3511organization. A listed version id can start returning 404 if subsequent
3512publishes rotated it out of retained history — re-list on 404. Returns
3513503 while the version's content upload is still in flight or was
3514abandoned — retry with backoff. Returns 422 with
3515`error.details.error_code` `multi_file_unavailable` for a version that
3516has more than one file, unless the request sets `multi_file_format=zip`,
3517which returns those files as a ZIP archive. With `multi_file_format=zip`,
3518a version with more than one file, one of them with a name the API cannot
3519export, gets 422 `file_set_unavailable`. Do not retry a 422. A Claude
3520Doc's versions hold only the web page that displays the Doc and never come
3521back as a ZIP. That page usually has more than one file, so a Doc's version
3522usually gets the 422 `multi_file_unavailable`. Download the Doc's text with
3523`GET /v1/compliance/apps/code/artifacts/{artifact_id}/content?multi_file_format=zip`.
3524Oversized encoded content aborts mid-stream: headers and initial bytes arrive
3525but the body terminates early — an aborted chunked transfer is the
3526only truncation signal for encoded content. `Content-MD5` is emitted
3527only for identity-stored content; validate against it when present.
3528
3529#### Path parameters
3530
3531- `artifact_id: string`
3532
3533 The Artifact ID (tagged ID, e.g., cart_abc123)
3534
3535- `version_id: string`
3536
3537 Opaque version identifier from the Artifact's `versions` list
3538
3539#### Query parameters
3540
3541- `multi_file_format: optional string`
3542
3543 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`. Files the artifact copied from its type (the app that displays every artifact of that type) are listed under `omitted_files` in the index, and left out of the archive, when an organization other than the artifact's owns that type. A Claude Doc's version never comes back as a ZIP: it is answered as without this parameter, except that a version with more than one file, one of them with a name the API cannot export, gets 422 `file_set_unavailable`. A version with one file is returned as that file, as without this parameter.
3544
3545#### Headers
3546
3547- `"anthropic-version": optional string`
3548
3549 The version of the Claude API you want to use.
3550
3551 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
3552
3553- `"x-api-key": optional string`
3554
3555#### Example
3556
3557```bash
3558curl https://api.anthropic.com/v1/compliance/apps/code/artifacts/$ARTIFACT_ID/versions/$VERSION_ID \
3559 -H 'anthropic-version: 2023-06-01' \
3560 -H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"
3561```
3562
3563### Download Code Artifact Content
3564
3565**GET** `/v1/compliance/apps/code/artifacts/{artifact_id}/content`
3566
3567Streams an Artifact's current content as the response body. For a
3568Claude Doc, that is the Doc's text as a ZIP archive of Word files, one per
3569text tab, and the request must set `multi_file_format=zip`. For any other
3570Artifact, it is the latest version, as
3571`GET /v1/compliance/apps/code/artifacts/{artifact_id}/versions/{version_id}`
3572returns it.
3573
3574Returns 404 for Artifacts that don't exist or that the API key cannot read.
3575Returns 400 with `error.details.error_code` `cmek_key_disabled` when the
3576organization's customer-managed encryption key can't be used, for example
3577because it is disabled or revoked. Returns 503 when the content can't be
3578produced right now; wait the number of seconds in the `Retry-After`
3579header, or retry with backoff when it is absent. For a Claude Doc, a 422's
3580`error.details.error_code` is `multi_file_unavailable` when the request
3581does not set `multi_file_format=zip`, `document_unavailable` when the Doc
3582has no text to export (for example, it has no text tab or is in the trash),
3583`document_too_large` when the export is over 16 MiB, or
3584`cmek_org_unsupported` when the organization uses customer-managed
3585encryption keys and the export can't be served for it right now. For any
3586other Artifact, the 422s are the version download's.
3587
3588#### Path parameters
3589
3590- `artifact_id: string`
3591
3592 The Artifact ID (tagged ID, e.g., cart_abc123)
3593
3594#### Query parameters
3595
3596- `multi_file_format: optional string`
3597
3598 Set to `zip`, its only value. A Claude Doc downloads only this way, as a ZIP archive of Word files, one per text tab. For any other Artifact it works as on the version download: when the latest version has more than one file, it comes back as a ZIP archive of its files with an index, `files.json`.
3599
3600#### Headers
3601
3602- `"anthropic-version": optional string`
3603
3604 The version of the Claude API you want to use.
3605
3606 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
3607
3608- `"x-api-key": optional string`
3609
3610#### Example
3611
3612```bash
3613curl https://api.anthropic.com/v1/compliance/apps/code/artifacts/$ARTIFACT_ID/content \
3614 -H 'anthropic-version: 2023-06-01' \
3615 -H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"
3616```
3617
3618### Delete Code Artifact
3619
3620**DELETE** `/v1/compliance/apps/code/artifacts/{artifact_id}`
3621
3622Permanently deletes a Code Artifact and all its versions. This is a
3623destructive operation that cannot be undone. A 200 response means the
3624deletion is initiated and the Artifact is claimed; content removal
3625completes asynchronously.
3626
3627Returns 404 for Artifacts that don't exist or belong to another parent
3628organization. Returns 404 on a repeated delete of an already-deleted
3629Artifact.
3630
3631#### Path parameters
3632
3633- `artifact_id: string`
3634
3635 The Artifact ID (tagged ID, e.g., cart_abc123)
3636
3637#### Headers
3638
3639- `"anthropic-version": optional string`
3640
3641 The version of the Claude API you want to use.
3642
3643 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
3644
3645- `"x-api-key": optional string`
3646
3647#### Returns
3648
3649- `type: "code_artifact_deleted"`
3650
3651 Constant string confirming deletion
3652
3653 default: code_artifact_deleted
3654
3655- `id: string`
3656
3657 The ID of the Artifact that was deleted
3658
3659#### Example
3660
3661```bash
3662curl https://api.anthropic.com/v1/compliance/apps/code/artifacts/$ARTIFACT_ID \
3663 -X DELETE \
3664 -H 'anthropic-version: 2023-06-01' \
3665 -H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"
3666```
3667
3668##### Response (200)
3669
3670```json
3671{
3672 "id": "cart_xyz789",
3673 "type": "code_artifact_deleted"
3674}
3675```
3676
No line in this hunk matches that.