Link an AI artifact to a workspace item
Attaches the artifact to an existing workspace item so the two reference each other, and returns the updated artifact. Requires a workspace member with the `ai:write` permission who can also write both the artifact's current reference and the target item; an archived artifact cannot be linked. Send an `Idempotency-Key` header to make retries safe; a replay within the window returns the original response.
apiKeyAuthorizationBearer <snoze_sk_…>Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
workspaceId*stringartifactId*stringapplication/json- body
workspaceItemId*stringclientMutationId?string|nullSuccess
application/json- response
data*curl -X POST 'https://api.snoze.dev/v1/workspaces/string/ai-artifacts/string/link-workspace-item' \ -H 'Content-Type: application/json' \ -d '{ "workspaceItemId": "string"}'{ "data": { "id": "string", "workspaceId": "string", "chatId": "string", "messageId": "string", "creator": { "userId": "string", "principalType": "user", "principalId": "string", "displayName": "string" }, "kind": "markdown", "status": "draft", "title": "string", "summary": "string", "textContent": "string", "jsonContent": null, "mimeType": "string", "language": "string", "sourceRefs": [ { "type": "chat_message", "chatId": "string", "messageId": "string" } ], "workspaceItemId": "string", "fileId": "string", "createdAt": "string", "updatedAt": "string", "archivedAt": "string", "deletedAt": "string" }}Archive an AI artifact
Moves the artifact to `archived`, which hides it from the default listing and blocks further edits, and returns the updated artifact. Requires a workspace member with the `ai:write` permission; archiving an already-archived artifact is a no-op, and an unknown artifact is reported as not found. Send an `Idempotency-Key` header to make retries safe; a replay within the window returns the original response.
List what was made in your agent chats
The Library's Created list: artifacts from the caller's own live chats, newest first, as titles and origins without their content (read an artifact through the ai-artifacts endpoints). `q` narrows to titles containing it; pass the `cursor` from the previous response while `hasMore` is true. An artifact pointing at an item or file the caller cannot open is left out. Requires a Clerk session for a workspace member with the `ai:read` permission.