/statements/pay
Execute owner statement payouts with one explicit selection per ownership member. Every selection books a payout transaction against its bank account. provider: "ramp" additionally dispatches an ACH payment through the exact Ramp entity and source bank account imported for that bank account; missing or ambiguous routing is rejected before payout creation. The first otherwise-valid Ramp payout activates a transfer flow whose status has never been configured; an explicitly inactive flow remains unavailable. provider: null never dispatches, even when the bank account is Ramp-backed. Each statement validates and executes atomically and independently, so one blocked statement never rolls back earlier results. Raw bank details are never accepted here; owner ACH methods are managed through POST /contacts/{id}/payment-methods/ach.
Required scope: statements:pay
Authorization
apiKey API key provided in dashboard
In: header
Query Parameters
Validate this request through the real write path, then roll back all changes. See https://docs.vrplatform.app/api/dry-run-mode.
Request Body
application/json
Payout date for every statement.
1 <= items <= 100Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://staging.api.vrplatform.app/statements/pay" \ -H "Content-Type: application/json" \ -d '{ "statements": [ { "statementId": "775b692d-f1fa-4640-9327-0c9bb8d02222", "payouts": [ { "contactId": "b5ec5d98-4bee-4da1-ad24-dde86346cb1d", "provider": "ramp", "bankAccountId": "5b26b598-a880-4e32-8c41-126aa0206857" } ] } ] }'{
"results": [
{
"statementId": "775b692d-f1fa-4640-9327-0c9bb8d02222",
"status": "requested",
"payouts": [
{
"contactId": "b5ec5d98-4bee-4da1-ad24-dde86346cb1d",
"provider": "ramp",
"amount": -9007199254740991,
"transactionId": "75906707-8c31-479c-b354-aa805c4cefbc",
"syncId": "24d9ea7f-fdab-4f53-95fd-4deda2362964"
}
],
"message": "string"
}
]
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}