VRPlatformVRPlatform
Connections

/connections/connect

Connect an app and create the connection. OAuth defaults to https://portal.vrplatform.app/callback/ when redirectTo is omitted. The legacy production /callback path is normalized to /callback/. Provider integrations must return stable account identity. The built-in API app receives server-generated connection identity.

POST
/connections/connect
X-API-Key<token>

API key provided in dashboard

In: header

Request Body

application/json

appId?string
name?string
autoExtract?boolean
Defaulttrue
sessionKey?string
redirectTo?string
Formaturi
params?
Default{}

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.vrplatform.app/connections/connect" \  -H "Content-Type: application/json" \  -d '{}'
{
  "type": "success",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "connection": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "status": "active",
    "accountingStartAt": "string",
    "accountingEndAt": "string",
    "uniqueRef": "string",
    "app": {
      "id": "string",
      "type": "paymentGateway",
      "name": "string",
      "icon": "string",
      "importers": [
        "string"
      ],
      "extractors": [
        "string"
      ]
    },
    "createdAt": "2024-01-15T12:30:00.000+00:00",
    "updatedAt": "2024-01-15T12:30:00.000+00:00",
    "isErrorState": true,
    "currentSync": {
      "status": "queued",
      "createdAt": "2024-01-15T12:30:00.000+00:00",
      "updatedAt": "2024-01-15T12:30:00.000+00:00",
      "message": "string"
    },
    "enabledFlows": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "title": "string",
        "isPublic": true,
        "type": "push"
      }
    ]
  },
  "code": "string",
  "message": "string",
  "state": {
    "sessionKey": "string",
    "expiresIn": 0
  },
  "action": {
    "type": "extension",
    "value": null
  }
}
{
  "code": "string",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "context": null
}
{
  "code": "string",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "context": null
}
{
  "code": "string",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "context": null
}
{
  "code": "string",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "context": null
}
{
  "code": "string",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "context": null
}
{
  "code": "string",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "context": null
}