/plaid/connect/configure
Apply every required bank-account configuration for a Plaid connect session in one mutation, then create exactly one durable initial transaction sync. Connect decisions can reference an eligible existing GL bank account or create one using the normal account schema. An explicit opening balance can be initialized before the team has selected its statement start date. Selecting an eligible GL account may transfer it from inactive predecessor feeds only while preserving historical bank-record ownership. Archive decisions make the external feed inactive. The earliest selected startDate controls history ingestion. Repeating a completed connectId returns the same sync. If eligibility or the active feed mapping changed after completion, a PLAID_CONNECT_CONFIGURATION_CHANGED conflict returns the refreshed screen model in context.result. See https://docs.vrplatform.app/guides/build/banking.
Required scope: bank-connections:manage
Authorization
apiKey API key provided in dashboard
In: header
Request Body
application/json
^([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)$uuidResponse 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/plaid/connect/configure" \ -H "Content-Type: application/json" \ -d '{ "connectId": "b5b9696e-e02a-4940-9e42-1bad8e6e0913", "bankAccounts": [ { "bankAccountId": "5b26b598-a880-4e32-8c41-126aa0206857", "action": "connect", "account": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }, "category": "trust", "startDate": "string" } ] }'{
"connectId": "b5b9696e-e02a-4940-9e42-1bad8e6e0913",
"status": "completed",
"connectionId": "84b500d7-71c8-4b1f-adf4-f1eb0000973d",
"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",
"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": "PLAID_CONNECT_CONFIGURATION_CHANGED",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": {
"result": {
"connectId": "b5b9696e-e02a-4940-9e42-1bad8e6e0913",
"connection": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"status": "active"
},
"accounts": [
{
"id": "string",
"name": "string",
"uniqueRef": "string",
"status": "active",
"banking": {
"category": "trust",
"currency": "string",
"last4": "string",
"type": "deposit"
}
}
],
"bankAccountCategories": [
"trust"
],
"bankAccounts": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"type": "deposit",
"category": "trust",
"currency": "string",
"lastDigits": "string",
"persistentRef": "string",
"status": "active",
"startDate": "string",
"account": {
"id": "string",
"name": "string",
"uniqueRef": "string",
"status": "active"
},
"configuration": {
"status": "configured",
"canConnect": true,
"canCreateAccount": true,
"suggestedAccount": {
"id": "string",
"name": "string",
"uniqueRef": "string",
"status": "active"
},
"suggestedCategory": "trust",
"suggestedStartDate": "string"
},
"issues": [
{
"code": "deterministicDuplicate",
"severity": "error",
"context": {
"bankAccounts": [
{
"bankAccountId": "5b26b598-a880-4e32-8c41-126aa0206857",
"name": "string",
"lastDigits": "string",
"connection": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string"
},
"account": {
"id": "string",
"name": "string",
"uniqueRef": "string",
"status": "active"
}
}
]
}
}
]
}
],
"status": "awaitingConfiguration",
"sync": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"status": "queued"
}
},
"accountIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"bankAccountIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}{
"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
}