VRPlatformVRPlatform
StatementsPayments

/statements/pay

Record payouts for up to 1,000 statements with explicit owner selections; Ramp selections also request ACH payment. Returns outcomes with 200 or a pending operation with 202.

Required scope: statements:record-payout

POST
/statements/pay
X-API-Key<token>

API key provided in dashboard

In: header

Query Parameters

waitSeconds?integer
Default5
Range0 <= value <= 20
dryRun?boolean

Validate this request through the real write path, then roll back all changes. See https://docs.vrplatform.app/api/dry-run-mode.

Header Parameters

Idempotency-Key?string

UUID for retries of the same submission. Required for payments above 100 statements. Reusing it with a different request returns 409.

Formatuuid

Request Body

application/json

date?string|null

Payout date for every statement. Defaults to the date the submission is accepted.

statements*

Up to 1,000 statements per payment submission, or 100 for dry-run.

Items1 <= items <= 1000

Response 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

application/json

curl -X POST "https://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"          }        ]      }    ]  }'
{
  "providerOperation": {
    "operationId": "3051932a-fdd2-48fa-b330-7e7d41535969",
    "type": "ach-verification",
    "status": "queued",
    "resource": {
      "type": "bank-rule",
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "role": "source"
    }
  },
  "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"
        }
      ],
      "message": "string"
    }
  ],
  "failure": {
    "code": "csvBlankHeader",
    "message": "CSV contains a blank header"
  }
}
{
  "operationId": "3051932a-fdd2-48fa-b330-7e7d41535969",
  "type": "ach-verification",
  "status": "queued",
  "resource": {
    "type": "bank-rule",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "role": "source"
  }
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "reason": "accountClassificationLocked",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "code": "duplicateLast4",
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "reason": "accountClassificationLocked",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "code": "duplicateLast4",
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "reason": "accountClassificationLocked",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "code": "duplicateLast4",
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "reason": "accountClassificationLocked",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "code": "duplicateLast4",
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "reason": "accountClassificationLocked",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "code": "duplicateLast4",
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "reason": "accountClassificationLocked",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "code": "duplicateLast4",
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "reason": "accountClassificationLocked",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "code": "duplicateLast4",
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "MISDIRECTED_REQUEST",
  "reason": "accountClassificationLocked",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "code": "duplicateLast4",
      "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",
  "reason": "accountClassificationLocked",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "code": "duplicateLast4",
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "LOCKED",
  "reason": "accountClassificationLocked",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "code": "duplicateLast4",
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "reason": "accountClassificationLocked",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "code": "duplicateLast4",
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "reason": "accountClassificationLocked",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "code": "duplicateLast4",
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}