Skip to main content
POST
/
v3
/
sessions
/
{session_id}
/
reviews
curl
curl -s -X POST https://verification.didit.me/v3/sessions/8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d/reviews/ \
  -H 'x-api-key: YOUR_API_KEY' \
  -H "Content-Type: application/json" \
  -d '{
    "new_status": "Approved",
    "comment": "POA cross-checked against utility bill; matches address on file."
  }'
{
  "user": "API Client",
  "new_status": "Approved",
  "comment": "POA cross-checked against utility bill; matches address on file.",
  "created_at": "2026-04-21T16:42:50.445Z"
}

Authorizations

x-api-key
string
header
required

Headers

Content-Type
string
required

Must be application/json.

Example:

"application/json"

Path Parameters

session_id
string<uuid>
required

UUID of the verification session to act on. Must be a session owned by the same application as the API key.

Example:

"8c2f3a14-7e9b-4d23-9e83-3f7d5e8a1c6d"

Body

application/json
new_status
enum<string>
required

Terminal status to set on the session. Only the three manual-review outcomes are accepted; workflow-internal statuses (In Progress, Awaiting User, Resubmitted, …) cannot be set via this endpoint.

Available options:
Approved,
Declined,
In Review
Example:

"Approved"

comment
string

Optional reviewer note attached to the audit-trail entry. Supports @email mentions which trigger notifications to console users. Max 10,000 characters.

Maximum string length: 10000
Example:

"POA cross-checked against utility bill; matches address on file."

Response

Review created. The session's top-level status has been updated to new_status, an immutable audit-trail row has been written, and the status.updated webhook has been queued.

user
string

Display identifier for the actor that created the review. For API-key callers this is typically "API Client"; for console users it is the user's email or display name.

Example:

"API Client"

new_status
enum<string>

The status that was just written to the session.

Available options:
Approved,
Declined,
In Review
Example:

"Approved"

comment
string | null

The reviewer note that was attached to the review, or null if none was provided.

Example:

"POA cross-checked against utility bill; matches address on file."

created_at
string<date-time>

When the review row was persisted, ISO 8601 UTC.

Example:

"2026-04-21T16:42:50.445Z"