Resolve provider review

POST
/providers/{providerID}/reviews/{reviewID}/resolutions

Resolve a pending review. Approve to let the payout proceed; reject to block it. Rejecting the last pending review on a cancellable payout (authorized or accepted) cancels that payout.

Returns 201 with the resolved review. Re-resolving an already-resolved review returns 409. A review from another provider returns 404 without side effects. An invalid resolution value returns 400.

Auth: API key or bearer token. Scoped to the calling provider.

Request
cURL
curl -X POST https://api.moov.money/providers/{providerID}/reviews/{reviewID}/resolutions \
  -H "Content-Type: application/json" \
  -d '{
  "notes": "Verified account holder",
  "resolution": "approved"
}'
Responses
201 400 401 404 409 422
The resource was successfully created.
{
  "review": {
    "createdOn": "2026-08-31T12:00:00Z",
    "payout": {
      "amount": {
        "currency": {
          "code": "USD",
          "decimalPlaces": 2,
          "name": "US Dollar",
          "numericCode": "840"
        },
        "value": "100.00"
      },
      "payoutID": "pay_01HF5J9ZKQT4RXP8M2VYBN3D",
      "recipientName": "Jane Doe",
      "status": "initiated"
    },
    "reason": "Payout amount above review threshold",
    "reviewID": "prv_01HF5J9ZKQT4RXP8M2VYBN3D",
    "riskAssessmentID": "ras_01HF5J9ZKQT4RXP8M2VYBN3D",
    "status": "pending"
  }
}
Malformed request: the body or headers failed validation.
Authentication missing, invalid, or insufficient.
The requested resource was not found.
The request conflicts with the current state of the target resource.
The request was well-formed but couldn’t be processed (e.g. card declined).

Headers

X-Moov-Version

string
Set this header to the API version being targeted (e.g. v2026.07.00). When omitted, the server applies its default version.

Path parameters

providerID

string required
Your provider account ID.

reviewID

string required
Identifier of the review.

Request

application/json
Your resolution for a pending review. resolution must be approved or rejected.

notes

string
Optional free-form notes (max 512 characters).

resolution

string<enum> required
Your decision for this review. Must be approved or rejected.
Possible values: approved, rejected

Response

Response envelope for resolve review; the resolved review is nested under review.

review

object required
The resolved review summary.
Show child attributes

review

status

string<enum> required
Current review status.
Possible values: pending, approved, rejected

reason

string
Human-readable reason the payout was placed in review.

riskAssessmentID

string
Risk assessment that produced this review, when available.

payout

object required
Payout summary for the queue.
Show child attributes

review.payout

amount

object required
Payout amount and currency.
Show child attributes

review.payout.amount

currency

object required
ISO 4217 currency descriptor.
Show child attributes

review.payout.amount.currency

decimalPlaces

integer<uint8> required
Number of minor-unit decimal places for code. Required.

numericCode

string
ISO 4217 numeric currency code, if known. Informational only.

name

string
Human-readable currency name, if known. Informational only.

code

string required
Uppercase 3-letter ISO 4217 currency code.

value

string required
Decimal amount as a string.

recipientName

string
Recipient display name when known (given + family), otherwise omitted.

status

string<enum> required
Current lifecycle status of the payout.
Possible values: initiated, authorized, accepted, claiming, completed, failed, payout_failed, cancelled, expired, denied

payoutID

string required
Unique system-assigned payout identifier.

createdOn

string<date-time> required
When the review was created.

resolvedOn

string<date-time>
When the review was resolved. Omitted while pending.

reviewID

string required
Unique system-assigned review identifier.