/statements/pay/preview
Preview owner statement payout plans without creating transactions. The statement journals must be current. Returns authoritative per-owner allocations after server rounding, default bank accounts, ACH payment-method readiness, exact Ramp funding-source readiness, completed Ramp Category-account synchronization readiness, typed blockers for the submitted owner selections and payout date, and a non-blocking amountExceedsAvailableBalance warning for an explicit overpayment. A statement-period-locked date returns statementPeriodLocked with openFrom. An unconfigured Ramp transfer flow is eligible but remains unchanged until payment. POST /statements/pay revalidates the same blocking rules; the preview is advisory and overpayment remains allowed.
Required scope: statements:read
Authorization
apiKey API key provided in dashboard
In: header
Request Body
application/json
1 <= items <= 100Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.vrplatform.app/statements/pay/preview" \ -H "Content-Type: application/json" \ -d '{ "statements": [ { "statementId": "775b692d-f1fa-4640-9327-0c9bb8d02222" } ] }'{
"data": [
{
"statementId": "775b692d-f1fa-4640-9327-0c9bb8d02222",
"ready": true,
"connectionId": "84b500d7-71c8-4b1f-adf4-f1eb0000973d",
"amount": -9007199254740991,
"owners": [
{
"contactId": "b5ec5d98-4bee-4da1-ad24-dde86346cb1d",
"amount": -9007199254740991,
"defaultBankAccountId": "ba3bfa00-69d3-4e9f-9e9e-548577eac893",
"paymentMethod": {
"provider": "ramp",
"connectionId": "84b500d7-71c8-4b1f-adf4-f1eb0000973d",
"last4": "stri",
"status": "notConfigured",
"failureReason": "string"
},
"ready": true
}
],
"issues": [
{
"code": "statementNotFound",
"message": "string",
"contactId": "b5ec5d98-4bee-4da1-ad24-dde86346cb1d",
"openFrom": "string"
}
],
"warnings": [
{
"code": "amountExceedsAvailableBalance",
"message": "Payout amount exceeds statement available balance",
"availableBalance": -9007199254740991,
"excessAmount": -9007199254740991
}
]
}
]
}{
"code": "AUDIT_CURSOR_EXPIRED",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "MISDIRECTED_REQUEST",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": {
"teamId": "a4ede8ba-7c0a-4485-8763-cbd9b282fbec",
"dataRegion": "ap",
"apiBaseUrl": "http://example.com"
}
}{
"code": "AUDIT_CURSOR_EXPIRED",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "LOCKED",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "AUDIT_CURSOR_EXPIRED",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}