SnozeDevelopers
API referenceAi Jobs

Fill a field with AI in the background

Plans and starts a background job that writes one field over a database's records, as the caller, a batch of records per model call. The job runs on the workers and survives closed tabs; follow it through the job endpoints or the live job summary. Requires a Clerk session for a workspace member with the `ai:write` permission. Send an `Idempotency-Key` header to make retries safe; a replay within the window returns the original response.

POST
/v1/workspaces/{workspaceId}/agent/jobs/fill

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

Request Body

application/json
  1. body
databaseId*string
field*string
instruction*string
Length1 <= length <= 4000
onlyEmpty*boolean
viewId?string|null
ceilingMicrousd?number|null

Response Body

Success

application/json
  1. response
data*
Example Request
curl -X POST 'https://api.snoze.dev/v1/workspaces/string/agent/jobs/fill' \  -H 'Content-Type: application/json' \  -d '{  "databaseId": "string",  "field": "string",  "instruction": "string",  "onlyEmpty": true}'
Example Response
{  "data": {    "id": "string",    "workspaceId": "string",    "chatId": "string",    "kind": "records",    "status": "queued",    "statusReason": "person",    "title": "string",    "estimateMicrousd": 0,    "ceilingMicrousd": 0,    "spentMicrousd": 0,    "waivedMicrousd": 0,    "totalUnits": 0,    "doneUnits": 0,    "failedUnits": 0,    "rowsWritten": 0,    "summary": {      "unitsDone": 0,      "unitsFailed": 0,      "unitsCancelled": 0,      "rowsWritten": 0,      "rowsSkipped": 0,      "spentMicrousd": 0,      "waivedMicrousd": 0,      "durationMs": 0    },    "lastError": "string",    "createdAt": "string",    "updatedAt": "string",    "startedAt": "string",    "finishedAt": "string"  }}