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.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 folderstring | null
required
Engine ID when a single engine was explicitly specified.
null when the workflow’s own engine configuration was usedobject | null
required
Engine details when
engineId is set. Otherwise nullstring
required
Playbook ID used for the analysis (
PB- prefix). Points to the execution plan generated from the workflow’s policy textstring
required
Processing state of the analysis job:
pending / processing / completed / failednumber
required
Analysis processing time in milliseconds
string
required
System verdict for the analysis:
verified / pending_review / rejected.
See Three kinds of verification status belownumber | 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 confidenceobject | null
required
Error information when the analysis fails, carrying
code, message, and optionally details. null on successful completionobject | null
Options passed when the analysis was requested.
null if none were passedobject | null
Metadata the client passed when requesting the analysis.
null if none was passedstring | 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 integrationsstring
required
Analysis request time (ISO 8601)
string | null
required
Analysis completion time (ISO 8601).
null while incompletestring
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.
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.
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
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
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 inextractedData 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.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[].status — passed → passed, needs_review → warning, failed → failed.
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
- Analysis status
- Verification verdict
- Step status
- Finding result
- Risk level