---
title: "Update artifact metadata"
method: PATCH
path: "/v1/artifacts/{id}"
tags: ["Artifacts"]
---

# Update artifact metadata

`PATCH /v1/artifacts/{id}`

Update visibility, name, social link-preview fields, or anonymous-access opt-ins. Public visibility requires a paid plan or paid Teams workspace; otherwise visibility is held with code `VISIBILITY_HELD` and a paywall notice.

## Request body

- object
  - `name` string
  - `visibility` 'public' | 'workspace' | 'private' — 'unlisted' was retired 2026-07 — still accepted as input and treated as 'public'.
  - `allow_anon_write` boolean — Let anonymous visitors mutate json/tables/blobs/datasets on public artifacts.
  - `allow_anon_email` boolean — Let anonymous visitors send contact-form email.
  - `allow_anon_agent` boolean — Let anonymous visitors use the in-artifact AI chat agent.
  - `allow_anon_collab` boolean — Let anonymous visitors join realtime collaboration.
  - `social_title` string, nullable
  - `social_description` string, nullable
  - `social_image_url` string, nullable

## Response `200`

Updated

- Artifact
  - `id` string
  - `name` string
  - `slug` string
  - `visibility` 'public' | 'workspace' | 'private' — 'unlisted' was retired 2026-07 — still accepted as input and treated as 'public'.
  - `moderation_status` 'approved' | 'pending' | 'blocked' — Safety review state for open visibility.
  - `allow_anon_write` boolean
  - `allow_anon_email` boolean
  - `allow_anon_agent` boolean
  - `allow_anon_collab` boolean
  - `url` string, uri
  - `thumbnail_url` string, uri
  - `is_favorite` boolean
  - `created_at` integer

## Other responses

- `403` — Access denied
- `404` — Resource not found

---

[API](https://skmtc.net/shareout/apis/shareout-rest-api.md) · [All operations](https://skmtc.net/shareout/apis/shareout-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/shareout/shareout-rest-api/versions/804359ead65a/schema)
