SnozeDevelopers
API referenceAi Artifacts

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.

POST
/v1/workspaces/{workspaceId}/ai-artifacts/{artifactId}/link-workspace-item

Authorization

apiKey
headerAuthorizationBearer <snoze_sk_…>

Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.

Path Parameters

workspaceId*string
artifactId*string

Request Body

application/json
  1. body
workspaceItemId*string
clientMutationId?string|null

Response Body

Success

application/json
  1. response
data*
Example Request
curl -X POST 'https://api.snoze.dev/v1/workspaces/string/ai-artifacts/string/link-workspace-item' \  -H 'Content-Type: application/json' \  -d '{  "workspaceItemId": "string"}'
Example Response
{  "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"  }}