Skip to main content

Endpoint

Request


Response structure — two distinct groups

The first thing to establish when reading an analysis response is which fields the system returns and which fields you defined yourself.

System fields

Returned under the same keys regardless of workflow configuration. Execution history, per-step results, and aggregate metrics live here.

Output schema fields

outputSchema, extractedData, and extractionStatus. Their internal structure differs completely from workflow to workflow.
What appears inside extractedData is determined by the output schema you defined on your workflow. Omni does not impose a fixed set of fields. This page documents system fields field by field, and describes the output schema area structurally only.

System fields

Output schema fields


Top-level fields

string
required
Unique analysis ID (analysis_ prefix)
string
required
ID of the profile this analysis belongs to
string | null
required
Target folder ID. null when the whole profile was analyzed without specifying a folder
string | null
required
Engine ID when a single engine was explicitly specified. null when the workflow’s own engine configuration was used
object | null
required
Engine details when engineId is set. Otherwise null
string
required
Playbook ID used for the analysis (PB- prefix). Points to the execution plan generated from the workflow’s policy text
string
required
Processing state of the analysis job: pending / processing / completed / failed
number
required
Analysis processing time in milliseconds
string
required
System verdict for the analysis: verified / pending_review / rejected. See Three kinds of verification status below
number | null
required
Confidence produced alongside the verification verdict (0.0 – 1.0). For verified it is the mean confidence of the passed actions; for other verdicts it is a fixed value per verdict. A different metric from confidence
object | null
required
Error information when the analysis fails, carrying code, message, and optionally details. null on successful completion
object | null
Options passed when the analysis was requested. null if none were passed
object | null
Metadata the client passed when requesting the analysis. null if none was passed
string | null
ID of the primary report generated for this analysis (rpt_ prefix)
string | null
Legacy field holding the same value as primaryReportId. Use primaryReportId for new integrations
string
required
Analysis request time (ISO 8601)
string | null
required
Analysis completion time (ISO 8601). null while incomplete
string
required
DB record creation time (ISO 8601)

Three kinds of verification status

The response contains verification status at three layers, and the value sets differ. Always confirm which layer you are reading.
The second row is a playbook action execution result, not output schema data. If your output schema defines a field with the same name, it belongs to the third row and is separate from the system verdict.
The top-level verdict is decided by aggregating per-action results: rejected if any action failed, verified if all passed, and pending_review otherwise. agentAuditLog.summary.overall_decision is derived from the same action results, so the two correspond as follows.

confidenceScore vs confidence — different metrics

The names are similar but they measure entirely different things.
A high confidenceScore does not imply a high confidence.score. The classic case: the AI confidently passed every step but not a single value landed in the output schema. If you build auto-approval logic, check confidence and details as well.

confidence — Analysis Score

This field is the Analysis Score shown at the top of the analysis detail in the Omni dashboard. The three components are combined into a weighted average to produce score, and level is the band that score falls into.

confidence.components

For example, components of 100 / 97.22 / 76.98 give a score of 90 and a level of HIGH.
If any input is null because it could not be measured, the score is normalized over the weights of the remaining inputs. When all three are null, score and level are null as well.

details[] — what lowered the score

Individual items that reduced the confidence score. Empty array when nothing was deducted.

riskAssessment

Risk level derived from the overall analysis result.

systemMetadata — execution metadata

Internal execution information captured while the AI agent ran the analysis.

systemMetadata.workflowHistory[]

Only executed work units appear here. Steps defined in the playbook but never executed are absent. To get the full step definition, also fetch GET /workflows/:workflowId and read workflowActions.

systemMetadata.tokenUsage

tokenUsagePerWorkId maps a work ID to an object with the same shape.

outputSchema · extractedData · extractionStatus — the output schema area

The internal structure of these three fields follows your workflow’s output schema entirely. There is no common field set defined by Omni. A different workflow means different key names and nesting.
outputSchema is a snapshot frozen at analysis time. Editing the workflow’s output schema afterwards does not change the outputSchema stored on past analyses.

Fields with no value

When the AI cannot find a value for a schema field in the documents, that field is not populated in extractedData and is marked missing in extractionStatus. An OUTPUT_MISSING entry is added to details[] at the same time, lowering the confidence.components.outputCompleteness score.
The keys of extractedData always match the top-level field names of your output schema. Use extractionStatus to determine which fields were actually populated.

rawActionResults — raw results per action

Raw output returned by each AI action. Keys are action names (actionName), and which actions exist depends on the workflow’s workflowActions definition.

agentAuditLog — agent execution audit log

Detailed execution log of every step the AI agent performed. More granular than rawActionResults and includes external engine calls.
agentAuditLog is an object, not an array, and its inner fields use snake_case (executed_at, item_ids, duration_ms). This differs from the camelCase convention at the response top level — take care when parsing.

agentAuditLog.steps[]

agentAuditLog.steps[].mcpcalls[]

Populated only for steps that called an external engine (AML screening, text comparison, and so on).

agentAuditLog.summary


findings[] — verification result items

An ordered summary of each action’s result, intended for display. result corresponds to agentAuditLog.steps[].statuspassedpassed, needs_reviewwarning, failedfailed.

recommendations[]

Follow-up actions generated by the system.

targetItems[] — analyzed items

Items referenced by this analysis.

Example response

The example below is fictional and exists to illustrate the structure. The fields inside outputSchema and extractedData differ per workflow.

Enum reference