Review the queue
GET /v1/payments/requests — across customers, scoped by programId or
allPrograms=true (bounded to your entitled programs). Without a status filter you get
the actionable ones: PENDING and PENDING_TM (held by transaction monitoring). Filters:
customerId, accountId, id, type, subType, currency, fromDate/toDate;
paginate with page/limit; resultType=file exports CSV (presigned URL, short expiry).
Resolve
POST /v1/payments/requests/status:
statusisCOMPLETED(approve — the payment proceeds) orFAILED(reject).- Up to 50
paymentIdsper call. errorReasonis required when rejecting — it’s stored on the request’s history.
PENDING / PENDING_TM can be resolved.
Transaction-monitoring decision
For a payment held specifically by transaction monitoring, record the officer decision withPOST /customers/{customerId}/accounts/{accountId}/payments/compliance-trigger
(claim payments.create) — body { "paymentRequestId" | "transactionId", "action" } where
action is APPROVED or REJECTED.