Skip to content

Create Risk Assessment Job

POST /api/v1/analysis/risk

Submits a fast risk-assessment job for a blob of text. Use this when you need a quick numeric compliance signal — for routing, gating, triage, or scoring — without the full finding-and-citation payload returned by Create Screen Analysis Job.

Unlike screen analysis, risk assessment returns its result inline on the submit response when the job completes synchronously. The same envelope can also be fetched later through the Get Job.

{
"content": {
"type": "text",
"text": "we can't provide a provisional dispute credit until the investigation is completed"
},
"scenario": "dispute"
}
NameTypeRequiredDescription
content.typestringyesContent type. v1 supports text.
content.textstringyesText to score for compliance risk. Min 1 character.
scenariostringyesOne of the scenario enum values. Selects the screening context the backend uses.

Same scenario values as Create Screen Analysis Job:

ValueUse for
marketing_assetOutbound promotional content
disputeTransaction or billing error handling
debt_collectionCollections communications
complaintResponses to consumer complaints
genericAnything that does not fit the specialized buckets above

Returns 200 OK with the terminal job envelope. The type discriminator is always risk_assessment.

{
"id": "job_01HY3K4M7QR9VP2N8WYJF5GTB",
"type": "risk_assessment",
"status": "succeeded",
"result": {
"type": "analysis.risk.result",
"riskScore": 72
},
"error": null
}
{
"id": "job_01HY3K4M7QR9VP2N8WYJF5GTB",
"type": "risk_assessment",
"status": "failed",
"result": null,
"error": {
"code": "analysis_failed",
"message": "Risk assessment could not be completed."
}
}

For the reusable object reference, see The Risk Assessment Result Object.

FieldTypeDescription
typestringResult discriminator. Always analysis.risk.result.
riskScoreintegerOverall compliance risk score (0–100). 0–20: Limited. 21–40: Low. 41–60: Moderate. 61–80: High. 81–100: Critical.

Submit calls are rate-limited per API key. If the caller exceeds the limit, the endpoint responds with 429 rate_limit_exceeded and a Retry-After header. See Errors for the shared error envelope.

GET /api/v1/jobs/{id}

The same id returned on submit can be re-fetched through the Get Job. The response envelope is identical to the submit response, with the standard running / succeeded / failed status lifecycle and createdAt / updatedAt timestamps.

  • Risk Assessment — fast numeric score only; ideal for gating, triage, routing, and high-volume scoring.
  • Screen Analysis — full prioritized findings with regulatory citations; ideal for human review, redlines, and audit trails.