Files
Thierry CoopmanandGitHub dcc8496600 fix(api): EN-1023 mark V3Connector.capabilities as optional (#744)
Follow-up to PR #727. The field is populated by the server today, but
making it required forces a breaking schema bump on every existing v3
client that pre-dates the catalog work. Mark it optional in the OpenAPI
spec; SDK regenerates the Go field with `omitempty`.
2026-06-12 09:44:03 +00:00

230 KiB

Payments API v1

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

payments.v1

Get server info

Code samples

GET /_info HTTP/1.1

Accept: application/json

GET /_info

Example responses

Responses

Status Meaning Description Schema
200 OK Server information None
default Default none None

Response Schema

payments.v3

Create a formance account object. This object will not be forwarded to the connector. It is only used for internal purposes.

Code samples

POST /v3/accounts HTTP/1.1

Content-Type: application/json
Accept: application/json

POST /v3/accounts

Body parameter

{
  "reference": "string",
  "connectorID": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "accountName": "string",
  "type": "UNKNOWN",
  "defaultAsset": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Parameters

Name In Type Required Description
body body V3CreateAccountRequest false none

Example responses

201 Response

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "connector": {
      "id": "string",
      "reference": "string",
      "name": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "provider": "string"
    },
    "provider": "string",
    "reference": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "type": "UNKNOWN",
    "name": "string",
    "defaultAsset": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "raw": {}
  }
}

Responses

Status Meaning Description Schema
201 Created Created V3CreateAccountResponse
default Default Error V3ErrorResponse

List all accounts

Code samples

GET /v3/accounts HTTP/1.1

Content-Type: application/json
Accept: application/json

GET /v3/accounts

Body parameter

{}

Parameters

Name In Type Required Description
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.
body body V3QueryBuilder false none

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "connector": {
          "id": "string",
          "reference": "string",
          "name": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "provider": "string"
        },
        "provider": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "type": "UNKNOWN",
        "name": "string",
        "defaultAsset": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "raw": {}
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3AccountsCursorResponse
default Default Error V3ErrorResponse

Get an account by ID

Code samples

GET /v3/accounts/{accountID} HTTP/1.1

Accept: application/json

GET /v3/accounts/{accountID}

Parameters

Name In Type Required Description
accountID path string true The account ID

Example responses

200 Response

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "connector": {
      "id": "string",
      "reference": "string",
      "name": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "provider": "string"
    },
    "provider": "string",
    "reference": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "type": "UNKNOWN",
    "name": "string",
    "defaultAsset": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "raw": {}
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3GetAccountResponse
default Default Error V3ErrorResponse

Get account balances

Code samples

GET /v3/accounts/{accountID}/balances HTTP/1.1

Accept: application/json

GET /v3/accounts/{accountID}/balances

Parameters

Name In Type Required Description
accountID path string true The account ID
asset query string false The asset to filter by
fromTimestamp query string(date-time) false The start of the time range to filter by
toTimestamp query string(date-time) false The end of the time range to filter by
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "accountID": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "lastUpdatedAt": "2019-08-24T14:15:22Z",
        "asset": "string",
        "balance": 0
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3BalancesCursorResponse
default Default Error V3ErrorResponse

Create a formance bank account object. This object will not be forwarded to the connector until you called the forwardBankAccount method.

Code samples

POST /v3/bank-accounts HTTP/1.1

Content-Type: application/json
Accept: application/json

POST /v3/bank-accounts

Body parameter

{
  "name": "string",
  "accountNumber": "string",
  "iban": "string",
  "swiftBicCode": "string",
  "country": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Parameters

Name In Type Required Description
body body V3CreateBankAccountRequest false none

Example responses

201 Response

{
  "data": "string"
}

Responses

Status Meaning Description Schema
201 Created Created V3CreateBankAccountResponse
default Default Error V3ErrorResponse

List all bank accounts

Code samples

GET /v3/bank-accounts HTTP/1.1

Content-Type: application/json
Accept: application/json

GET /v3/bank-accounts

Body parameter

{}

Parameters

Name In Type Required Description
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.
body body V3QueryBuilder false none

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "name": "string",
        "accountNumber": "string",
        "iban": "string",
        "swiftBicCode": "string",
        "country": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "relatedAccounts": [
          {
            "accountID": "string",
            "createdAt": "2019-08-24T14:15:22Z"
          }
        ]
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3BankAccountsCursorResponse
default Default Error V3ErrorResponse

Get a Bank Account by ID

Code samples

GET /v3/bank-accounts/{bankAccountID} HTTP/1.1

Accept: application/json

GET /v3/bank-accounts/{bankAccountID}

Parameters

Name In Type Required Description
bankAccountID path string true The bank account ID

Example responses

200 Response

{
  "data": {
    "id": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "name": "string",
    "accountNumber": "string",
    "iban": "string",
    "swiftBicCode": "string",
    "country": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "relatedAccounts": [
      {
        "accountID": "string",
        "createdAt": "2019-08-24T14:15:22Z"
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3GetBankAccountResponse
default Default Error V3ErrorResponse

Update a bank account's metadata

Code samples

PATCH /v3/bank-accounts/{bankAccountID}/metadata HTTP/1.1

Content-Type: application/json
Accept: application/json

PATCH /v3/bank-accounts/{bankAccountID}/metadata

Body parameter

{
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Parameters

Name In Type Required Description
bankAccountID path string true The bank account ID
body body V3UpdateBankAccountMetadataRequest false none

Example responses

default Response

{
  "errorCode": "VALIDATION",
  "errorMessage": "[VALIDATION] missing required config field: pollingPeriod",
  "details": "string"
}

Responses

Status Meaning Description Schema
204 No Content No Content None
default Default Error V3ErrorResponse

Forward a Bank Account to a PSP for creation

Code samples

POST /v3/bank-accounts/{bankAccountID}/forward HTTP/1.1

Content-Type: application/json
Accept: application/json

POST /v3/bank-accounts/{bankAccountID}/forward

Body parameter

{
  "connectorID": "string"
}

Parameters

Name In Type Required Description
bankAccountID path string true The bank account ID
body body V3ForwardBankAccountRequest false none

Example responses

202 Response

{
  "data": {
    "taskID": "string"
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted V3ForwardBankAccountResponse
default Default Error V3ErrorResponse

List all connectors

Code samples

GET /v3/connectors HTTP/1.1

Content-Type: application/json
Accept: application/json

GET /v3/connectors

Body parameter

{}

Parameters

Name In Type Required Description
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.
body body V3QueryBuilder false none

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "reference": "string",
        "name": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "provider": "string",
        "scheduledForDeletion": true,
        "config": {},
        "capabilities": [
          "FETCH_ACCOUNTS"
        ],
        "updatedAt": "2019-08-24T14:15:22Z"
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3ConnectorsCursorResponse
default Default Error V3ErrorResponse

Install a connector

Code samples

POST /v3/connectors/install/{connector} HTTP/1.1

Content-Type: application/json
Accept: application/json

POST /v3/connectors/install/{connector}

Body parameter

{
  "apiKey": "string",
  "companyID": "string",
  "liveEndpointPrefix": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Adyen",
  "webhookPassword": "string",
  "webhookUsername": "string"
}

Parameters

Name In Type Required Description
connector path string true The connector to filter by
body body V3ConnectorConfig false none

Example responses

202 Response

{
  "data": "string"
}

Responses

Status Meaning Description Schema
202 Accepted Accepted V3InstallConnectorResponse
default Default Error V3ErrorResponse

List all connector configurations

Code samples

GET /v3/connectors/configs HTTP/1.1

Accept: application/json

GET /v3/connectors/configs

Example responses

200 Response

{
  "data": {
    "property1": {
      "property1": {
        "dataType": "string",
        "required": true,
        "defaultValue": "string"
      },
      "property2": {
        "dataType": "string",
        "required": true,
        "defaultValue": "string"
      }
    },
    "property2": {
      "property1": {
        "dataType": "string",
        "required": true,
        "defaultValue": "string"
      },
      "property2": {
        "dataType": "string",
        "required": true,
        "defaultValue": "string"
      }
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3ConnectorConfigsResponse
default Default Error V3ErrorResponse

List the plugin capabilities advertised by every supported provider

Code samples

GET /v3/connectors/capabilities HTTP/1.1

Accept: application/json
If-None-Match: string

GET /v3/connectors/capabilities

Returns the static map of provider name to the list of plugin capabilities (FETCH_ACCOUNTS, CREATE_TRANSFER, ...) compiled into this binary. The catalog is immutable for the lifetime of the process and is therefore safe to cache: the response carries a strong ETag and a Cache-Control: public, max-age=3600, must-revalidate directive. Stateless consumers (e.g. console) should set If-None-Match on subsequent requests to receive a 304 Not Modified.

Parameters

Name In Type Required Description
If-None-Match header string false ETag from a previous response; a matching value yields 304 Not Modified.

Example responses

200 Response

{
  "data": {
    "property1": [
      "FETCH_ACCOUNTS"
    ],
    "property2": [
      "FETCH_ACCOUNTS"
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3ConnectorCapabilitiesResponse
304 Not Modified Not Modified None
default Default Error V3ErrorResponse

Response Headers

Status Header Type Format Description
200 ETag string Opaque, strong validator for the catalog body.
200 Cache-Control string none
304 ETag string none
304 Cache-Control string none

Uninstall a connector

Code samples

DELETE /v3/connectors/{connectorID} HTTP/1.1

Accept: application/json

DELETE /v3/connectors/{connectorID}

Parameters

Name In Type Required Description
connectorID path string true The connector ID

Example responses

202 Response

{
  "data": {
    "taskID": "string"
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted V3UninstallConnectorResponse
default Default Error V3ErrorResponse

Get a connector configuration by ID

Code samples

GET /v3/connectors/{connectorID}/config HTTP/1.1

Accept: application/json

GET /v3/connectors/{connectorID}/config

Parameters

Name In Type Required Description
connectorID path string true The connector ID

Example responses

200 Response

{
  "data": {
    "apiKey": "string",
    "companyID": "string",
    "liveEndpointPrefix": "string",
    "name": "string",
    "pageSize": 25,
    "pollingPeriod": "30m",
    "provider": "Adyen",
    "webhookPassword": "string",
    "webhookUsername": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3GetConnectorConfigResponse
default Default Error V3ErrorResponse

Update the config of a connector

Code samples

PATCH /v3/connectors/{connectorID}/config HTTP/1.1

Content-Type: application/json

PATCH /v3/connectors/{connectorID}/config

Update connector config

Body parameter

{
  "apiKey": "string",
  "companyID": "string",
  "liveEndpointPrefix": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Adyen",
  "webhookPassword": "string",
  "webhookUsername": "string"
}

Parameters

Name In Type Required Description
connectorID path string true The connector ID
body body V3ConnectorConfig false none

Responses

Status Meaning Description Schema
204 No Content none None
default Default none None

Get the plugin capabilities of an installed connector

Code samples

GET /v3/connectors/{connectorID}/capabilities HTTP/1.1

Accept: application/json

GET /v3/connectors/{connectorID}/capabilities

Returns the list of plugin capabilities advertised by the provider backing this installed connector (FETCH_ACCOUNTS, CREATE_TRANSFER, ...). The same values are also inlined on each row of v3ListConnectors; prefer that endpoint when listing multiple connectors.

Parameters

Name In Type Required Description
connectorID path string true The connector ID

Example responses

200 Response

{
  "data": [
    "FETCH_ACCOUNTS"
  ]
}

Responses

Status Meaning Description Schema
200 OK OK V3ConnectorCapabilityResponse
default Default Error V3ErrorResponse

Reset a connector. Be aware that this will delete all data and stop all existing tasks like payment initiations and bank account creations.

Code samples

POST /v3/connectors/{connectorID}/reset HTTP/1.1

Accept: application/json

POST /v3/connectors/{connectorID}/reset

Parameters

Name In Type Required Description
connectorID path string true The connector ID

Example responses

202 Response

{
  "data": "string"
}

Responses

Status Meaning Description Schema
202 Accepted Accepted V3ResetConnectorResponse
default Default Error V3ErrorResponse

List all connector schedules

Code samples

GET /v3/connectors/{connectorID}/schedules HTTP/1.1

Content-Type: application/json
Accept: application/json

GET /v3/connectors/{connectorID}/schedules

Body parameter

{}

Parameters

Name In Type Required Description
connectorID path string true The connector ID
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.
body body V3QueryBuilder false none

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "pausedAt": "2019-08-24T14:15:22Z",
        "pausedReason": "string"
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3ConnectorSchedulesCursorResponse
default Default Error V3ErrorResponse

Get a connector schedule by ID

Code samples

GET /v3/connectors/{connectorID}/schedules/{scheduleID} HTTP/1.1

Accept: application/json

GET /v3/connectors/{connectorID}/schedules/{scheduleID}

Parameters

Name In Type Required Description
connectorID path string true The connector ID
scheduleID path string true The schedule ID

Example responses

200 Response

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "pausedAt": "2019-08-24T14:15:22Z",
    "pausedReason": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3ConnectorScheduleResponse
default Default Error V3ErrorResponse

List all connector schedule instances

Code samples

GET /v3/connectors/{connectorID}/schedules/{scheduleID}/instances HTTP/1.1

Accept: application/json

GET /v3/connectors/{connectorID}/schedules/{scheduleID}/instances

Parameters

Name In Type Required Description
connectorID path string true The connector ID
scheduleID path string true The schedule ID
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "scheduleID": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "updatedAt": "2019-08-24T14:15:22Z",
        "terminated": true,
        "terminatedAt": "2019-08-24T14:15:22Z",
        "error": "string"
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3ConnectorScheduleInstancesCursorResponse
default Default Error V3ErrorResponse

List orders ingested from exchange-style connectors

Code samples

GET /v3/orders HTTP/1.1

Content-Type: application/json
Accept: application/json

GET /v3/orders

Returns the full list of orders ingested by Formance from connectors that implement the orders capability (e.g. coinbaseprime). Orders represent trade placements on an exchange-style PSP and are read-only through the Formance API — submission, cancellation, and lifecycle transitions are owned by the underlying connector.

Results are cursor-paginated. The optional request body accepts a query builder for filtering over top-level V3Order fields such as connectorID, reference, direction, status, type, sourceAsset, destinationAsset, and createdAt.

See V3Order for the full response shape, including the adjustments array that captures each observed state transition on the exchange.

Body parameter

{}

Parameters

Name In Type Required Description
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.
body body V3QueryBuilder false none

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "provider": "string",
        "reference": "string",
        "clientOrderID": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "updatedAt": "2019-08-24T14:15:22Z",
        "direction": "UNKNOWN",
        "sourceAsset": "string",
        "destinationAsset": "string",
        "type": "UNKNOWN",
        "status": "UNKNOWN",
        "baseQuantityOrdered": 0,
        "baseQuantityFilled": 0,
        "limitPrice": 0,
        "stopPrice": 0,
        "timeInForce": "UNKNOWN",
        "expiresAt": "2019-08-24T14:15:22Z",
        "fee": 0,
        "feeAsset": "string",
        "averageFillPrice": 0,
        "quoteAmount": 0,
        "quoteAsset": "string",
        "priceAsset": "string",
        "sourceAccountID": "string",
        "destinationAccountID": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "adjustments": [
          {
            "id": "string",
            "reference": "string",
            "createdAt": "2019-08-24T14:15:22Z",
            "status": "UNKNOWN",
            "baseQuantityFilled": 0,
            "fee": 0,
            "feeAsset": "string",
            "metadata": {
              "property1": "string",
              "property2": "string"
            },
            "raw": {}
          }
        ],
        "error": "string"
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3OrdersCursorResponse
default Default Error V3ErrorResponse

Get a single order by its Formance ID

Code samples

GET /v3/orders/{orderID} HTTP/1.1

Accept: application/json

GET /v3/orders/{orderID}

Returns one order identified by its Formance-assigned id (composed from the PSP reference and the connector ID — not the PSP's native reference). The response includes the full adjustments history ordered from oldest to most recent; the last adjustment reflects the order's current top-level status.

Returns an error via V3ErrorResponse when no order exists for the given ID, or when the ID cannot be decoded.

Parameters

Name In Type Required Description
orderID path string true The order ID

Example responses

200 Response

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "provider": "string",
    "reference": "string",
    "clientOrderID": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "direction": "UNKNOWN",
    "sourceAsset": "string",
    "destinationAsset": "string",
    "type": "UNKNOWN",
    "status": "UNKNOWN",
    "baseQuantityOrdered": 0,
    "baseQuantityFilled": 0,
    "limitPrice": 0,
    "stopPrice": 0,
    "timeInForce": "UNKNOWN",
    "expiresAt": "2019-08-24T14:15:22Z",
    "fee": 0,
    "feeAsset": "string",
    "averageFillPrice": 0,
    "quoteAmount": 0,
    "quoteAsset": "string",
    "priceAsset": "string",
    "sourceAccountID": "string",
    "destinationAccountID": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "adjustments": [
      {
        "id": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "status": "UNKNOWN",
        "baseQuantityFilled": 0,
        "fee": 0,
        "feeAsset": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "raw": {}
      }
    ],
    "error": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3GetOrderResponse
default Default Error V3ErrorResponse

List currency and asset conversions ingested from connectors

Code samples

GET /v3/conversions HTTP/1.1

Content-Type: application/json
Accept: application/json

GET /v3/conversions

Returns the full list of conversions ingested by Formance from connectors that implement the conversions capability. A conversion is a direct swap between two assets on a PSP (e.g. USD → USDC on Coinbase Prime). Conversions are read-only through the Formance API.

Unlike orders, conversions do not carry an adjustment history — Formance records only the final observed state (status, destinationAmount, and fee when settled).

Results are cursor-paginated. The optional request body accepts a query builder for filtering over top-level V3Conversion fields such as connectorID, reference, status, sourceAsset, destinationAsset, and createdAt.

Body parameter

{}

Parameters

Name In Type Required Description
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.
body body V3QueryBuilder false none

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "provider": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "updatedAt": "2019-08-24T14:15:22Z",
        "sourceAsset": "string",
        "destinationAsset": "string",
        "sourceAmount": 0,
        "destinationAmount": 0,
        "fee": 0,
        "feeAsset": "string",
        "status": "UNKNOWN",
        "sourceAccountID": "string",
        "destinationAccountID": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "error": "string"
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3ConversionsCursorResponse
default Default Error V3ErrorResponse

Get a single conversion by its Formance ID

Code samples

GET /v3/conversions/{conversionID} HTTP/1.1

Accept: application/json

GET /v3/conversions/{conversionID}

Returns one conversion identified by its Formance-assigned id (not the PSP's native reference). See V3Conversion for the response shape — on COMPLETED status the destinationAmount and fee fields reflect the settled values; on FAILED the error field carries the PSP's rejection reason.

Returns an error via V3ErrorResponse when no conversion exists for the given ID.

Parameters

Name In Type Required Description
conversionID path string true The conversion ID

Example responses

200 Response

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "provider": "string",
    "reference": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "sourceAsset": "string",
    "destinationAsset": "string",
    "sourceAmount": 0,
    "destinationAmount": 0,
    "fee": 0,
    "feeAsset": "string",
    "status": "UNKNOWN",
    "sourceAccountID": "string",
    "destinationAccountID": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "error": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3GetConversionResponse
default Default Error V3ErrorResponse

Create a formance payment object. This object will not be forwarded to the connector. It is only used for internal purposes.

Code samples

POST /v3/payments HTTP/1.1

Content-Type: application/json
Accept: application/json

POST /v3/payments

Body parameter

{
  "reference": "string",
  "connectorID": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "type": "UNKNOWN",
  "initialAmount": 0,
  "amount": 0,
  "asset": "string",
  "scheme": "string",
  "sourceAccountID": "string",
  "destinationAccountID": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  },
  "adjustments": [
    {
      "reference": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "status": "UNKNOWN",
      "amount": 0,
      "asset": "string",
      "metadata": {
        "property1": "string",
        "property2": "string"
      }
    }
  ]
}

Parameters

Name In Type Required Description
body body V3CreatePaymentRequest false none

Example responses

201 Response

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "provider": "string",
    "reference": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "type": "UNKNOWN",
    "initialAmount": 0,
    "amount": 0,
    "asset": "string",
    "scheme": "string",
    "status": "UNKNOWN",
    "sourceAccountID": "string",
    "destinationAccountID": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "adjustments": [
      {
        "id": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "status": "UNKNOWN",
        "amount": 0,
        "asset": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "raw": {}
      }
    ]
  }
}

Responses

Status Meaning Description Schema
201 Created Created V3CreatePaymentResponse
default Default Error V3ErrorResponse

List all payments

Code samples

GET /v3/payments HTTP/1.1

Content-Type: application/json
Accept: application/json

GET /v3/payments

Body parameter

{}

Parameters

Name In Type Required Description
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.
body body V3QueryBuilder false none

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "provider": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "type": "UNKNOWN",
        "initialAmount": 0,
        "amount": 0,
        "asset": "string",
        "scheme": "string",
        "status": "UNKNOWN",
        "sourceAccountID": "string",
        "destinationAccountID": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "adjustments": [
          {
            "id": "string",
            "reference": "string",
            "createdAt": "2019-08-24T14:15:22Z",
            "status": "UNKNOWN",
            "amount": 0,
            "asset": "string",
            "metadata": {
              "property1": "string",
              "property2": "string"
            },
            "raw": {}
          }
        ]
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3PaymentsCursorResponse
default Default Error V3ErrorResponse

Get a payment by ID

Code samples

GET /v3/payments/{paymentID} HTTP/1.1

Accept: application/json

GET /v3/payments/{paymentID}

Parameters

Name In Type Required Description
paymentID path string true The payment ID

Example responses

200 Response

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "provider": "string",
    "reference": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "type": "UNKNOWN",
    "initialAmount": 0,
    "amount": 0,
    "asset": "string",
    "scheme": "string",
    "status": "UNKNOWN",
    "sourceAccountID": "string",
    "destinationAccountID": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "adjustments": [
      {
        "id": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "status": "UNKNOWN",
        "amount": 0,
        "asset": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "raw": {}
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3GetPaymentResponse
default Default Error V3ErrorResponse

Update a payment's metadata

Code samples

PATCH /v3/payments/{paymentID}/metadata HTTP/1.1

Content-Type: application/json
Accept: application/json

PATCH /v3/payments/{paymentID}/metadata

Body parameter

{
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Parameters

Name In Type Required Description
paymentID path string true The payment ID
body body V3UpdatePaymentMetadataRequest false none

Example responses

default Response

{
  "errorCode": "VALIDATION",
  "errorMessage": "[VALIDATION] missing required config field: pollingPeriod",
  "details": "string"
}

Responses

Status Meaning Description Schema
204 No Content No Content None
default Default Error V3ErrorResponse

Initiate a payment

Code samples

POST /v3/payment-initiations HTTP/1.1

Content-Type: application/json
Accept: application/json

POST /v3/payment-initiations

Body parameter

{
  "reference": "string",
  "scheduledAt": "2019-08-24T14:15:22Z",
  "connectorID": "string",
  "description": "string",
  "type": "UNKNOWN",
  "amount": 0,
  "asset": "string",
  "sourceAccountID": "string",
  "destinationAccountID": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Parameters

Name In Type Required Description
noValidation query boolean false If set to true, the request will not have to be validated. This is useful if we want to directly forward the request to the PSP.
body body V3InitiatePaymentRequest false none

Detailed descriptions

noValidation: If set to true, the request will not have to be validated. This is useful if we want to directly forward the request to the PSP.

Example responses

202 Response

{
  "data": {
    "paymentInitiationID": "string",
    "taskID": "string"
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted V3InitiatePaymentResponse
default Default Error V3ErrorResponse

List all payment initiations

Code samples

GET /v3/payment-initiations HTTP/1.1

Content-Type: application/json
Accept: application/json

GET /v3/payment-initiations

Body parameter

{}

Parameters

Name In Type Required Description
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.
body body V3QueryBuilder false none

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "provider": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "scheduledAt": "2019-08-24T14:15:22Z",
        "description": "string",
        "type": "UNKNOWN",
        "amount": 0,
        "asset": "string",
        "status": "UNKNOWN",
        "sourceAccountID": "string",
        "destinationAccountID": "string",
        "error": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        }
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3PaymentInitiationsCursorResponse
default Default Error V3ErrorResponse

Delete a payment initiation by ID

Code samples

DELETE /v3/payment-initiations/{paymentInitiationID} HTTP/1.1

Accept: application/json

DELETE /v3/payment-initiations/{paymentInitiationID}

Parameters

Name In Type Required Description
paymentInitiationID path string true The payment initiation ID

Example responses

default Response

{
  "errorCode": "VALIDATION",
  "errorMessage": "[VALIDATION] missing required config field: pollingPeriod",
  "details": "string"
}

Responses

Status Meaning Description Schema
204 No Content No Content None
default Default Error V3ErrorResponse

Get a payment initiation by ID

Code samples

GET /v3/payment-initiations/{paymentInitiationID} HTTP/1.1

Accept: application/json

GET /v3/payment-initiations/{paymentInitiationID}

Parameters

Name In Type Required Description
paymentInitiationID path string true The payment initiation ID

Example responses

200 Response

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "provider": "string",
    "reference": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "scheduledAt": "2019-08-24T14:15:22Z",
    "description": "string",
    "type": "UNKNOWN",
    "amount": 0,
    "asset": "string",
    "status": "UNKNOWN",
    "sourceAccountID": "string",
    "destinationAccountID": "string",
    "error": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3GetPaymentInitiationResponse
default Default Error V3ErrorResponse

Retry a payment initiation

Code samples

POST /v3/payment-initiations/{paymentInitiationID}/retry HTTP/1.1

Accept: application/json

POST /v3/payment-initiations/{paymentInitiationID}/retry

Parameters

Name In Type Required Description
paymentInitiationID path string true The payment initiation ID

Example responses

202 Response

{
  "data": {
    "taskID": "string"
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted V3RetryPaymentInitiationResponse
default Default Error V3ErrorResponse

Approve a payment initiation

Code samples

POST /v3/payment-initiations/{paymentInitiationID}/approve HTTP/1.1

Accept: application/json

POST /v3/payment-initiations/{paymentInitiationID}/approve

Parameters

Name In Type Required Description
paymentInitiationID path string true The payment initiation ID

Example responses

202 Response

{
  "data": {
    "taskID": "string"
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted V3ApprovePaymentInitiationResponse
default Default Error V3ErrorResponse

Reject a payment initiation

Code samples

POST /v3/payment-initiations/{paymentInitiationID}/reject HTTP/1.1

Accept: application/json

POST /v3/payment-initiations/{paymentInitiationID}/reject

Parameters

Name In Type Required Description
paymentInitiationID path string true The payment initiation ID

Example responses

default Response

{
  "errorCode": "VALIDATION",
  "errorMessage": "[VALIDATION] missing required config field: pollingPeriod",
  "details": "string"
}

Responses

Status Meaning Description Schema
204 No Content No Content None
default Default Error V3ErrorResponse

Reverse a payment initiation

Code samples

POST /v3/payment-initiations/{paymentInitiationID}/reverse HTTP/1.1

Content-Type: application/json
Accept: application/json

POST /v3/payment-initiations/{paymentInitiationID}/reverse

Body parameter

{
  "reference": "string",
  "description": "string",
  "amount": 0,
  "asset": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Parameters

Name In Type Required Description
paymentInitiationID path string true The payment initiation ID
body body V3ReversePaymentInitiationRequest false none

Example responses

202 Response

{
  "data": {
    "taskID": "string",
    "paymentInitiationReversalID": "string"
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted V3ReversePaymentInitiationResponse
default Default Error V3ErrorResponse

List all payment initiation adjustments

Code samples

GET /v3/payment-initiations/{paymentInitiationID}/adjustments HTTP/1.1

Content-Type: application/json
Accept: application/json

GET /v3/payment-initiations/{paymentInitiationID}/adjustments

Body parameter

{}

Parameters

Name In Type Required Description
paymentInitiationID path string true The payment initiation ID
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.
body body V3QueryBuilder false none

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "status": "UNKNOWN",
        "amount": 0,
        "asset": "string",
        "error": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        }
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3PaymentInitiationAdjustmentsCursorResponse
default Default Error V3ErrorResponse

Code samples

GET /v3/payment-initiations/{paymentInitiationID}/payments HTTP/1.1

Content-Type: application/json
Accept: application/json

GET /v3/payment-initiations/{paymentInitiationID}/payments

Body parameter

{}
Name In Type Required Description
paymentInitiationID path string true The payment initiation ID
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.
body body V3QueryBuilder false none

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "provider": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "type": "UNKNOWN",
        "initialAmount": 0,
        "amount": 0,
        "asset": "string",
        "scheme": "string",
        "status": "UNKNOWN",
        "sourceAccountID": "string",
        "destinationAccountID": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "adjustments": [
          {
            "id": "string",
            "reference": "string",
            "createdAt": "2019-08-24T14:15:22Z",
            "status": "UNKNOWN",
            "amount": 0,
            "asset": "string",
            "metadata": {
              "property1": "string",
              "property2": "string"
            },
            "raw": {}
          }
        ]
      }
    ]
  }
}
Status Meaning Description Schema
200 OK OK V3PaymentInitiationRelatedPaymentsCursorResponse
default Default Error V3ErrorResponse

Create a formance payment service user object

Code samples

POST /v3/payment-service-users HTTP/1.1

Content-Type: application/json
Accept: application/json

POST /v3/payment-service-users

Body parameter

{
  "name": "string",
  "contactDetails": {
    "email": "string",
    "phoneNumber": "string"
  },
  "address": {
    "streetNumber": "string",
    "streetName": "string",
    "city": "string",
    "region": "string",
    "postalCode": "string",
    "country": "string"
  },
  "bankAccountIDs": [
    "string"
  ],
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Parameters

Name In Type Required Description
body body V3CreatePaymentServiceUserRequest false none

Example responses

201 Response

{
  "data": "string"
}

Responses

Status Meaning Description Schema
201 Created Created V3CreatePaymentServiceUserResponse
default Default Error V3ErrorResponse

List all payment service users

Code samples

GET /v3/payment-service-users HTTP/1.1

Content-Type: application/json
Accept: application/json

GET /v3/payment-service-users

Body parameter

{}

Parameters

Name In Type Required Description
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.
body body V3QueryBuilder false none

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "data": [
      {
        "id": "string",
        "name": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "contactDetails": {
          "email": "string",
          "phoneNumber": "string"
        },
        "address": {
          "streetNumber": "string",
          "streetName": "string",
          "city": "string",
          "region": "string",
          "postalCode": "string",
          "country": "string"
        },
        "bankAccountIDs": [
          "string"
        ],
        "metadata": {
          "property1": "string",
          "property2": "string"
        }
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3PaymentServiceUsersCursorResponse
default Default Error V3ErrorResponse

Get a payment service user by ID

Code samples

GET /v3/payment-service-users/{paymentServiceUserID} HTTP/1.1

Accept: application/json

GET /v3/payment-service-users/{paymentServiceUserID}

Parameters

Name In Type Required Description
paymentServiceUserID path string true The payment service user ID

Example responses

200 Response

{
  "data": {
    "id": "string",
    "name": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "contactDetails": {
      "email": "string",
      "phoneNumber": "string"
    },
    "address": {
      "streetNumber": "string",
      "streetName": "string",
      "city": "string",
      "region": "string",
      "postalCode": "string",
      "country": "string"
    },
    "bankAccountIDs": [
      "string"
    ],
    "metadata": {
      "property1": "string",
      "property2": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3GetPaymentServiceUserResponse
default Default Error V3ErrorResponse

Delete a payment service user by ID

Code samples

DELETE /v3/payment-service-users/{paymentServiceUserID} HTTP/1.1

Accept: application/json

DELETE /v3/payment-service-users/{paymentServiceUserID}

Parameters

Name In Type Required Description
paymentServiceUserID path string true The payment service user ID

Example responses

202 Response

{
  "data": {
    "taskID": "string"
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted V3PaymentServiceUserDeleteResponse
default Default Error V3ErrorResponse

List all connections for a payment service user

Code samples

GET /v3/payment-service-users/{paymentServiceUserID}/connections HTTP/1.1

Content-Type: application/json
Accept: application/json

GET /v3/payment-service-users/{paymentServiceUserID}/connections

Body parameter

{}

Parameters

Name In Type Required Description
paymentServiceUserID path string true The payment service user ID
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.
body body V3QueryBuilder false none

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "data": [
      {
        "connectionID": "string",
        "connectorID": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "dataUpdatedAt": "2019-08-24T14:15:22Z",
        "status": "ACTIVE",
        "error": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        }
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3PaymentServiceUserConnectionsCursorResponse
default Default Error V3ErrorResponse

Remove a payment service user from a connector, the PSU will still exist in Formance

Code samples

DELETE /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID} HTTP/1.1

Accept: application/json

DELETE /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}

Parameters

Name In Type Required Description
paymentServiceUserID path string true The payment service user ID
connectorID path string true The connector ID

Example responses

202 Response

{
  "data": {
    "taskID": "string"
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted V3PaymentServiceUserDeleteConnectorResponse
default Default Error V3ErrorResponse

Register/forward a payment service user on/to a connector

Code samples

POST /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/forward HTTP/1.1

Accept: application/json

POST /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/forward

Parameters

Name In Type Required Description
paymentServiceUserID path string true The payment service user ID
connectorID path string true The connector ID

Example responses

default Response

{
  "errorCode": "VALIDATION",
  "errorMessage": "[VALIDATION] missing required config field: pollingPeriod",
  "details": "string"
}

Responses

Status Meaning Description Schema
204 No Content No Content None
default Default Error V3ErrorResponse

Code samples

POST /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/create-link HTTP/1.1

Content-Type: application/json
Accept: application/json

POST /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/create-link

Body parameter

{
  "applicationName": "string",
  "clientRedirectURL": "string"
}
Name In Type Required Description
paymentServiceUserID path string true The payment service user ID
connectorID path string true The connector ID
body body V3PaymentServiceUserCreateLinkRequest false none

Example responses

201 Response

{
  "attemptID": "string",
  "link": "string"
}
Status Meaning Description Schema
201 Created Created V3PaymentServiceUserCreateLinkResponse
default Default Error V3ErrorResponse

List enabled connections for a payment service user on a connector (i.e. the various banks PSUser has enabled on the connector)

Code samples

GET /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/connections HTTP/1.1

Content-Type: application/json
Accept: application/json

GET /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/connections

Body parameter

{}

Parameters

Name In Type Required Description
paymentServiceUserID path string true The payment service user ID
connectorID path string true The connector ID
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.
body body V3QueryBuilder false none

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "data": [
      {
        "connectionID": "string",
        "connectorID": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "dataUpdatedAt": "2019-08-24T14:15:22Z",
        "status": "ACTIVE",
        "error": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        }
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3PaymentServiceUserConnectionsCursorResponse
default Default Error V3ErrorResponse

Allows to check if users used the link and completed the oauth flow.

Code samples

GET /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/link-attempts HTTP/1.1

Content-Type: application/json
Accept: application/json

GET /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/link-attempts

Body parameter

{}
Name In Type Required Description
paymentServiceUserID path string true The payment service user ID
connectorID path string true The connector ID
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.
body body V3QueryBuilder false none

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "data": [
      {
        "id": "string",
        "psuID": "string",
        "connectorID": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "status": "pending",
        "clientRedirectURL": "string",
        "error": "string"
      }
    ]
  }
}
Status Meaning Description Schema
200 OK OK V3PaymentServiceUserLinkAttemptsCursorResponse
default Default Error V3ErrorResponse

Code samples

GET /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/link-attempts/{attemptID} HTTP/1.1

Accept: application/json

GET /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/link-attempts/{attemptID}

Name In Type Required Description
paymentServiceUserID path string true The payment service user ID
connectorID path string true The connector ID
attemptID path string true The attempt ID

Example responses

200 Response

{
  "id": "string",
  "psuID": "string",
  "connectorID": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "status": "pending",
  "clientRedirectURL": "string",
  "error": "string"
}
Status Meaning Description Schema
200 OK OK V3PaymentServiceUserLinkAttempt
default Default Error V3ErrorResponse

Delete a connection for a payment service user on a connector

Code samples

DELETE /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/connections/{connectionID} HTTP/1.1

Accept: application/json

DELETE /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/connections/{connectionID}

Parameters

Name In Type Required Description
paymentServiceUserID path string true The payment service user ID
connectorID path string true The connector ID
connectionID path string true The connection ID

Example responses

202 Response

{
  "data": {
    "taskID": "string"
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted V3PaymentServiceUserDeleteConnectionResponse
default Default Error V3ErrorResponse

Code samples

POST /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/connections/{connectionID}/update-link HTTP/1.1

Content-Type: application/json
Accept: application/json

POST /v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/connections/{connectionID}/update-link

Body parameter

{
  "applicationName": "string",
  "clientRedirectURL": "string"
}
Name In Type Required Description
paymentServiceUserID path string true The payment service user ID
connectorID path string true The connector ID
connectionID path string true The connection ID
body body V3PaymentServiceUserUpdateLinkRequest false none

Example responses

201 Response

{
  "attemptID": "string",
  "link": "string"
}
Status Meaning Description Schema
201 Created Created V3PaymentServiceUserUpdateLinkResponse
default Default Error V3ErrorResponse

Add a bank account to a payment service user

Code samples

POST /v3/payment-service-users/{paymentServiceUserID}/bank-accounts/{bankAccountID} HTTP/1.1

Accept: application/json

POST /v3/payment-service-users/{paymentServiceUserID}/bank-accounts/{bankAccountID}

Parameters

Name In Type Required Description
paymentServiceUserID path string true The payment service user ID
bankAccountID path string true The bank account ID

Example responses

default Response

{
  "errorCode": "VALIDATION",
  "errorMessage": "[VALIDATION] missing required config field: pollingPeriod",
  "details": "string"
}

Responses

Status Meaning Description Schema
204 No Content No Content None
default Default Error V3ErrorResponse

Forward a payment service user's bank account to a connector

Code samples

POST /v3/payment-service-users/{paymentServiceUserID}/bank-accounts/{bankAccountID}/forward HTTP/1.1

Content-Type: application/json
Accept: application/json

POST /v3/payment-service-users/{paymentServiceUserID}/bank-accounts/{bankAccountID}/forward

Body parameter

{
  "connectorID": "string"
}

Parameters

Name In Type Required Description
paymentServiceUserID path string true The payment service user ID
bankAccountID path string true The bank account ID
body body V3ForwardPaymentServiceUserBankAccountRequest false none

Example responses

202 Response

{
  "data": {
    "taskID": "string"
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted V3ForwardPaymentServiceUserBankAccountResponse
default Default Error V3ErrorResponse

Create a formance pool object

Code samples

POST /v3/pools HTTP/1.1

Content-Type: application/json
Accept: application/json

POST /v3/pools

Body parameter

{
  "name": "string",
  "query": {},
  "accountIDs": [
    "string"
  ]
}

Parameters

Name In Type Required Description
body body V3CreatePoolRequest false none

Example responses

201 Response

{
  "data": "string"
}

Responses

Status Meaning Description Schema
201 Created Created V3CreatePoolResponse
default Default Error V3ErrorResponse

List all pools

Code samples

GET /v3/pools HTTP/1.1

Content-Type: application/json
Accept: application/json

GET /v3/pools

Body parameter

{}

Parameters

Name In Type Required Description
pageSize query integer(int64) false The number of items to return
cursor query string false Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.
body body V3QueryBuilder false none

Detailed descriptions

cursor: Parameter used in pagination requests. Set to the value of next for the next page of results. Set to the value of previous for the previous page of results. No other parameters can be set when this parameter is set.

Example responses

200 Response

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "name": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "type": "STATIC",
        "query": {},
        "poolAccounts": [
          "string"
        ]
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3PoolsCursorResponse
default Default Error V3ErrorResponse

Get a pool by ID

Code samples

GET /v3/pools/{poolID} HTTP/1.1

Accept: application/json

GET /v3/pools/{poolID}

Parameters

Name In Type Required Description
poolID path string true The pool ID

Example responses

200 Response

{
  "data": {
    "id": "string",
    "name": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "type": "STATIC",
    "query": {},
    "poolAccounts": [
      "string"
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3GetPoolResponse
default Default Error V3ErrorResponse

Delete a pool by ID

Code samples

DELETE /v3/pools/{poolID} HTTP/1.1

Accept: application/json

DELETE /v3/pools/{poolID}

Parameters

Name In Type Required Description
poolID path string true The pool ID

Example responses

default Response

{
  "errorCode": "VALIDATION",
  "errorMessage": "[VALIDATION] missing required config field: pollingPeriod",
  "details": "string"
}

Responses

Status Meaning Description Schema
204 No Content No Content None
default Default Error V3ErrorResponse

Update the query of a pool

Code samples

PATCH /v3/pools/{poolID}/query HTTP/1.1

Content-Type: application/json
Accept: application/json

PATCH /v3/pools/{poolID}/query

Body parameter

{
  "query": {}
}

Parameters

Name In Type Required Description
poolID path string true The pool ID
body body V3UpdatePoolQueryRequest false none

Example responses

default Response

{
  "errorCode": "VALIDATION",
  "errorMessage": "[VALIDATION] missing required config field: pollingPeriod",
  "details": "string"
}

Responses

Status Meaning Description Schema
204 No Content No Content None
default Default Error V3ErrorResponse

Get historical pool balances from a particular point in time

Code samples

GET /v3/pools/{poolID}/balances HTTP/1.1

Accept: application/json

GET /v3/pools/{poolID}/balances

Parameters

Name In Type Required Description
poolID path string true The pool ID
at query string(date-time) false The time to filter by

Example responses

200 Response

{
  "data": [
    {
      "asset": "string",
      "amount": 0,
      "relatedAccounts": [
        "string"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK V3PoolBalancesResponse
default Default Error V3ErrorResponse

Get latest pool balances

Code samples

GET /v3/pools/{poolID}/balances/latest HTTP/1.1

Accept: application/json

GET /v3/pools/{poolID}/balances/latest

Parameters

Name In Type Required Description
poolID path string true The pool ID

Example responses

200 Response

{
  "data": [
    {
      "asset": "string",
      "amount": 0,
      "relatedAccounts": [
        "string"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK V3PoolBalancesResponse
default Default Error V3ErrorResponse

Add an account to a pool

Code samples

POST /v3/pools/{poolID}/accounts/{accountID} HTTP/1.1

Accept: application/json

POST /v3/pools/{poolID}/accounts/{accountID}

Parameters

Name In Type Required Description
poolID path string true The pool ID
accountID path string true The account ID

Example responses

default Response

{
  "errorCode": "VALIDATION",
  "errorMessage": "[VALIDATION] missing required config field: pollingPeriod",
  "details": "string"
}

Responses

Status Meaning Description Schema
204 No Content No Content None
default Default Error V3ErrorResponse

Remove an account from a pool

Code samples

DELETE /v3/pools/{poolID}/accounts/{accountID} HTTP/1.1

Accept: application/json

DELETE /v3/pools/{poolID}/accounts/{accountID}

Parameters

Name In Type Required Description
poolID path string true The pool ID
accountID path string true The account ID

Example responses

default Response

{
  "errorCode": "VALIDATION",
  "errorMessage": "[VALIDATION] missing required config field: pollingPeriod",
  "details": "string"
}

Responses

Status Meaning Description Schema
204 No Content No Content None
default Default Error V3ErrorResponse

Get a task and its result by ID

Code samples

GET /v3/tasks/{taskID} HTTP/1.1

Accept: application/json

GET /v3/tasks/{taskID}

Parameters

Name In Type Required Description
taskID path string true The task ID

Example responses

200 Response

{
  "data": {
    "id": "string",
    "status": "PROCESSING",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "connectorID": "string",
    "createdObjectID": "string",
    "error": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK OK V3GetTaskResponse
default Default Error V3ErrorResponse

Schemas

V3AccountID

"string"

Properties

Name Type Required Restrictions Description
anonymous string false none none

V3AccountsCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "connector": {
          "id": "string",
          "reference": "string",
          "name": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "provider": "string"
        },
        "provider": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "type": "UNKNOWN",
        "name": "string",
        "defaultAsset": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "raw": {}
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3Account] true none none

V3GetAccountResponse

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "connector": {
      "id": "string",
      "reference": "string",
      "name": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "provider": "string"
    },
    "provider": "string",
    "reference": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "type": "UNKNOWN",
    "name": "string",
    "defaultAsset": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "raw": {}
  }
}

Properties

Name Type Required Restrictions Description
data V3Account true none none

V3CreateAccountRequest

{
  "reference": "string",
  "connectorID": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "accountName": "string",
  "type": "UNKNOWN",
  "defaultAsset": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Properties

Name Type Required Restrictions Description
reference string true none none
connectorID string(byte) true none none
createdAt string(date-time) true none none
accountName string true none none
type V3AccountTypeEnum true none none
defaultAsset string¦null false none none
metadata V3Metadata false none none

V3CreateAccountResponse

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "connector": {
      "id": "string",
      "reference": "string",
      "name": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "provider": "string"
    },
    "provider": "string",
    "reference": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "type": "UNKNOWN",
    "name": "string",
    "defaultAsset": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "raw": {}
  }
}

Properties

Name Type Required Restrictions Description
data V3Account true none none

V3Account

{
  "id": "string",
  "connectorID": "string",
  "connector": {
    "id": "string",
    "reference": "string",
    "name": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "provider": "string"
  },
  "provider": "string",
  "reference": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "type": "UNKNOWN",
  "name": "string",
  "defaultAsset": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  },
  "raw": {}
}

Properties

Name Type Required Restrictions Description
id string true none none
connectorID string(byte) true none none
connector V3ConnectorBase false none none
provider string true none none
reference string true none none
createdAt string(date-time) true none none
type V3AccountTypeEnum true none none
name string¦null false none none
defaultAsset string¦null false none none
metadata V3Metadata false none none
raw object true none none

V3AccountTypeEnum

"UNKNOWN"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous UNKNOWN
anonymous INTERNAL
anonymous EXTERNAL

V3BalancesCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "accountID": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "lastUpdatedAt": "2019-08-24T14:15:22Z",
        "asset": "string",
        "balance": 0
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3Balance] true none none

V3Balance

{
  "accountID": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "lastUpdatedAt": "2019-08-24T14:15:22Z",
  "asset": "string",
  "balance": 0
}

Properties

Name Type Required Restrictions Description
accountID string true none none
createdAt string(date-time) true none none
lastUpdatedAt string(date-time) true none none
asset string true none none
balance integer(bigint) true none none

V3CreateBankAccountRequest

{
  "name": "string",
  "accountNumber": "string",
  "iban": "string",
  "swiftBicCode": "string",
  "country": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Properties

Name Type Required Restrictions Description
name string true none none
accountNumber string false none none
iban string false none none
swiftBicCode string false none none
country string false none none
metadata V3Metadata false none none

V3CreateBankAccountResponse

{
  "data": "string"
}

Properties

Name Type Required Restrictions Description
data string true none The ID of the created bank account

V3UpdateBankAccountMetadataRequest

{
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Properties

Name Type Required Restrictions Description
metadata V3Metadata true none none

V3ForwardBankAccountRequest

{
  "connectorID": "string"
}

Properties

Name Type Required Restrictions Description
connectorID string(byte) true none none

V3ForwardBankAccountResponse

{
  "data": {
    "taskID": "string"
  }
}

Properties

Name Type Required Restrictions Description
data object true none none
» taskID string true none Since this call is asynchronous, the response will contain the ID of the task that was created to forward the bank account to the PSP. You can use the task API to check the status of the task and get the resulting bank account ID.

V3BankAccountsCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "name": "string",
        "accountNumber": "string",
        "iban": "string",
        "swiftBicCode": "string",
        "country": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "relatedAccounts": [
          {
            "accountID": "string",
            "createdAt": "2019-08-24T14:15:22Z"
          }
        ]
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3BankAccount] true none none

V3GetBankAccountResponse

{
  "data": {
    "id": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "name": "string",
    "accountNumber": "string",
    "iban": "string",
    "swiftBicCode": "string",
    "country": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "relatedAccounts": [
      {
        "accountID": "string",
        "createdAt": "2019-08-24T14:15:22Z"
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
data V3BankAccount true none none

V3BankAccount

{
  "id": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "name": "string",
  "accountNumber": "string",
  "iban": "string",
  "swiftBicCode": "string",
  "country": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  },
  "relatedAccounts": [
    {
      "accountID": "string",
      "createdAt": "2019-08-24T14:15:22Z"
    }
  ]
}

Properties

Name Type Required Restrictions Description
id string true none none
createdAt string(date-time) true none none
name string true none none
accountNumber string¦null false none none
iban string¦null false none none
swiftBicCode string¦null false none none
country string¦null false none none
metadata V3Metadata false none none
relatedAccounts [V3BankAccountRelatedAccount] false none none

V3BankAccountRelatedAccount

{
  "accountID": "string",
  "createdAt": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
accountID string true none none
createdAt string(date-time) true none none

V3InstallConnectorRequest

{
  "apiKey": "string",
  "companyID": "string",
  "liveEndpointPrefix": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Adyen",
  "webhookPassword": "string",
  "webhookUsername": "string"
}

Properties

None

V3InstallConnectorResponse

{
  "data": "string"
}

Properties

Name Type Required Restrictions Description
data string true none The ID of the created connector

V3UninstallConnectorResponse

{
  "data": {
    "taskID": "string"
  }
}

Properties

Name Type Required Restrictions Description
data object true none none
» taskID string true none Since this call is asynchronous, the response will contain the ID of the task that was created to uninstall the connector. You can use the task API to check the status of the task and get the results.

V3ResetConnectorResponse

{
  "data": "string"
}

Properties

Name Type Required Restrictions Description
data string true none Since this call is asynchronous, the response will contain the ID of the task that was created to reset the connector. You can use the task API to check the status of the task and get the results.

V3Capability

"FETCH_ACCOUNTS"

Plugin capability advertised by a connector. Distinct from the Formance gateway "module capabilities" (which are version-gated); these reflect what the underlying PSP integration actually exposes.

Properties

Name Type Required Restrictions Description
anonymous string false none Plugin capability advertised by a connector. Distinct from the Formance gateway "module capabilities" (which are version-gated); these reflect what the underlying PSP integration actually exposes.

Enumerated Values

Property Value
anonymous FETCH_ACCOUNTS
anonymous FETCH_BALANCES
anonymous FETCH_EXTERNAL_ACCOUNTS
anonymous FETCH_PAYMENTS
anonymous FETCH_OTHERS
anonymous FETCH_ORDERS
anonymous FETCH_CONVERSIONS
anonymous CREATE_WEBHOOKS
anonymous TRANSLATE_WEBHOOKS
anonymous CREATE_BANK_ACCOUNT
anonymous CREATE_TRANSFER
anonymous CREATE_PAYOUT
anonymous ALLOW_FORMANCE_ACCOUNT_CREATION
anonymous ALLOW_FORMANCE_PAYMENT_CREATION

V3ConnectorCapabilitiesResponse

{
  "data": {
    "property1": [
      "FETCH_ACCOUNTS"
    ],
    "property2": [
      "FETCH_ACCOUNTS"
    ]
  }
}

Properties

Name Type Required Restrictions Description
data object true none Map of provider name to the capabilities its plugin advertises.
» additionalProperties [V3Capability] false none [Plugin capability advertised by a connector. Distinct from the Formance gateway "module capabilities" (which are version-gated); these reflect what the underlying PSP integration actually exposes.
]

V3ConnectorCapabilityResponse

{
  "data": [
    "FETCH_ACCOUNTS"
  ]
}

Properties

Name Type Required Restrictions Description
data [V3Capability] true none [Plugin capability advertised by a connector. Distinct from the Formance gateway "module capabilities" (which are version-gated); these reflect what the underlying PSP integration actually exposes.
]

V3ConnectorConfigsResponse

{
  "data": {
    "property1": {
      "property1": {
        "dataType": "string",
        "required": true,
        "defaultValue": "string"
      },
      "property2": {
        "dataType": "string",
        "required": true,
        "defaultValue": "string"
      }
    },
    "property2": {
      "property1": {
        "dataType": "string",
        "required": true,
        "defaultValue": "string"
      },
      "property2": {
        "dataType": "string",
        "required": true,
        "defaultValue": "string"
      }
    }
  }
}

Properties

Name Type Required Restrictions Description
data object true none none
» additionalProperties object false none none
»» additionalProperties object false none none
»»» dataType string true none none
»»» required boolean true none none
»»» defaultValue string false none none

V3GetConnectorConfigResponse

{
  "data": {
    "apiKey": "string",
    "companyID": "string",
    "liveEndpointPrefix": "string",
    "name": "string",
    "pageSize": 25,
    "pollingPeriod": "30m",
    "provider": "Adyen",
    "webhookPassword": "string",
    "webhookUsername": "string"
  }
}

Properties

Name Type Required Restrictions Description
data V3ConnectorConfig true none none

V3UpdateConnectorRequest

{
  "apiKey": "string",
  "companyID": "string",
  "liveEndpointPrefix": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Adyen",
  "webhookPassword": "string",
  "webhookUsername": "string"
}

Properties

None

V3ConnectorsCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "reference": "string",
        "name": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "provider": "string",
        "scheduledForDeletion": true,
        "config": {},
        "capabilities": [
          "FETCH_ACCOUNTS"
        ],
        "updatedAt": "2019-08-24T14:15:22Z"
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3Connector] true none none

V3ConnectorSchedulesCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "pausedAt": "2019-08-24T14:15:22Z",
        "pausedReason": "string"
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3Schedule] true none none

V3ConnectorScheduleResponse

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "pausedAt": "2019-08-24T14:15:22Z",
    "pausedReason": "string"
  }
}

Properties

Name Type Required Restrictions Description
data V3Schedule true none none

V3ConnectorScheduleInstancesCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "scheduleID": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "updatedAt": "2019-08-24T14:15:22Z",
        "terminated": true,
        "terminatedAt": "2019-08-24T14:15:22Z",
        "error": "string"
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3Instance] true none none

V3Connector

{
  "id": "string",
  "reference": "string",
  "name": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "provider": "string",
  "scheduledForDeletion": true,
  "config": {},
  "capabilities": [
    "FETCH_ACCOUNTS"
  ],
  "updatedAt": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
id string true none none
reference string true none none
name string true none none
createdAt string(date-time) true none none
provider string true none none
scheduledForDeletion boolean true none none
config object true none none
capabilities [V3Capability] false none Plugin capabilities advertised by the connector's provider.
updatedAt string(date-time)¦null false none none

V3ConnectorBase

{
  "id": "string",
  "reference": "string",
  "name": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "provider": "string"
}

Properties

Name Type Required Restrictions Description
id string false none none
reference string false none none
name string false none none
createdAt string(date-time) false none none
provider string false none none

V3Schedule

{
  "id": "string",
  "connectorID": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "pausedAt": "2019-08-24T14:15:22Z",
  "pausedReason": "string"
}

Properties

Name Type Required Restrictions Description
id string true none none
connectorID string(byte) true none none
createdAt string(date-time) true none none
pausedAt string(date-time)¦null false none none
pausedReason string¦null false none none

V3Instance

{
  "id": "string",
  "connectorID": "string",
  "scheduleID": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "terminated": true,
  "terminatedAt": "2019-08-24T14:15:22Z",
  "error": "string"
}

Properties

Name Type Required Restrictions Description
id string true none none
connectorID string(byte) true none none
scheduleID string true none none
createdAt string(date-time) true none none
updatedAt string(date-time) true none none
terminated boolean true none none
terminatedAt string(date-time) false none none
error string¦null false none none

V3CreatePaymentRequest

{
  "reference": "string",
  "connectorID": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "type": "UNKNOWN",
  "initialAmount": 0,
  "amount": 0,
  "asset": "string",
  "scheme": "string",
  "sourceAccountID": "string",
  "destinationAccountID": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  },
  "adjustments": [
    {
      "reference": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "status": "UNKNOWN",
      "amount": 0,
      "asset": "string",
      "metadata": {
        "property1": "string",
        "property2": "string"
      }
    }
  ]
}

Properties

Name Type Required Restrictions Description
reference string true none none
connectorID string(byte) true none none
createdAt string(date-time) true none none
type V3PaymentTypeEnum true none none
initialAmount integer(bigint) true none none
amount integer(bigint) true none none
asset string true none none
scheme string true none none
sourceAccountID string(byte) false none none
destinationAccountID string(byte) false none none
metadata V3Metadata false none none
adjustments [V3CreatePaymentAdjustmentRequest] false none none

V3CreatePaymentAdjustmentRequest

{
  "reference": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "status": "UNKNOWN",
  "amount": 0,
  "asset": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Properties

Name Type Required Restrictions Description
reference string true none none
createdAt string(date-time) true none none
status V3PaymentStatusEnum true none none
amount integer(bigint) false none none
asset string false none none
metadata V3Metadata false none none

V3CreatePaymentResponse

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "provider": "string",
    "reference": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "type": "UNKNOWN",
    "initialAmount": 0,
    "amount": 0,
    "asset": "string",
    "scheme": "string",
    "status": "UNKNOWN",
    "sourceAccountID": "string",
    "destinationAccountID": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "adjustments": [
      {
        "id": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "status": "UNKNOWN",
        "amount": 0,
        "asset": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "raw": {}
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
data V3Payment true none none

V3UpdatePaymentMetadataRequest

{
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Properties

Name Type Required Restrictions Description
metadata V3Metadata true none none

V3PaymentsCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "provider": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "type": "UNKNOWN",
        "initialAmount": 0,
        "amount": 0,
        "asset": "string",
        "scheme": "string",
        "status": "UNKNOWN",
        "sourceAccountID": "string",
        "destinationAccountID": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "adjustments": [
          {
            "id": "string",
            "reference": "string",
            "createdAt": "2019-08-24T14:15:22Z",
            "status": "UNKNOWN",
            "amount": 0,
            "asset": "string",
            "metadata": {
              "property1": "string",
              "property2": "string"
            },
            "raw": {}
          }
        ]
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3Payment] true none none

V3GetPaymentResponse

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "provider": "string",
    "reference": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "type": "UNKNOWN",
    "initialAmount": 0,
    "amount": 0,
    "asset": "string",
    "scheme": "string",
    "status": "UNKNOWN",
    "sourceAccountID": "string",
    "destinationAccountID": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "adjustments": [
      {
        "id": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "status": "UNKNOWN",
        "amount": 0,
        "asset": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "raw": {}
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
data V3Payment true none none

V3Payment

{
  "id": "string",
  "connectorID": "string",
  "provider": "string",
  "reference": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "type": "UNKNOWN",
  "initialAmount": 0,
  "amount": 0,
  "asset": "string",
  "scheme": "string",
  "status": "UNKNOWN",
  "sourceAccountID": "string",
  "destinationAccountID": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  },
  "adjustments": [
    {
      "id": "string",
      "reference": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "status": "UNKNOWN",
      "amount": 0,
      "asset": "string",
      "metadata": {
        "property1": "string",
        "property2": "string"
      },
      "raw": {}
    }
  ]
}

Properties

Name Type Required Restrictions Description
id string true none none
connectorID string(byte) true none none
provider string true none none
reference string true none none
createdAt string(date-time) true none none
type V3PaymentTypeEnum true none none
initialAmount integer(bigint) true none none
amount integer(bigint) true none none
asset string true none none
scheme string true none none
status V3PaymentStatusEnum true none none
sourceAccountID string(byte)¦null false none none
destinationAccountID string(byte)¦null false none none
metadata V3Metadata false none none
adjustments [V3PaymentAdjustment]¦null false none none

V3PaymentAdjustment

{
  "id": "string",
  "reference": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "status": "UNKNOWN",
  "amount": 0,
  "asset": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  },
  "raw": {}
}

Properties

Name Type Required Restrictions Description
id string true none none
reference string true none none
createdAt string(date-time) true none none
status V3PaymentStatusEnum true none none
amount integer(bigint) false none none
asset string false none none
metadata V3Metadata false none none
raw object true none none

V3PaymentTypeEnum

"UNKNOWN"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous UNKNOWN
anonymous PAY-IN
anonymous PAYOUT
anonymous TRANSFER
anonymous OTHER

V3PaymentStatusEnum

"UNKNOWN"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous UNKNOWN
anonymous PENDING
anonymous SUCCEEDED
anonymous CANCELLED
anonymous FAILED
anonymous EXPIRED
anonymous REFUNDED
anonymous REFUNDED_FAILURE
anonymous REFUND_REVERSED
anonymous DISPUTE
anonymous DISPUTE_WON
anonymous DISPUTE_LOST
anonymous AMOUNT_ADJUSTEMENT
anonymous AUTHORISATION
anonymous CAPTURE
anonymous CAPTURE_FAILED
anonymous OTHER

V3OrdersCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "provider": "string",
        "reference": "string",
        "clientOrderID": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "updatedAt": "2019-08-24T14:15:22Z",
        "direction": "UNKNOWN",
        "sourceAsset": "string",
        "destinationAsset": "string",
        "type": "UNKNOWN",
        "status": "UNKNOWN",
        "baseQuantityOrdered": 0,
        "baseQuantityFilled": 0,
        "limitPrice": 0,
        "stopPrice": 0,
        "timeInForce": "UNKNOWN",
        "expiresAt": "2019-08-24T14:15:22Z",
        "fee": 0,
        "feeAsset": "string",
        "averageFillPrice": 0,
        "quoteAmount": 0,
        "quoteAsset": "string",
        "priceAsset": "string",
        "sourceAccountID": "string",
        "destinationAccountID": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "adjustments": [
          {
            "id": "string",
            "reference": "string",
            "createdAt": "2019-08-24T14:15:22Z",
            "status": "UNKNOWN",
            "baseQuantityFilled": 0,
            "fee": 0,
            "feeAsset": "string",
            "metadata": {
              "property1": "string",
              "property2": "string"
            },
            "raw": {}
          }
        ],
        "error": "string"
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3Order] true none [A trade order submitted to an exchange-style PSP. Orders are read-only
in the Formance API: they are fetched from the underlying connector.
Status transitions are captured via the adjustments array; each
adjustment is a point-in-time snapshot from the PSP.
]

V3GetOrderResponse

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "provider": "string",
    "reference": "string",
    "clientOrderID": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "direction": "UNKNOWN",
    "sourceAsset": "string",
    "destinationAsset": "string",
    "type": "UNKNOWN",
    "status": "UNKNOWN",
    "baseQuantityOrdered": 0,
    "baseQuantityFilled": 0,
    "limitPrice": 0,
    "stopPrice": 0,
    "timeInForce": "UNKNOWN",
    "expiresAt": "2019-08-24T14:15:22Z",
    "fee": 0,
    "feeAsset": "string",
    "averageFillPrice": 0,
    "quoteAmount": 0,
    "quoteAsset": "string",
    "priceAsset": "string",
    "sourceAccountID": "string",
    "destinationAccountID": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "adjustments": [
      {
        "id": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "status": "UNKNOWN",
        "baseQuantityFilled": 0,
        "fee": 0,
        "feeAsset": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "raw": {}
      }
    ],
    "error": "string"
  }
}

Properties

Name Type Required Restrictions Description
data V3Order true none A trade order submitted to an exchange-style PSP. Orders are read-only
in the Formance API: they are fetched from the underlying connector.
Status transitions are captured via the adjustments array; each
adjustment is a point-in-time snapshot from the PSP.

V3Order

{
  "id": "string",
  "connectorID": "string",
  "provider": "string",
  "reference": "string",
  "clientOrderID": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "direction": "UNKNOWN",
  "sourceAsset": "string",
  "destinationAsset": "string",
  "type": "UNKNOWN",
  "status": "UNKNOWN",
  "baseQuantityOrdered": 0,
  "baseQuantityFilled": 0,
  "limitPrice": 0,
  "stopPrice": 0,
  "timeInForce": "UNKNOWN",
  "expiresAt": "2019-08-24T14:15:22Z",
  "fee": 0,
  "feeAsset": "string",
  "averageFillPrice": 0,
  "quoteAmount": 0,
  "quoteAsset": "string",
  "priceAsset": "string",
  "sourceAccountID": "string",
  "destinationAccountID": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  },
  "adjustments": [
    {
      "id": "string",
      "reference": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "status": "UNKNOWN",
      "baseQuantityFilled": 0,
      "fee": 0,
      "feeAsset": "string",
      "metadata": {
        "property1": "string",
        "property2": "string"
      },
      "raw": {}
    }
  ],
  "error": "string"
}

A trade order submitted to an exchange-style PSP. Orders are read-only in the Formance API: they are fetched from the underlying connector. Status transitions are captured via the adjustments array; each adjustment is a point-in-time snapshot from the PSP.

Properties

Name Type Required Restrictions Description
id string true none Formance-assigned unique order ID (composed from the PSP reference and connector ID).
connectorID string(byte) true none ID of the Formance connector this order was fetched from.
provider string true none Provider name of the connector (e.g. coinbaseprime).
reference string true none PSP-assigned order reference. Unique within the connector; used as the storage dedup key.
clientOrderID string¦null false none Client-assigned ID supplied to the PSP for placement idempotency
(e.g. Coinbase client_order_id, Kraken cl_ord_id, Binance
clientOrderId). Stored for traceability only — Formance does
NOT dedup on this field.
createdAt string(date-time) true none When the order was created on the PSP.
updatedAt string(date-time) true none When Formance last observed a state change on the order. Equivalent to the latest adjustment's createdAt.
direction V3OrderDirectionEnum true none Whether an order buys or sells the base asset.
sourceAsset string true none Asset being spent, in SYMBOL/precision form (e.g. USD/2,
BTC/8). For BUY: the quote currency. For SELL: the base
currency.
destinationAsset string true none Asset being received, in SYMBOL/precision form.
For BUY: the base currency. For SELL: the quote currency.
type V3OrderTypeEnum true none Exchange order type. Determines which price fields are meaningful on
V3Order: LIMIT-family types use limitPrice; STOP-family types use
stopPrice; TWAP/VWAP are time-weighted execution algorithms.
status V3OrderStatusEnum true none Lifecycle of an order on the exchange.
PENDING — accepted by the exchange, not yet working.
OPEN — live on the book, no fills yet.
PARTIALLY_FILLED — live on the book, some base quantity filled.
FILLED — fully filled, terminal.
CANCELLED — cancelled by the user or system, terminal.
FAILED — rejected by the exchange, terminal. See error for details.
EXPIRED — timeInForce elapsed before full fill, terminal.
baseQuantityOrdered integer(bigint) true none Amount of base asset the order was placed for, as an integer at the base asset's precision.
baseQuantityFilled integer(bigint)¦null false none Amount of base asset filled so far, as an integer at the base asset's precision. Null before any fill.
limitPrice integer(bigint)¦null false none Maximum price (for BUY) or minimum price (for SELL) at which the order may execute, in priceAsset precision. Required for LIMIT-family order types; null otherwise.
stopPrice integer(bigint)¦null false none Trigger price at which a STOP / STOP_LIMIT order activates, in priceAsset precision. Null for non-stop order types.
timeInForce V3TimeInForceEnum true none How long an order is valid on the exchange.
GOOD_UNTIL_CANCELLED — rests until explicitly cancelled.
GOOD_UNTIL_DATE_TIME — rests until expiresAt.
IMMEDIATE_OR_CANCEL — fill immediately, cancel any unfilled portion.
FILL_OR_KILL — fill fully and immediately, or cancel entirely.
expiresAt string(date-time)¦null false none Expiration instant for GOOD_UNTIL_DATE_TIME orders. Null for other time-in-force values.
fee integer(bigint)¦null false none Commission charged by the PSP for the order, as an integer in feeAsset precision.
feeAsset string¦null false none Currency the fee is denominated in, in SYMBOL/precision form. Typically the quote asset.
averageFillPrice integer(bigint)¦null false none Volume-weighted average price across all fills so far, in priceAsset precision. Analytics field — may be absent if the PSP does not report it.
quoteAmount integer(bigint)¦null false none Total amount of quote currency exchanged so far, as reported by
the PSP (e.g. Coinbase filled_value), at quoteAsset
precision. For BUY: amount spent. For SELL: amount received.
quoteAsset string¦null false none Quote currency with precision (e.g. USD/2). Null when the order has no quote-side amounts reported yet.
priceAsset string¦null false none Currency + precision under which limitPrice, stopPrice, and
averageFillPrice should be interpreted. Separate from
quoteAsset because some PSPs return price strings with more
decimal digits than the quote currency's natural precision.
sourceAccountID string¦null false none Formance account ID of the wallet the source asset was debited
from. Null if the PSP did not return enough information to
resolve it at ingestion time.
destinationAccountID string¦null false none Formance account ID of the wallet the destination asset was credited to. Null if unresolvable.
metadata V3Metadata false none none
adjustments [V3OrderAdjustment]¦null false none Ordered history of state snapshots for this order. The most recent element reflects the current status.
error string¦null false none Human-readable error from the PSP (e.g. rejection reason) when status is FAILED. Null otherwise.

V3OrderAdjustment

{
  "id": "string",
  "reference": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "status": "UNKNOWN",
  "baseQuantityFilled": 0,
  "fee": 0,
  "feeAsset": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  },
  "raw": {}
}

Immutable snapshot of an order's state at a single observation. Formance records one adjustment per distinct state the PSP reports (status change, fill progress, fee update). Events are emitted per-adjustment, not per-order — so a single order can produce many events over its lifetime.

Properties

Name Type Required Restrictions Description
id string true none Adjustment ID, composed from the order ID plus the state fields that define uniqueness (status, filled quantity, fee). Idempotent — replaying the same observation produces the same ID.
reference string true none PSP reference the adjustment belongs to (equal to the parent order's reference).
createdAt string(date-time) true none When Formance observed this state. Not the PSP's own timestamp — reflects ingestion time.
status V3OrderStatusEnum true none Lifecycle of an order on the exchange.
PENDING — accepted by the exchange, not yet working.
OPEN — live on the book, no fills yet.
PARTIALLY_FILLED — live on the book, some base quantity filled.
FILLED — fully filled, terminal.
CANCELLED — cancelled by the user or system, terminal.
FAILED — rejected by the exchange, terminal. See error for details.
EXPIRED — timeInForce elapsed before full fill, terminal.
baseQuantityFilled integer(bigint)¦null false none Base asset filled at this observation, at the base asset's precision.
fee integer(bigint)¦null false none Cumulative fee at this observation, at feeAsset precision.
feeAsset string¦null false none Currency the fee is denominated in, in SYMBOL/precision form.
metadata V3Metadata false none none
raw object false none Untransformed PSP response payload that produced this adjustment. Retained for debugging and replay.

V3OrderDirectionEnum

"UNKNOWN"

Whether an order buys or sells the base asset.

Properties

Name Type Required Restrictions Description
anonymous string false none Whether an order buys or sells the base asset.

Enumerated Values

Property Value
anonymous UNKNOWN
anonymous BUY
anonymous SELL

V3OrderTypeEnum

"UNKNOWN"

Exchange order type. Determines which price fields are meaningful on V3Order: LIMIT-family types use limitPrice; STOP-family types use stopPrice; TWAP/VWAP are time-weighted execution algorithms.

Properties

Name Type Required Restrictions Description
anonymous string false none Exchange order type. Determines which price fields are meaningful on
V3Order: LIMIT-family types use limitPrice; STOP-family types use
stopPrice; TWAP/VWAP are time-weighted execution algorithms.

Enumerated Values

Property Value
anonymous UNKNOWN
anonymous MARKET
anonymous LIMIT
anonymous STOP_LIMIT
anonymous STOP
anonymous TWAP
anonymous VWAP
anonymous PEG
anonymous BLOCK
anonymous RFQ
anonymous TRAILING_STOP
anonymous TRAILING_STOP_LIMIT
anonymous TAKE_PROFIT
anonymous TAKE_PROFIT_LIMIT
anonymous LIMIT_MAKER

V3OrderStatusEnum

"UNKNOWN"

Lifecycle of an order on the exchange. PENDING — accepted by the exchange, not yet working. OPEN — live on the book, no fills yet. PARTIALLY_FILLED — live on the book, some base quantity filled. FILLED — fully filled, terminal. CANCELLED — cancelled by the user or system, terminal. FAILED — rejected by the exchange, terminal. See error for details. EXPIRED — timeInForce elapsed before full fill, terminal.

Properties

Name Type Required Restrictions Description
anonymous string false none Lifecycle of an order on the exchange.
PENDING — accepted by the exchange, not yet working.
OPEN — live on the book, no fills yet.
PARTIALLY_FILLED — live on the book, some base quantity filled.
FILLED — fully filled, terminal.
CANCELLED — cancelled by the user or system, terminal.
FAILED — rejected by the exchange, terminal. See error for details.
EXPIRED — timeInForce elapsed before full fill, terminal.

Enumerated Values

Property Value
anonymous UNKNOWN
anonymous PENDING
anonymous OPEN
anonymous PARTIALLY_FILLED
anonymous FILLED
anonymous CANCELLED
anonymous FAILED
anonymous EXPIRED

V3TimeInForceEnum

"UNKNOWN"

How long an order is valid on the exchange. GOOD_UNTIL_CANCELLED — rests until explicitly cancelled. GOOD_UNTIL_DATE_TIME — rests until expiresAt. IMMEDIATE_OR_CANCEL — fill immediately, cancel any unfilled portion. FILL_OR_KILL — fill fully and immediately, or cancel entirely.

Properties

Name Type Required Restrictions Description
anonymous string false none How long an order is valid on the exchange.
GOOD_UNTIL_CANCELLED — rests until explicitly cancelled.
GOOD_UNTIL_DATE_TIME — rests until expiresAt.
IMMEDIATE_OR_CANCEL — fill immediately, cancel any unfilled portion.
FILL_OR_KILL — fill fully and immediately, or cancel entirely.

Enumerated Values

Property Value
anonymous UNKNOWN
anonymous GOOD_UNTIL_CANCELLED
anonymous GOOD_UNTIL_DATE_TIME
anonymous IMMEDIATE_OR_CANCEL
anonymous FILL_OR_KILL

V3ConversionsCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "provider": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "updatedAt": "2019-08-24T14:15:22Z",
        "sourceAsset": "string",
        "destinationAsset": "string",
        "sourceAmount": 0,
        "destinationAmount": 0,
        "fee": 0,
        "feeAsset": "string",
        "status": "UNKNOWN",
        "sourceAccountID": "string",
        "destinationAccountID": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "error": "string"
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3Conversion] true none [A currency or asset conversion executed on a PSP (e.g. Coinbase Prime
transfer between a USD and USDC wallet). Conversions are read-only in
the Formance API: they are fetched from the underlying connector.
Unlike orders, conversions do not carry an adjustment history —
Formance records the final state only.
]

V3GetConversionResponse

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "provider": "string",
    "reference": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "sourceAsset": "string",
    "destinationAsset": "string",
    "sourceAmount": 0,
    "destinationAmount": 0,
    "fee": 0,
    "feeAsset": "string",
    "status": "UNKNOWN",
    "sourceAccountID": "string",
    "destinationAccountID": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    },
    "error": "string"
  }
}

Properties

Name Type Required Restrictions Description
data V3Conversion true none A currency or asset conversion executed on a PSP (e.g. Coinbase Prime
transfer between a USD and USDC wallet). Conversions are read-only in
the Formance API: they are fetched from the underlying connector.
Unlike orders, conversions do not carry an adjustment history —
Formance records the final state only.

V3Conversion

{
  "id": "string",
  "connectorID": "string",
  "provider": "string",
  "reference": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "sourceAsset": "string",
  "destinationAsset": "string",
  "sourceAmount": 0,
  "destinationAmount": 0,
  "fee": 0,
  "feeAsset": "string",
  "status": "UNKNOWN",
  "sourceAccountID": "string",
  "destinationAccountID": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  },
  "error": "string"
}

A currency or asset conversion executed on a PSP (e.g. Coinbase Prime transfer between a USD and USDC wallet). Conversions are read-only in the Formance API: they are fetched from the underlying connector. Unlike orders, conversions do not carry an adjustment history — Formance records the final state only.

Properties

Name Type Required Restrictions Description
id string true none Formance-assigned unique conversion ID.
connectorID string(byte) true none ID of the Formance connector this conversion was fetched from.
provider string true none Provider name of the connector (e.g. coinbaseprime).
reference string true none PSP-assigned conversion reference. Unique within the connector.
createdAt string(date-time) true none When the conversion was initiated on the PSP.
updatedAt string(date-time) true none When Formance last observed a state change on the conversion.
sourceAsset string true none Asset being converted from, in SYMBOL/precision form (e.g. USD/2).
destinationAsset string true none Asset being converted to, in SYMBOL/precision form (e.g. USDC/6).
sourceAmount integer(bigint) true none Amount of source asset debited, as an integer at sourceAsset precision.
destinationAmount integer(bigint)¦null false none Amount of destination asset credited, at destinationAsset precision. Null until the conversion completes.
fee integer(bigint)¦null false none PSP fee for the conversion, at feeAsset precision.
feeAsset string¦null false none Currency the fee is denominated in, in SYMBOL/precision form.
status V3ConversionStatusEnum true none Lifecycle of a conversion.
PENDING — accepted by the PSP, not yet settled.
COMPLETED — settled, terminal.
FAILED — rejected or reverted, terminal. See error.
sourceAccountID string¦null false none Formance account ID of the wallet the source asset was debited from.
destinationAccountID string¦null false none Formance account ID of the wallet the destination asset was credited to.
metadata V3Metadata false none none
error string¦null false none Human-readable error from the PSP when status is FAILED. Null otherwise.

V3ConversionStatusEnum

"UNKNOWN"

Lifecycle of a conversion. PENDING — accepted by the PSP, not yet settled. COMPLETED — settled, terminal. FAILED — rejected or reverted, terminal. See error.

Properties

Name Type Required Restrictions Description
anonymous string false none Lifecycle of a conversion.
PENDING — accepted by the PSP, not yet settled.
COMPLETED — settled, terminal.
FAILED — rejected or reverted, terminal. See error.

Enumerated Values

Property Value
anonymous UNKNOWN
anonymous PENDING
anonymous COMPLETED
anonymous FAILED

V3InitiatePaymentRequest

{
  "reference": "string",
  "scheduledAt": "2019-08-24T14:15:22Z",
  "connectorID": "string",
  "description": "string",
  "type": "UNKNOWN",
  "amount": 0,
  "asset": "string",
  "sourceAccountID": "string",
  "destinationAccountID": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Properties

Name Type Required Restrictions Description
reference string true none none
scheduledAt string(date-time) true none none
connectorID string(byte) true none none
description string true none none
type V3PaymentInitiationTypeEnum true none none
amount integer(bigint) true none none
asset string true none none
sourceAccountID string(byte)¦null false none none
destinationAccountID string(byte) false none none
metadata V3Metadata false none none

V3InitiatePaymentResponse

{
  "data": {
    "paymentInitiationID": "string",
    "taskID": "string"
  }
}

Properties

Name Type Required Restrictions Description
data object true none none
» paymentInitiationID string false none Related payment initiation object ID created.
» taskID string false none Will be filled if the noValidation query parameter is set to true. Since this call is asynchronous, the response will contain the ID of the task that was created to create the payment on the PSP. You can use the task API to check the status of the task and get the resulting payment ID

V3RetryPaymentInitiationResponse

{
  "data": {
    "taskID": "string"
  }
}

Properties

Name Type Required Restrictions Description
data object true none none
» taskID string true none Since this call is asynchronous, the response will contain the ID of the task that was created to retry the payment initiation to the PSP. You can use the task API to check the status of the task and get the resulting payment ID.

V3ApprovePaymentInitiationResponse

{
  "data": {
    "taskID": "string"
  }
}

Properties

Name Type Required Restrictions Description
data object true none none
» taskID string true none Since this call is asynchronous, the response will contain the ID of the task that was created to approve the payment initiation. You can use the task API to check the status of the task and get the resulting payment ID.

V3ReversePaymentInitiationRequest

{
  "reference": "string",
  "description": "string",
  "amount": 0,
  "asset": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Properties

Name Type Required Restrictions Description
reference string true none none
description string true none none
amount integer(bigint) true none none
asset string true none none
metadata V3Metadata false none none

V3ReversePaymentInitiationResponse

{
  "data": {
    "taskID": "string",
    "paymentInitiationReversalID": "string"
  }
}

Properties

Name Type Required Restrictions Description
data object true none none
» taskID string false none Since this call is asynchronous, the response will contain the ID of the task that was created to reverse the payment initiation. You can use the task API to check the status of the task and get the resulting payment ID.
» paymentInitiationReversalID string false none Related payment initiation reversal object ID created.

V3PaymentInitiationsCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "provider": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "scheduledAt": "2019-08-24T14:15:22Z",
        "description": "string",
        "type": "UNKNOWN",
        "amount": 0,
        "asset": "string",
        "status": "UNKNOWN",
        "sourceAccountID": "string",
        "destinationAccountID": "string",
        "error": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        }
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3PaymentInitiation] true none none

V3PaymentInitiationAdjustmentsCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "status": "UNKNOWN",
        "amount": 0,
        "asset": "string",
        "error": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        }
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3PaymentInitiationAdjustment] true none none

V3PaymentInitiationRelatedPaymentsCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "connectorID": "string",
        "provider": "string",
        "reference": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "type": "UNKNOWN",
        "initialAmount": 0,
        "amount": 0,
        "asset": "string",
        "scheme": "string",
        "status": "UNKNOWN",
        "sourceAccountID": "string",
        "destinationAccountID": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        },
        "adjustments": [
          {
            "id": "string",
            "reference": "string",
            "createdAt": "2019-08-24T14:15:22Z",
            "status": "UNKNOWN",
            "amount": 0,
            "asset": "string",
            "metadata": {
              "property1": "string",
              "property2": "string"
            },
            "raw": {}
          }
        ]
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3Payment] true none none

V3PaymentInitiation

{
  "id": "string",
  "connectorID": "string",
  "provider": "string",
  "reference": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "scheduledAt": "2019-08-24T14:15:22Z",
  "description": "string",
  "type": "UNKNOWN",
  "amount": 0,
  "asset": "string",
  "status": "UNKNOWN",
  "sourceAccountID": "string",
  "destinationAccountID": "string",
  "error": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Properties

Name Type Required Restrictions Description
id string true none none
connectorID string(byte) true none none
provider string true none none
reference string true none none
createdAt string(date-time) true none none
scheduledAt string(date-time) true none none
description string true none none
type V3PaymentInitiationTypeEnum true none none
amount integer(bigint) true none none
asset string true none none
status V3PaymentInitiationStatusEnum true none none
sourceAccountID string(byte) false none none
destinationAccountID string(byte) false none none
error string¦null false none none
metadata V3Metadata false none none

V3PaymentInitiationAdjustment

{
  "id": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "status": "UNKNOWN",
  "amount": 0,
  "asset": "string",
  "error": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Properties

Name Type Required Restrictions Description
id string true none none
createdAt string(date-time) true none none
status V3PaymentInitiationStatusEnum true none none
amount integer(bigint) false none none
asset string false none none
error string¦null false none none
metadata V3Metadata false none none

V3GetPaymentInitiationResponse

{
  "data": {
    "id": "string",
    "connectorID": "string",
    "provider": "string",
    "reference": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "scheduledAt": "2019-08-24T14:15:22Z",
    "description": "string",
    "type": "UNKNOWN",
    "amount": 0,
    "asset": "string",
    "status": "UNKNOWN",
    "sourceAccountID": "string",
    "destinationAccountID": "string",
    "error": "string",
    "metadata": {
      "property1": "string",
      "property2": "string"
    }
  }
}

Properties

Name Type Required Restrictions Description
data V3PaymentInitiation true none none

V3PaymentInitiationStatusEnum

"UNKNOWN"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous UNKNOWN
anonymous WAITING_FOR_VALIDATION
anonymous SCHEDULED_FOR_PROCESSING
anonymous PROCESSING
anonymous PROCESSED
anonymous FAILED
anonymous REJECTED
anonymous REVERSE_PROCESSING
anonymous REVERSE_FAILED
anonymous REVERSED

V3PaymentInitiationTypeEnum

"UNKNOWN"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous UNKNOWN
anonymous TRANSFER
anonymous PAYOUT

V3CreatePaymentServiceUserRequest

{
  "name": "string",
  "contactDetails": {
    "email": "string",
    "phoneNumber": "string"
  },
  "address": {
    "streetNumber": "string",
    "streetName": "string",
    "city": "string",
    "region": "string",
    "postalCode": "string",
    "country": "string"
  },
  "bankAccountIDs": [
    "string"
  ],
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Properties

Name Type Required Restrictions Description
name string true none none
contactDetails V3ContactDetailsRequest false none none
address V3AddressRequest false none none
bankAccountIDs [string]¦null false none none
metadata V3Metadata false none none

V3AddressRequest

{
  "streetNumber": "string",
  "streetName": "string",
  "city": "string",
  "region": "string",
  "postalCode": "string",
  "country": "string"
}

Properties

Name Type Required Restrictions Description
streetNumber string false none none
streetName string false none none
city string false none none
region string false none none
postalCode string false none none
country string false none none

V3ContactDetailsRequest

{
  "email": "string",
  "phoneNumber": "string"
}

Properties

Name Type Required Restrictions Description
email string false none none
phoneNumber string false none none

V3CreatePaymentServiceUserResponse

{
  "data": "string"
}

Properties

Name Type Required Restrictions Description
data string true none The ID of the created payment service user

V3PaymentServiceUserDeleteResponse

{
  "data": {
    "taskID": "string"
  }
}

Properties

Name Type Required Restrictions Description
data object true none none
» taskID string true none Since this call is asynchronous, the response will contain the ID of the task that was created to delete the payment service user. You can use the task API to check the status of the task.

V3PaymentServiceUserDeleteConnectorResponse

{
  "data": {
    "taskID": "string"
  }
}

Properties

Name Type Required Restrictions Description
data object true none none
» taskID string true none Since this call is asynchronous, the response will contain the ID of the task that was created to delete the payment service user on the connector. You can use the task API to check the status of the task.

V3PaymentServiceUserDeleteConnectionResponse

{
  "data": {
    "taskID": "string"
  }
}

Properties

Name Type Required Restrictions Description
data object true none none
» taskID string true none Since this call is asynchronous, the response will contain the ID of the task that was created to delete the connection. You can use the task API to check the status of the task.

V3PaymentServiceUsersCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "data": [
      {
        "id": "string",
        "name": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "contactDetails": {
          "email": "string",
          "phoneNumber": "string"
        },
        "address": {
          "streetNumber": "string",
          "streetName": "string",
          "city": "string",
          "region": "string",
          "postalCode": "string",
          "country": "string"
        },
        "bankAccountIDs": [
          "string"
        ],
        "metadata": {
          "property1": "string",
          "property2": "string"
        }
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3PaymentServiceUser] true none none

V3PaymentServiceUserConnectionsCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "data": [
      {
        "connectionID": "string",
        "connectorID": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "dataUpdatedAt": "2019-08-24T14:15:22Z",
        "status": "ACTIVE",
        "error": "string",
        "metadata": {
          "property1": "string",
          "property2": "string"
        }
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3PaymentServiceUserConnection] true none none

V3PaymentServiceUserLinkAttemptsCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "data": [
      {
        "id": "string",
        "psuID": "string",
        "connectorID": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "status": "pending",
        "clientRedirectURL": "string",
        "error": "string"
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3PaymentServiceUserLinkAttempt] true none none

V3PaymentServiceUser

{
  "id": "string",
  "name": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "contactDetails": {
    "email": "string",
    "phoneNumber": "string"
  },
  "address": {
    "streetNumber": "string",
    "streetName": "string",
    "city": "string",
    "region": "string",
    "postalCode": "string",
    "country": "string"
  },
  "bankAccountIDs": [
    "string"
  ],
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Properties

Name Type Required Restrictions Description
id string true none none
name string true none none
createdAt string(date-time) true none none
contactDetails V3ContactDetails false none none
address V3Address false none none
bankAccountIDs [string]¦null false none none
metadata V3Metadata false none none

V3PaymentServiceUserConnection

{
  "connectionID": "string",
  "connectorID": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "dataUpdatedAt": "2019-08-24T14:15:22Z",
  "status": "ACTIVE",
  "error": "string",
  "metadata": {
    "property1": "string",
    "property2": "string"
  }
}

Properties

Name Type Required Restrictions Description
connectionID string true none none
connectorID string true none none
createdAt string(date-time) true none none
dataUpdatedAt string(date-time) true none none
status V3ConnectionStatusEnum true none none
error string¦null false none none
metadata V3Metadata false none none

V3PaymentServiceUserLinkAttempt

{
  "id": "string",
  "psuID": "string",
  "connectorID": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "status": "pending",
  "clientRedirectURL": "string",
  "error": "string"
}

Properties

Name Type Required Restrictions Description
id string true none none
psuID string true none none
connectorID string true none none
createdAt string(date-time) true none none
status V3OpenBankingConnectionAttemptStatusEnum true none none
clientRedirectURL string(url) true none none
error string¦null false none none

V3ContactDetails

{
  "email": "string",
  "phoneNumber": "string"
}

Properties

Name Type Required Restrictions Description
email string false none none
phoneNumber string false none none

V3Address

{
  "streetNumber": "string",
  "streetName": "string",
  "city": "string",
  "region": "string",
  "postalCode": "string",
  "country": "string"
}

Properties

Name Type Required Restrictions Description
streetNumber string false none none
streetName string false none none
city string false none none
region string false none none
postalCode string false none none
country string false none none

V3GetPaymentServiceUserResponse

{
  "data": {
    "id": "string",
    "name": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "contactDetails": {
      "email": "string",
      "phoneNumber": "string"
    },
    "address": {
      "streetNumber": "string",
      "streetName": "string",
      "city": "string",
      "region": "string",
      "postalCode": "string",
      "country": "string"
    },
    "bankAccountIDs": [
      "string"
    ],
    "metadata": {
      "property1": "string",
      "property2": "string"
    }
  }
}

Properties

Name Type Required Restrictions Description
data V3PaymentServiceUser true none none

V3ForwardPaymentServiceUserBankAccountRequest

{
  "connectorID": "string"
}

Properties

Name Type Required Restrictions Description
connectorID string(byte) true none none

V3ForwardPaymentServiceUserBankAccountResponse

{
  "data": {
    "taskID": "string"
  }
}

Properties

Name Type Required Restrictions Description
data object true none none
» taskID string true none Since this call is asynchronous, the response will contain the ID of the task that was created to forward the bank account to the PSP. You can use the task API to check the status of the task and get the resulting bank account ID.

V3ConnectionStatusEnum

"ACTIVE"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous ACTIVE
anonymous ERROR

V3OpenBankingConnectionAttemptStatusEnum

"pending"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous pending
anonymous completed
anonymous exited

V3PaymentServiceUserCreateLinkRequest

{
  "applicationName": "string",
  "clientRedirectURL": "string"
}

Properties

Name Type Required Restrictions Description
applicationName string false none The name of the application to be displayed to the user when they click the link (depending on the open banking provider). Note that this field might be mandatory for some open banking providers.
clientRedirectURL string(url) true none The URL to redirect the user to after the link flow is completed.

V3PaymentServiceUserCreateLinkResponse

{
  "attemptID": "string",
  "link": "string"
}

Properties

Name Type Required Restrictions Description
attemptID string true none none
link string(url) true none none

V3PaymentServiceUserUpdateLinkRequest

{
  "applicationName": "string",
  "clientRedirectURL": "string"
}

Properties

Name Type Required Restrictions Description
applicationName string false none The name of the application to be displayed to the user when they click the link (depending on the open banking provider). Note that this field might be mandatory for some open banking providers.
clientRedirectURL string(url) true none none

V3PaymentServiceUserUpdateLinkResponse

{
  "attemptID": "string",
  "link": "string"
}

Properties

Name Type Required Restrictions Description
attemptID string true none none
link string(url) true none none

V3CreatePoolRequest

{
  "name": "string",
  "query": {},
  "accountIDs": [
    "string"
  ]
}

Query and dynamic pools are available from Connectivity v3.1

Properties

Name Type Required Restrictions Description
name string true none none
query object false none The same query than in ListAccount. Allowed properties are id, reference, connector_id, type, default_asset, name, psu_id, open_banking_connection_id and metadata.
accountIDs [string] false none none

V3CreatePoolResponse

{
  "data": "string"
}

Properties

Name Type Required Restrictions Description
data string true none The ID of the created pool

V3UpdatePoolQueryRequest

{
  "query": {}
}

Properties

Name Type Required Restrictions Description
query object true none none

V3PoolsCursorResponse

{
  "cursor": {
    "pageSize": 15,
    "hasMore": false,
    "previous": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol=",
    "next": "",
    "data": [
      {
        "id": "string",
        "name": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "type": "STATIC",
        "query": {},
        "poolAccounts": [
          "string"
        ]
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
cursor object true none none
» pageSize integer(int64) true none none
» hasMore boolean true none none
» previous string false none none
» next string false none none
» data [V3Pool] true none none

V3GetPoolResponse

{
  "data": {
    "id": "string",
    "name": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "type": "STATIC",
    "query": {},
    "poolAccounts": [
      "string"
    ]
  }
}

Properties

Name Type Required Restrictions Description
data V3Pool true none none

V3PoolBalancesResponse

{
  "data": [
    {
      "asset": "string",
      "amount": 0,
      "relatedAccounts": [
        "string"
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description
data V3PoolBalances true none none

V3Pool

{
  "id": "string",
  "name": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "type": "STATIC",
  "query": {},
  "poolAccounts": [
    "string"
  ]
}

Properties

Name Type Required Restrictions Description
id string true none none
name string true none none
createdAt string(date-time) true none none
type V3PoolTypeEnum false none none
query object false none none
poolAccounts [V3AccountID] true none none

V3PoolBalances

[
  {
    "asset": "string",
    "amount": 0,
    "relatedAccounts": [
      "string"
    ]
  }
]

Properties

Name Type Required Restrictions Description
anonymous [V3PoolBalance] false none none

V3PoolBalance

{
  "asset": "string",
  "amount": 0,
  "relatedAccounts": [
    "string"
  ]
}

Properties

Name Type Required Restrictions Description
asset string true none none
amount integer(bigint) true none none
relatedAccounts [string]¦null false none none

V3PoolTypeEnum

"STATIC"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous STATIC
anonymous DYNAMIC

V3GetTaskResponse

{
  "data": {
    "id": "string",
    "status": "PROCESSING",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "connectorID": "string",
    "createdObjectID": "string",
    "error": "string"
  }
}

Properties

Name Type Required Restrictions Description
data V3Task true none none

V3Task

{
  "id": "string",
  "status": "PROCESSING",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "connectorID": "string",
  "createdObjectID": "string",
  "error": "string"
}

Properties

Name Type Required Restrictions Description
id string true none none
status V3TaskStatusEnum true none none
createdAt string(date-time) true none none
updatedAt string(date-time) true none none
connectorID string(byte) false none none
createdObjectID string false none none
error string¦null false none none

V3TaskStatusEnum

"PROCESSING"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous PROCESSING
anonymous SUCCEEDED
anonymous FAILED

V3QueryBuilder

{}

Properties

None

V3Metadata

{
  "property1": "string",
  "property2": "string"
}

Properties

Name Type Required Restrictions Description
additionalProperties string false none none

V3ErrorResponse

{
  "errorCode": "VALIDATION",
  "errorMessage": "[VALIDATION] missing required config field: pollingPeriod",
  "details": "string"
}

Properties

Name Type Required Restrictions Description
errorCode V3ErrorsEnum true none none
errorMessage string true none none
details string false none none

V3ErrorsEnum

"VALIDATION"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous INTERNAL
anonymous VALIDATION
anonymous INVALID_ID
anonymous MISSING_OR_INVALID_BODY
anonymous CONFLICT
anonymous NOT_FOUND

V3ConnectorConfig

{
  "apiKey": "string",
  "companyID": "string",
  "liveEndpointPrefix": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Adyen",
  "webhookPassword": "string",
  "webhookUsername": "string"
}

Properties

oneOf

Name Type Required Restrictions Description
anonymous V3AdyenConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3AtlarConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3BankingcircleConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3ColumnConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3CurrencycloudConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3DummypayConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3GenericConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3IncreaseConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3MangopayConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3ModulrConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3MoneycorpConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3PlaidConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3PowensConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3QontoConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3StripeConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3TinkConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3WiseConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3BankingbridgeConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3BitstampConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3CoinbaseprimeConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3FireblocksConfig false none none

xor

Name Type Required Restrictions Description
anonymous V3RoutableConfig false none none

V3AdyenConfig

{
  "apiKey": "string",
  "companyID": "string",
  "liveEndpointPrefix": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Adyen",
  "webhookPassword": "string",
  "webhookUsername": "string"
}

Properties

Name Type Required Restrictions Description
apiKey string true none none
companyID string true none none
liveEndpointPrefix string false none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none
webhookPassword string false none none
webhookUsername string false none none

V3AtlarConfig

{
  "accessKey": "string",
  "baseUrl": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Atlar",
  "secret": "string"
}

Properties

Name Type Required Restrictions Description
accessKey string true none none
baseUrl string true none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none
secret string true none none

V3BankingbridgeConfig

{
  "authEndpoint": "string",
  "clientID": "string",
  "clientSecret": "string",
  "endpoint": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Bankingbridge"
}

Properties

Name Type Required Restrictions Description
authEndpoint string true none none
clientID string true none none
clientSecret string true none none
endpoint string true none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none

V3BankingcircleConfig

{
  "authorizationEndpoint": "string",
  "endpoint": "string",
  "name": "string",
  "pageSize": 25,
  "password": "string",
  "pollingPeriod": "30m",
  "provider": "Bankingcircle",
  "userCertificate": "string",
  "userCertificateKey": "string",
  "username": "string"
}

Properties

Name Type Required Restrictions Description
authorizationEndpoint string true none none
endpoint string true none none
name string true none none
pageSize integer false none none
password string true none none
pollingPeriod string false none none
provider string false none none
userCertificate string true none none
userCertificateKey string true none none
username string true none none

V3BitstampConfig

{
  "apiKey": "string",
  "apiSecret": "string",
  "endpoint": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Bitstamp"
}

Properties

Name Type Required Restrictions Description
apiKey string true none none
apiSecret string true none none
endpoint string false none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none

V3CoinbaseprimeConfig

{
  "apiKey": "string",
  "apiSecret": "string",
  "name": "string",
  "pageSize": 25,
  "passphrase": "string",
  "pollingPeriod": "30m",
  "portfolioId": "string",
  "provider": "Coinbaseprime"
}

Properties

Name Type Required Restrictions Description
apiKey string true none none
apiSecret string true none none
name string true none none
pageSize integer false none none
passphrase string true none none
pollingPeriod string false none none
portfolioId string true none none
provider string false none none

V3ColumnConfig

{
  "apiKey": "string",
  "endpoint": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Column"
}

Properties

Name Type Required Restrictions Description
apiKey string true none none
endpoint string true none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none

V3CurrencycloudConfig

{
  "apiKey": "string",
  "endpoint": "string",
  "loginID": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Currencycloud"
}

Properties

Name Type Required Restrictions Description
apiKey string true none none
endpoint string true none none
loginID string true none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none

V3DummypayConfig

{
  "directory": "string",
  "linkFlowError": true,
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Dummypay",
  "updateLinkFlowError": true
}

Properties

Name Type Required Restrictions Description
directory string true none none
linkFlowError boolean false none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none
updateLinkFlowError boolean false none none

V3FireblocksConfig

{
  "apiKey": "string",
  "endpoint": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "privateKey": "string",
  "provider": "Fireblocks"
}

Properties

Name Type Required Restrictions Description
apiKey string true none none
endpoint string false none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
privateKey string true none none
provider string false none none

V3GenericConfig

{
  "apiKey": "string",
  "endpoint": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Generic"
}

Properties

Name Type Required Restrictions Description
apiKey string true none none
endpoint string true none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none

V3IncreaseConfig

{
  "apiKey": "string",
  "endpoint": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Increase",
  "webhookSharedSecret": "string"
}

Properties

Name Type Required Restrictions Description
apiKey string true none none
endpoint string true none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none
webhookSharedSecret string true none none

V3MangopayConfig

{
  "apiKey": "string",
  "clientID": "string",
  "endpoint": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Mangopay"
}

Properties

Name Type Required Restrictions Description
apiKey string true none none
clientID string true none none
endpoint string true none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none

V3ModulrConfig

{
  "apiKey": "string",
  "apiSecret": "string",
  "endpoint": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Modulr"
}

Properties

Name Type Required Restrictions Description
apiKey string true none none
apiSecret string true none none
endpoint string true none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none

V3MoneycorpConfig

{
  "apiKey": "string",
  "clientID": "string",
  "endpoint": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Moneycorp"
}

Properties

Name Type Required Restrictions Description
apiKey string true none none
clientID string true none none
endpoint string true none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none

V3PlaidConfig

{
  "clientID": "string",
  "clientSecret": "string",
  "isSandbox": true,
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Plaid"
}

Properties

Name Type Required Restrictions Description
clientID string true none none
clientSecret string true none none
isSandbox boolean false none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none

V3PowensConfig

{
  "clientID": "string",
  "clientSecret": "string",
  "configurationToken": "string",
  "domain": "string",
  "endpoint": "string",
  "maxConnectionsPerLink": 0,
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Powens"
}

Properties

Name Type Required Restrictions Description
clientID string true none none
clientSecret string true none none
configurationToken string true none none
domain string true none none
endpoint string true none none
maxConnectionsPerLink integer true none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none

V3QontoConfig

{
  "apiKey": "string",
  "clientID": "string",
  "endpoint": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Qonto",
  "stagingToken": "string"
}

Properties

Name Type Required Restrictions Description
apiKey string true none none
clientID string true none none
endpoint string true none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none
stagingToken string false none none

V3RoutableConfig

{
  "actingTeamMember": "string",
  "apiKey": "string",
  "endpoint": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Routable"
}

Properties

Name Type Required Restrictions Description
actingTeamMember string false none none
apiKey string true none none
endpoint string false none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none

V3StripeConfig

{
  "apiKey": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Stripe"
}

Properties

Name Type Required Restrictions Description
apiKey string true none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none

V3TinkConfig

{
  "clientID": "string",
  "clientSecret": "string",
  "endpoint": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Tink"
}

Properties

Name Type Required Restrictions Description
clientID string true none none
clientSecret string true none none
endpoint string true none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none

V3WiseConfig

{
  "apiKey": "string",
  "name": "string",
  "pageSize": 25,
  "pollingPeriod": "30m",
  "provider": "Wise",
  "webhookPublicKey": "string"
}

Properties

Name Type Required Restrictions Description
apiKey string true none none
name string true none none
pageSize integer false none none
pollingPeriod string false none none
provider string false none none
webhookPublicKey string true none none