Submit an AI job
Changed onSubmit a new AI job for asynchronous execution. The AI will analyze the prompt, generate and execute queries against the specified model, and produce a summarized answer. Jobs are processed by a background worker and typically complete within 15–60 seconds. Use GET /api/v1/ai/jobs/{jobId} to poll for status, or configure a webhookUrl to receive a notification when the job completes. Optionally continue an existing conversation by providing a conversationId. A /identifier in the prompt runs that saved skill, edits it when the prompt asks for a change, or deletes it when the prompt asks for that, resolved as the effective user. The effective user's per-connector AI toggles (set in the chat + menu) govern which integration tools the agent may use. The agent can also build and modify dashboards. A dashboard it creates is published; an edit to an existing dashboard lands on that dashboard's draft, and the job publishes that draft only when the prompt asks it to (for example "fix the revenue tile and publish it"). Publishing makes the draft live for everyone who views the dashboard, and takes any changes already sitting in that draft live with it.
Request
- Base URLhttps://omniapp.co (the document declares no server; this is the origin it was published from)
- URLhttps://omniapp.co/api/v1/ai/jobs
- AuthHTTP bearer
Query parameters
Target user ID (for org-scoped API keys)
Request body
Example request
{
"attachments": [
{
"data": "iVBORw0KGgoAAAANSUhEUgAA...",
"mimeType": "image/png",
"name": "legacy-dashboard-screenshot.png"
}
],
"branchId": "550e8400-e29b-41d4-a716-446655440000",
"conversationId": "660e8400-e29b-41d4-a716-446655440001",
"modelId": "770e8400-e29b-41d4-a716-446655440002",
"progressWebhookEnabled": true,
"prompt": "What are the top 5 products by revenue this quarter?",
"requestedLlm": {
"model": "claude-sonnet-5",
"provider": "bedrock",
"thinking": "medium"
},
"topicName": "order_items",
"webhookMetadata": {
"externalId": "task-123",
"slackChannel": "C0123456789"
},
"webhookUrl": "https://example.com/webhooks/omni"
}Response
Job created and queued for execution. Use the returned jobId to poll for status or retrieve results.
Example response
{
"conversationId": "660e8400-e29b-41d4-a716-446655440001",
"jobId": "550e8400-e29b-41d4-a716-446655440000",
"omniChatUrl": "https://my-org.omni.co/chat/660e8400-e29b-41d4-a716-446655440001"
}Changes
- breaking
the response property
became optional for the status
- breaking
- info
added the new
baseten_managedenum value to the request property/
- info