List participant risk assessments
List risk assessments for one participant, ordered by assessment time and then assessment ID. The list includes signup and sign-in assessments, and only your other activity for this participant. This response contains no device observations.
participantID accepts the participant ID or your external ID for them.
Returns an empty list when none match. Returns 404 when the participant is not yours.
Pagination is cursor-based. Omit cursor to fetch the first page. Use
nextCursor from each response to fetch the next page. The cursor is
bound to this provider and this participant.
Auth: API key or bearer token. Scoped to the calling provider.
curl -X GET https://api.moov.money/providers/{providerID}/participants/{participantID}/risk-assessments \
-u "$MOOV_API_KEY_ID:$MOOV_API_KEY_SECRET" \
-H "X-Moov-Version: v2026.10.00"{
"assessments": [
{
"assessedOn": "2026-10-06T15:00:00Z",
"assessmentID": "ras_01HF5J9ZKQT4RXP8M2VYBN3D",
"customerEvidence": {
"signals": [
{
"key": "addressRiskLevel",
"value": "low"
}
]
},
"decision": "allow",
"level": "low",
"participantID": "3v2whagmwvbujhwbt7v3nl6ffq_user",
"paymentID": "pay_01HF5J9ZKQT4RXP8M2VYBN3D",
"reviewIDs": [
"prv_01HF5J9ZKQT4RXP8M2VYBN3D"
],
"score": 0,
"transactionEvidence": {
"amlLevel": "low",
"level": "low"
}
}
]
}Response body application/problem+json
application/problem+json.
From v2026.10.00, every error response that has a body uses this schema.type
string
requiredhttps://api.moov.money/errors#<code> (for
example invalid-request, idempotency-key-reused, or
idempotency-request-in-progress). Treat the value as
an opaque constant and do not fetch it. about:blank means the HTTP
status code says everything there is to know.title
string
requiredstatus
integer<int32>
requireddetail
stringinstance
stringerrors
array<object>Show child attributes
errors[]
pointer
string
requireddetail
string
requiredHeaders
X-Moov-Version
stringv2026.10.00). When omitted, the server applies its default version.Path parameters
providerID
string
requiredparticipantID
string
requiredparticipantID, or your externalID for them. Both
resolve to the same participant.Query parameters
cursor
stringnextCursor. Omit to fetch the first page.limit
integer
<int32>Response
assessments
array<object>
requiredShow child attributes
assessments[]
assessmentID
string
requiredparticipantID
stringpaymentID
stringassessedOn
string<date-time>
requireddecision
string<enum>
requiredallow,
review,
denylevel
string<enum>low,
medium,
high,
very_highscore
number<double>reasons
array<string>customerEvidence
objectShow child attributes
assessments[].customerEvidence
signals
array<object>
requiredShow child attributes
assessments[].customerEvidence.signals[]
key
string<enum>
requiredaddressRiskLevel,
emailDomainLevel,
emailLevel,
pepLevel,
phoneLevel,
sanctionLevelvalue
string<enum>
requiredlow,
medium,
high,
very_high,
unknowntransactionEvidence
objectShow child attributes
assessments[].transactionEvidence
level
string<enum>low,
medium,
high,
very_high,
unknownamlLevel
string<enum>low,
medium,
high,
very_high,
unknownrules
array<object>Show child attributes
assessments[].rules[]
ruleID
integer<int32>
requiredname
string
requiredisLive
boolean
requiredisAllowlisted
boolean
requiredreviewIDs
array<string>nextCursor
stringhasMore
boolean
required