v1

latestOpenAPI 3.1.02026-07-2618690613.4 KB
AI

Get AI job status

Retrieve the current status and details of an AI job, including its state, progress information, and result summary.

The response fields vary by state — for example, progress is only present during EXECUTING, and resultSummary is only present when COMPLETE.

Poll this endpoint every 2–5 seconds until the job reaches a terminal state (COMPLETE, FAILED, or CANCELLED).

get/v1/ai/jobs/{jobId}

Path parameters

jobIdstring uuid required

The unique identifier of the AI job

Response

Job status retrieved successfully

idstring uuid

The unique identifier for this job.

state'CANCELLED' | 'COMPLETE' | 'DELIVERING' | 'EXECUTING' | 'FAILED' | 'QUEUED'

Current state of the job. Terminal states are COMPLETE, FAILED, and CANCELLED. Poll until the job reaches a terminal state.

promptstring

The natural language prompt that was submitted.

conversationIdstring uuid

The conversation this job is associated with. Use this to submit follow-up jobs in the same conversation thread.

modelIdstring uuid nullable

The shared model ID used for query generation.

branchIdstring uuid nullable

Branch ID used for model context, or null if querying the main shared model.

organizationIdstring uuid

The organization that owns this job.

userIdstring uuid

The user ID who created (or is associated with) this job.

topicNamestring nullable

Topic name used to scope query generation, or null if the AI selected the topic automatically.

omniChatUrlstring uri

URL to view this conversation in the Omni chat interface. Opens the chat session where the job actions and results are visible.

resultSummarystring

Only present in COMPLETE state. Markdown-formatted summary of the job result. For the full result with query details and data, use the Stream AI job results endpoint.

createdAtstring date-time

When the job was submitted.

executionStartedAtstring date-time

When execution began. Present once the job transitions from QUEUED to EXECUTING. May be absent on jobs that failed or were cancelled before execution started.

completedAtstring date-time

Present in COMPLETE and FAILED states. When the job finished (successfully or with error).

cancelledAtstring date-time

When the job was cancelled.

cancelledBystring uuid

Only present in CANCELLED state. User ID of who cancelled the job.

updatedAtstring date-time

When the job record was last modified.

Example response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "state": "QUEUED",
  "prompt": "What are the top 5 products by revenue?",
  "conversationId": "660e8400-e29b-41d4-a716-446655440001",
  "modelId": "770e8400-e29b-41d4-a716-446655440002",
  "organizationId": "880e8400-e29b-41d4-a716-446655440003",
  "userId": "990e8400-e29b-41d4-a716-446655440004",
  "topicName": "order_items",
  "omniChatUrl": "https://blobsrus.omni.co/chat/660e8400-e29b-41d4-a716-446655440001",
  "progress": {
    "iteration": 2,
    "message": "Running query: Top products by revenue",
    "updatedAt": "2025-01-15T10:00:08.000Z"
  },
  "resultSummary": "### Top 5 Products by Revenue\n\n1. **Sunglasses** - $678,994\n2. **Jeans** - $475,072",
  "error": {
    "code": "QUERY_EXECUTION_ERROR",
    "message": "Column 'revenue' not found in table 'orders'",
    "detail": "The query timed out after 300 seconds"
  },
  "createdAt": "2025-01-15T10:00:00.000Z",
  "executionStartedAt": "2025-01-15T10:00:05.000Z",
  "completedAt": "2025-01-15T10:01:30.000Z",
  "cancelledAt": "2025-01-15T10:00:12.000Z",
  "cancelledBy": "990e8400-e29b-41d4-a716-446655440004",
  "updatedAt": "2025-01-15T10:00:05.000Z"
}