VRPlatformVRPlatform
ContactsPayments

/contacts/{id}/payment-methods/ach

Send write-only owner or vendor ACH details to Ramp for verification. Owners need admin access to their own contact. The server resolves the connection, which must have an active Vendor owner.

Required scope: ach-payment-methods:write

POST
/contacts/{id}/payment-methods/ach
X-API-Key<token>

API key provided in dashboard

In: header

Path Parameters

id*string
Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid

Query Parameters

dryRun?boolean

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

provider*string
legalName*string
Length1 <= length
routingNumber*string
Match^\d{9}$
accountNumber*string
Match^\d{4,17}$

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

curl -X POST "https://api.vrplatform.app/contacts/497f6eca-6276-4993-bfeb-53cbbbba6f08/payment-methods/ach" \  -H "Content-Type: application/json" \  -d '{    "provider": "ramp",    "legalName": "string",    "routingNumber": "string",    "accountNumber": "string"  }'
{
  "contactId": "b5ec5d98-4bee-4da1-ad24-dde86346cb1d",
  "provider": "ramp",
  "connectionId": "84b500d7-71c8-4b1f-adf4-f1eb0000973d",
  "last4": "stri",
  "status": "pending",
  "operation": {
    "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": "RAMP_VENDOR_OWNER_REQUIRED",
  "reason": "accountClassificationLocked",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "code": "duplicateLast4",
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": {
    "connectionId": "84b500d7-71c8-4b1f-adf4-f1eb0000973d",
    "flowId": "ccd52024-9c9c-4751-993a-9d75a778bf9d",
    "settingKey": "vendorOwner"
  }
}
{
  "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
}