Preview
Get participant review
GET
/providers/{providerID}/participant-reviews/{reviewID}
Fetch one participant review with the current state of the participant’s
relationship with your provider. The review versionID and
relationship.versionID come from one read. Fetch this detail again
before you suspend from the review.
A review from another provider and a missing review both return 404.
Auth: API key or bearer token. Scoped to the calling provider. Requires participant-review read access.
Request
curl -X GET https://api.moov.money/providers/{providerID}/participant-reviews/{reviewID} \
-u "$MOOV_API_KEY_ID:$MOOV_API_KEY_SECRET" \
-H "X-Moov-Version: v2026.10.00"Responses
The request completed successfully.
Pending review
{
"review": {
"assessmentIDs": [
"ras_01HF5J9ZKQT4RXP8M2VYBN3D"
],
"assigneeUserID": "4d7c1b9e-2f3a-4e5b-8c6d-7e8f9a0b1c2d",
"createdOn": "2026-10-06T15:00:00Z",
"externalID": "customer-abc-123",
"notes": [
{
"actor": {
"callingAccountID": "acc_01HF5J9ZKQT4RXP8M2VYBN3D",
"kind": "user",
"userID": "4d7c1b9e-2f3a-4e5b-8c6d-7e8f9a0b1c2d"
},
"createdOn": "2026-10-06T15:30:00Z",
"resolvedByDisplay": {
"displayName": "Jordan Lee",
"email": "[email protected]"
},
"text": "Contacted participant"
}
],
"participantID": "3v2whagmwvbujhwbt7v3nl6ffq_user",
"reason": "Investigate sign-in activity",
"relationship": {
"suspended": false,
"versionID": "relationship-v4"
},
"reviewID": "8b1f6c2e-4d3a-5e7f-9a0b-1c2d3e4f5a6b",
"status": "pending",
"versionID": "review-v2"
}
}Pending review joined by an automatic open
{
"review": {
"assessmentIDs": [
"ras_01HF5J9ZKQT4RXP8M2VYBN3D",
"ras_01HF5J9ZKQT4RXP8M2VYBN3F"
],
"assigneeUserID": "4d7c1b9e-2f3a-4e5b-8c6d-7e8f9a0b1c2d",
"createdOn": "2026-10-06T15:00:00Z",
"externalID": "customer-abc-123",
"notes": [
{
"actor": {
"kind": "system"
},
"createdOn": "2026-10-06T15:10:00Z",
"text": "Sign-in risk assessment returned review"
},
{
"actor": {
"callingAccountID": "acc_01HF5J9ZKQT4RXP8M2VYBN3D",
"kind": "user",
"userID": "4d7c1b9e-2f3a-4e5b-8c6d-7e8f9a0b1c2d"
},
"createdOn": "2026-10-06T15:30:00Z",
"resolvedByDisplay": {
"displayName": "Jordan Lee",
"email": "[email protected]"
},
"text": "Contacted participant"
}
],
"participantID": "3v2whagmwvbujhwbt7v3nl6ffq_user",
"reason": "Investigate sign-in activity",
"relationship": {
"suspended": false,
"versionID": "relationship-v4"
},
"reviewID": "8b1f6c2e-4d3a-5e7f-9a0b-1c2d3e4f5a6b",
"status": "pending",
"versionID": "review-v3"
}
}Resolved by suspension
{
"review": {
"assessmentIDs": [
"ras_01HF5J9ZKQT4RXP8M2VYBN3D"
],
"assigneeUserID": "4d7c1b9e-2f3a-4e5b-8c6d-7e8f9a0b1c2d",
"createdOn": "2026-10-06T15:00:00Z",
"externalID": "customer-abc-123",
"notes": [
{
"actor": {
"callingAccountID": "acc_01HF5J9ZKQT4RXP8M2VYBN3D",
"kind": "user",
"userID": "4d7c1b9e-2f3a-4e5b-8c6d-7e8f9a0b1c2d"
},
"createdOn": "2026-10-06T15:30:00Z",
"resolvedByDisplay": {
"displayName": "Jordan Lee",
"email": "[email protected]"
},
"text": "Contacted participant"
}
],
"participantID": "3v2whagmwvbujhwbt7v3nl6ffq_user",
"reason": "Investigate sign-in activity",
"relationship": {
"suspended": true,
"versionID": "relationship-v5"
},
"resolution": {
"action": "suspend",
"actor": {
"callingAccountID": "acc_01HF5J9ZKQT4RXP8M2VYBN3D",
"kind": "user",
"userID": "4d7c1b9e-2f3a-4e5b-8c6d-7e8f9a0b1c2d"
},
"reason": "Unresolved identity concern",
"reasonCode": "suspected-fraud",
"resolvedByDisplay": {
"displayName": "Jordan Lee",
"email": "[email protected]"
},
"resolvedOn": "2026-10-06T16:00:00Z"
},
"reviewID": "8b1f6c2e-4d3a-5e7f-9a0b-1c2d3e4f5a6b",
"status": "resolved",
"versionID": "review-v3"
}
}Resolved with no action
{
"review": {
"assessmentIDs": [
"ras_01HF5J9ZKQT4RXP8M2VYBN3E"
],
"createdOn": "2026-10-05T12:00:00Z",
"externalID": "customer-def-456",
"notes": [],
"participantID": "7k4xr2mqp9bujhwbt7v3nl6aaz_user",
"relationship": {
"suspended": false,
"versionID": "relationship-v2"
},
"resolution": {
"action": "no_action",
"actor": {
"callingAccountID": "acc_01HF5J9ZKQT4RXP8M2VYBN3D",
"kind": "user",
"userID": "4d7c1b9e-2f3a-4e5b-8c6d-7e8f9a0b1c2d"
},
"reason": "Concern cleared after investigation",
"resolvedByDisplay": {
"displayName": "Jordan Lee",
"email": "[email protected]"
},
"resolvedOn": "2026-10-05T14:00:00Z"
},
"reviewID": "8b1f6c2e-4d3a-5e7f-9a0b-1c2d3e4f5a6c",
"status": "resolved",
"versionID": "review-v3"
}
}Authentication missing, invalid, or insufficient.
Authentication present but the action is forbidden for this principal/claim.
The requested resource was not found.
Headers
X-Moov-Version
stringSet this header to the API version being targeted (e.g.
v2026.10.00). When omitted, the server applies its default version.Path parameters
providerID
string
requiredYour provider account ID.
reviewID
string
requiredIdentifier of the participant review.
Response
Response envelope for a participant review; the review is nested under
review.review
object
requiredThe full participant review.
Show child attributes
review
reviewID
string
requiredUnique system-assigned participant-review identifier.
participantID
string
requiredParticipant under review.
externalID
string
requiredYour identifier for the participant under review.
status
string<enum>
requiredCurrent review status.
Possible values:
pending,
resolvedversionID
string
requiredOpaque state-version token for this review. Send it back as
expectedVersionID on your next note, assignment, or resolution.reason
stringWhy the review was opened. Omitted when a risk assessment opened the review without a written reason.
assessmentIDs
array<string>
requiredRisk assessments linked to this review. An open request that joins this
pending review adds its
assessmentID here. Empty when none are linked.assigneeUserID
stringMoov user ID of the team member assigned to this review. Omitted while unassigned.
createdOn
string<date-time>
requiredWhen the review was opened.
resolution
objectThe decision. Present when
status is resolved.Show child attributes
review.resolution
action
string<enum>
requiredThe decision.
Possible values:
no_action,
suspendreason
string
requiredYour explanation of the decision.
reasonCode
string<enum>Suspension classification you chose. Present when
action is
suspend. When the relationship was already suspended, the relationship
keeps its original classification and this field records your decision
only.Possible values:
suspected-fraud,
account-compromise,
customer-request,
compliance-review,
legal-hold,
policy-violation,
otherresolvedOn
string<date-time>
requiredWhen the review was resolved.
actor
object
requiredWho resolved the review.
Show child attributes
review.resolution.actor
kind
string<enum>
requiredKind of actor.
Possible values:
user,
application,
systemuserID
stringMoov user ID of the person who acted. Present when
kind is user. Omitted when kind is application or system.applicationKeyID
stringID of the application key that acted. Present when
kind is application. Omitted when kind is user or system.callingAccountID
stringMoov account ID that the actor acted from. Present when
kind is user or application. Omitted when kind is system.resolvedByDisplay
objectDisplay recorded for
actor when the review was resolved. A person shows
the name and email recorded then. An application actor and a system
actor show a fixed label. Omitted when no display was recorded; actor
still identifies who resolved the review.Show child attributes
review.resolution.resolvedByDisplay
displayName
string
requiredName shown for the actor. A
user actor uses the name recorded at
resolution. An application actor uses the fixed label
API application. A system actor uses the fixed label Moov Money.stringEmail recorded for a person at resolution. Omitted for an application
actor, a system actor, or when no email was recorded.
relationship
object
requiredCurrent state of the participant’s relationship with your provider.
Send
relationship.versionID as expectedRelationshipVersionID when
you suspend from this review.Show child attributes
review.relationship
suspended
boolean
requiredWhether you suspended this participant. A suspended participant cannot
send payouts or create requests through your provider. Money that a
payer sends for one of their existing requests is not paid out to them
until you reactivate them or the request expires. Signing in, payments
that already started, reversals, and refunds are not affected.
versionID
string
requiredOpaque version of the relationship state. Send it as
expectedVersionID
on your next suspension or reactivation. It is not a relationship ID.notes
array<object>
requiredNotes on the review, oldest first. Empty when none exist.
Show child attributes
review.notes[]
text
string
requiredNote text.
createdOn
string<date-time>
requiredWhen the note was added.
actor
object
requiredWho added the note.
Show child attributes
review.notes[].actor
kind
string<enum>
requiredKind of actor.
Possible values:
user,
application,
systemuserID
stringMoov user ID of the person who acted. Present when
kind is user. Omitted when kind is application or system.applicationKeyID
stringID of the application key that acted. Present when
kind is application. Omitted when kind is user or system.callingAccountID
stringMoov account ID that the actor acted from. Present when
kind is user or application. Omitted when kind is system.resolvedByDisplay
objectDisplay recorded for
actor when the note was added. A person shows the
name and email recorded then. An application actor and a system actor
show a fixed label. Omitted when no display was recorded; actor still
identifies who added the note.Show child attributes
review.notes[].resolvedByDisplay
displayName
string
requiredName shown for the actor. A
user actor uses the name recorded at
resolution. An application actor uses the fixed label
API application. A system actor uses the fixed label Moov Money.stringEmail recorded for a person at resolution. Omitted for an application
actor, a system actor, or when no email was recorded.