Skip to main content
GET
cURL

Authorizations

Authorization
string
header
required

Your API key, sent as Authorization: Bearer <key>. A key is nrk_live_ or nrk_test_, a 26-character key id, _ and a 43-character secret. A key sees only its own environment's data.

Each key has one or more scopes: assess creates and reads assessments, records outcomes and reports key usage; history reads assessments, an account's current risk and an account's history, and erases an account; detailed adds the detailed view; webhooks registers, tests, rotates and deletes webhook endpoints; integrations registers and manages hosted provider integrations. A missing, unknown, revoked or expired key answers 401. A valid key without the scope an operation needs answers 403.

Path Parameters

assessment_id
string
required

Path segment, matched case-sensitively. A value that does not match the assessment_id shape answers 404, not 400. Opaque, server-assigned assessment id: 'asm_' and a 26-character Crockford base32 ULID. Unique within the workspace; another workspace's assessment id answers 404.

Pattern: ^asm_[0-9A-HJKMNP-TV-Z]{26}$

Query Parameters

response_mode
enum<string>
default:standard

Optional standard or separately authorised detailed customer view; raw is rejected.

Available options:
standard,
detailed

Response

The latest assessment_version. Retry-After is present while a source is still continuing.

The assessment resource: the body of POST /v1/assessments (200 complete or partial, 202 pending), GET /v1/assessments/{assessment_id} and the assessment.updated webhook. Its main object is account: the account's one current risk, as GET /v1/accounts/{account_id} serves it, with risk.decision the decision for this assessment's flow. detail holds this assessment's own facts and score. The account's current risk comes from its latest assessment that has a decision, which is this one once it has a decision and no newer one does, and an earlier one while this one is pending. Concurrent assessments of one account each answer the account's risk as committed when they are served.

schema_version
any
required

Version of the body shape.

id
string
required

This assessment's id, equal to detail.assessment_id.

Pattern: ^asm_[0-9A-HJKMNP-TV-Z]{26}$
status
enum<string>
required

This assessment's status, equal to detail.status. While it is pending, account carries the risk of the account's previous decided assessment, or is absent.

Available options:
complete,
partial,
pending
flow
enum<string>
required

The flow the request named. account.risk.decision is the decision for it. An assessment made before flows existed reports account_creation.

Available options:
account_creation,
login,
purchase
depth
enum<string>
required

The depth the assessment was served at: the request's, or its flow's default. An assessment made before depths existed reports full.

Available options:
quick,
full
detail
Assessment detail · object
required

This assessment's own facts: its score, recommendation, signals, coverage and timing.

account
Account · object

The account's one current risk when this assessment was served, decided for this assessment's flow: the body GET /v1/accounts/{account_id} would answer, with risk.decision equal to decisions_by_flow for flow. Absent only while the account has no assessment with a decision (its first assessment is still pending); a webhook or GET of the decided assessment then carries it.