Get a risk assessment

A risk assessment is the immutable, point-in-time record of one Risk analysis. Each completed Risk order produces an assessment, and the business’s risk.latest_assessment_id always points at the newest one.

Retrieving assessments

Three endpoints return risk assessments:

EndpointReturns
GET /v1/businesses/{business_id}/risk_assessmentsEvery assessment for the business, newest first
GET /v1/businesses/{business_id}/risk_assessments/latestThe latest scored assessment
GET /v1/businesses/{business_id}/risk_assessments/{id}A single assessment by ID

The endpoints return 403 when your account is not enabled for risk, and 404 when the business has no risk assessment.

Get the latest risk assessment
$curl https://api.middesk.com/v1/businesses/{business_id}/risk_assessments/latest \
> -H "Authorization: Bearer YOUR_API_KEY"

Anatomy of a risk assessment

Example risk assessment
1{
2 "object": "risk_assessment",
3 "id": "5f8c9d0e-1a2b-4c3d-8e9f-6a7b8c9d0e1f",
4 "created_at": "2026-07-21T18:03:11.402Z",
5 "order_id": "a58a4f4e-7f3b-4c8e-9d2a-1b0c9d8e7f6a",
6 "business_snapshot_url": "https://api.middesk.com/v1/businesses/0793f2a2-e315-4b6a-9f0c-2d1e3c4b5a69?order_id=a58a4f4e-7f3b-4c8e-9d2a-1b0c9d8e7f6a",
7 "title": "Likely transaction laundering: the storefront cannot support its stated sales volume.",
8 "description_markdown": "Acme Home Goods presents as a small home furnishings retailer, but its storefront shows several traits common to laundering fronts.\n\n- The checkout flow displays no-refund language ([acmehomegoods.com/checkout](https://acmehomegoods.com/checkout))\n- The product catalog reuses stock imagery found on unrelated storefronts ([acmehomegoods.com/shop](https://acmehomegoods.com/shop))",
9 "level": "high",
10 "score": 68,
11 "dimensions": [
12 {
13 "object": "risk_dimension",
14 "type": "transaction_laundering",
15 "score": 0.72,
16 "level": "high",
17 "top_factors": [
18 {
19 "name": "website_has_no_refund_language",
20 "type": "boolean",
21 "value": true,
22 "contribution": 0.28
23 },
24 {
25 "name": "url_risk_score",
26 "type": "double",
27 "value": 0.0,
28 "contribution": -0.17
29 }
30 ]
31 }
32 ],
33 "identifier_assessments": [
34 {
35 "object": "email_risk",
36 "id": "idr_9f3c2a71e4b8d605",
37 "resource": {
38 "type": "email_address",
39 "id": "e7a8b9c0-d1e2-4f3a-8b4c-5d6e7f8a9b0c",
40 "value": "[email protected]"
41 },
42 "score": 0.81,
43 "attributes": [
44 { "name": "email_is_valid", "type": "boolean", "value": true },
45 { "name": "email_deliverability_low", "type": "boolean", "value": true }
46 ]
47 }
48 ]
49}
FieldTypeDescription
objectstringAlways risk_assessment
idstringUnique identifier for the assessment
created_attimestampWhen Middesk produced the assessment
order_idstring, nullableThe order the assessment was produced against
business_snapshot_urlstring, nullableResolves to GET /businesses/{id}?order_id={order_id}, the business as of that order
titlestring, nullableOne-sentence analyst headline summarizing the verdict
description_markdownstring, nullableCommonMark summary: a lead sentence plus short bullets, with links only to evidence URLs. Render it with a Markdown renderer that does not execute embedded HTML
levelstringOne of low, moderate, high, or not_available
scoreinteger0 to 100, the model’s 0 to 1 score rounded. level is banded from score, so the two always agree
dimensionsarrayBusiness-level scored risk dimensions
identifier_assessmentsarrayPer-resource assessments for email addresses, phone numbers, and the website URL. See identifier risk

Investigating an assessment

Assessments are immutable and tied to the order that produced them. The live business record is not: later orders can refresh names, contacts, and other sub-resources, so the business you fetch today may differ from the business the assessment scored.

To see exactly the data the assessment was scored against, fetch the business as of that order. Follow business_snapshot_url, or request GET /businesses/{id}?order_id={order_id} with the assessment’s order_id.

Next steps

Get a demo
Contact your account manager or contact sales to inquire about access.