mirror of
https://github.com/hanzo-fi/payments.git
synced 2026-10-30 20:31:20 +00:00
* feat(api): EN-1023 expose connector capabilities on v3
Add `GET /v3/connectors/capabilities` (full catalog, ETag-cached for the
stateless console) and `GET /v3/connectors/{connectorID}/capabilities`,
and inline a `capabilities` field on each row of `v3ListConnectors` so
platform-ui can gate per-connector submenus (Accounts/Payments/Transfers)
on what the underlying plugin actually supports.
Capability owns its JSON wire encoding (MarshalJSON/UnmarshalJSON) so
the format stays aligned with the DB Value/Scan representation.
Co-authored-by: Cursor <[email protected]>
* fix(api): EN-1023 address CodeRabbit review
- Replace `new(value)` with the local-variable `&v` pattern used elsewhere
in v3 for `api.BaseResponse.Data`.
- Service: drop the registry error from the 404 translation, honouring
the comment's non-leak intent.
- List handler: normalise the storage provider through `ToV3Provider`
before looking up capabilities so legacy v2 rows (`"STRIPE"`, etc.) hit
the registry's lowercase keys; test now exercises that path.
- Registry: clone capability slices in `GetAllCapabilities` so callers
can't mutate plugin registrations through the returned map.
- E2E: wait for the uninstall workflow via the shared helper and assert a
concrete capability instead of just non-nil.
Co-authored-by: Cursor <[email protected]>
---------
Co-authored-by: Cursor <[email protected]>
1884 lines
57 KiB
YAML
1884 lines
57 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: Payments API
|
|
version: v3
|
|
paths:
|
|
# ACCOUNTS
|
|
/v3/accounts:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: >
|
|
Create a formance account object. This object will not be forwarded to
|
|
the connector. It is only used for internal purposes.
|
|
operationId: v3CreateAccount
|
|
x-speakeasy-name-override: CreateAccount
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3CreateAccountRequest"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3CreateAccountResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List all accounts
|
|
operationId: v3ListAccounts
|
|
x-speakeasy-name-override: ListAccounts
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3QueryBuilder"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3AccountsCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/accounts/{accountID}:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get an account by ID
|
|
operationId: v3GetAccount
|
|
x-speakeasy-name-override: GetAccount
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3AccountID'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3GetAccountResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/accounts/{accountID}/balances:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get account balances
|
|
operationId: v3GetAccountBalances
|
|
x-speakeasy-name-override: GetAccountBalances
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3AccountID'
|
|
- $ref: '#/components/parameters/V3Asset'
|
|
- $ref: '#/components/parameters/V3FromTimestamp'
|
|
- $ref: '#/components/parameters/V3ToTimestamp'
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3BalancesCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
# BANK ACCOUNTS
|
|
/v3/bank-accounts:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: >
|
|
Create a formance bank account object. This object will not be forwarded
|
|
to the connector until you called the forwardBankAccount method.
|
|
operationId: v3CreateBankAccount
|
|
x-speakeasy-name-override: CreateBankAccount
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3CreateBankAccountRequest"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3CreateBankAccountResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List all bank accounts
|
|
operationId: v3ListBankAccounts
|
|
x-speakeasy-name-override: ListBankAccounts
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3QueryBuilder"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3BankAccountsCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/bank-accounts/{bankAccountID}:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get a Bank Account by ID
|
|
operationId: v3GetBankAccount
|
|
x-speakeasy-name-override: GetBankAccount
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3BankAccountID'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3GetBankAccountResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
|
|
/v3/bank-accounts/{bankAccountID}/metadata:
|
|
patch:
|
|
tags:
|
|
- payments.v3
|
|
summary: Update a bank account's metadata
|
|
operationId: v3UpdateBankAccountMetadata
|
|
x-speakeasy-name-override: UpdateBankAccountMetadata
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3BankAccountID'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3UpdateBankAccountMetadataRequest"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
|
|
/v3/bank-accounts/{bankAccountID}/forward:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Forward a Bank Account to a PSP for creation
|
|
operationId: v3ForwardBankAccount
|
|
x-speakeasy-name-override: ForwardBankAccount
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3BankAccountID'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ForwardBankAccountRequest"
|
|
responses:
|
|
"202":
|
|
description: Accepted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ForwardBankAccountResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
|
|
# CONNECTORS
|
|
/v3/connectors:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List all connectors
|
|
operationId: v3ListConnectors
|
|
x-speakeasy-name-override: ListConnectors
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3QueryBuilder"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ConnectorsCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/connectors/install/{connector}:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Install a connector
|
|
operationId: v3InstallConnector
|
|
x-speakeasy-name-override: InstallConnector
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3Connector'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3InstallConnectorRequest"
|
|
responses:
|
|
"202":
|
|
description: Accepted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3InstallConnectorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/connectors/configs:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List all connector configurations
|
|
operationId: v3ListConnectorConfigs
|
|
x-speakeasy-name-override: ListConnectorConfigs
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ConnectorConfigsResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/connectors/capabilities:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List the plugin capabilities advertised by every supported provider
|
|
description: >
|
|
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`.
|
|
operationId: v3ListConnectorCapabilities
|
|
x-speakeasy-name-override: ListConnectorCapabilities
|
|
parameters:
|
|
- in: header
|
|
name: If-None-Match
|
|
required: false
|
|
schema:
|
|
type: string
|
|
description: ETag from a previous response; a matching value yields 304 Not Modified.
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
headers:
|
|
ETag:
|
|
schema:
|
|
type: string
|
|
description: Opaque, strong validator for the catalog body.
|
|
Cache-Control:
|
|
schema:
|
|
type: string
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ConnectorCapabilitiesResponse"
|
|
"304":
|
|
description: Not Modified
|
|
headers:
|
|
ETag:
|
|
schema:
|
|
type: string
|
|
Cache-Control:
|
|
schema:
|
|
type: string
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/connectors/{connectorID}:
|
|
delete:
|
|
tags:
|
|
- payments.v3
|
|
summary: Uninstall a connector
|
|
operationId: v3UninstallConnector
|
|
x-speakeasy-name-override: UninstallConnector
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
responses:
|
|
"202":
|
|
description: Accepted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3UninstallConnectorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/connectors/{connectorID}/config:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get a connector configuration by ID
|
|
operationId: v3GetConnectorConfig
|
|
x-speakeasy-name-override: GetConnectorConfig
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3GetConnectorConfigResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
patch:
|
|
tags:
|
|
- payments.v3
|
|
summary: Update the config of a connector
|
|
operationId: v3UpdateConnectorConfig
|
|
description: Update connector config
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3UpdateConnectorRequest"
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/NoContent'
|
|
default:
|
|
$ref: '#/components/responses/PaymentsErrorResponse'
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/connectors/{connectorID}/capabilities:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get the plugin capabilities of an installed connector
|
|
description: >
|
|
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.
|
|
operationId: v3GetConnectorCapabilities
|
|
x-speakeasy-name-override: GetConnectorCapabilities
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ConnectorCapabilityResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/connectors/{connectorID}/reset:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Reset a connector. Be aware that this will delete all data and
|
|
stop all existing tasks like payment initiations and bank account creations.
|
|
operationId: v3ResetConnector
|
|
x-speakeasy-name-override: ResetConnector
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
responses:
|
|
"202":
|
|
description: Accepted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ResetConnectorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/connectors/{connectorID}/schedules:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List all connector schedules
|
|
operationId: v3ListConnectorSchedules
|
|
x-speakeasy-name-override: ListConnectorSchedules
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3QueryBuilder"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ConnectorSchedulesCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/connectors/{connectorID}/schedules/{scheduleID}:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get a connector schedule by ID
|
|
operationId: v3GetConnectorSchedule
|
|
x-speakeasy-name-override: GetConnectorSchedule
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
- $ref: '#/components/parameters/V3ScheduleID'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/V3ConnectorScheduleResponse'
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/V3ErrorResponse'
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/connectors/{connectorID}/schedules/{scheduleID}/instances:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List all connector schedule instances
|
|
operationId: v3ListConnectorScheduleInstances
|
|
x-speakeasy-name-override: ListConnectorScheduleInstances
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
- $ref: '#/components/parameters/V3ScheduleID'
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ConnectorScheduleInstancesCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
# ORDERS
|
|
/v3/orders:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List orders ingested from exchange-style connectors
|
|
description: |
|
|
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.
|
|
operationId: v3ListOrders
|
|
x-speakeasy-name-override: ListOrders
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3QueryBuilder"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3OrdersCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/orders/{orderID}:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get a single order by its Formance ID
|
|
description: |
|
|
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.
|
|
operationId: v3GetOrder
|
|
x-speakeasy-name-override: GetOrder
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3OrderID'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3GetOrderResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
# CONVERSIONS
|
|
/v3/conversions:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List currency and asset conversions ingested from connectors
|
|
description: |
|
|
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`.
|
|
operationId: v3ListConversions
|
|
x-speakeasy-name-override: ListConversions
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3QueryBuilder"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ConversionsCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/conversions/{conversionID}:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get a single conversion by its Formance ID
|
|
description: |
|
|
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.
|
|
operationId: v3GetConversion
|
|
x-speakeasy-name-override: GetConversion
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3ConversionID'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3GetConversionResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
# PAYMENTS
|
|
/v3/payments:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: >
|
|
Create a formance payment object. This object will not be forwarded to
|
|
the connector. It is only used for internal purposes.
|
|
operationId: v3CreatePayment
|
|
x-speakeasy-name-override: CreatePayment
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3CreatePaymentRequest"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3CreatePaymentResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List all payments
|
|
operationId: v3ListPayments
|
|
x-speakeasy-name-override: ListPayments
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3QueryBuilder"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentsCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/payments/{paymentID}:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get a payment by ID
|
|
operationId: v3GetPayment
|
|
x-speakeasy-name-override: GetPayment
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentID'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3GetPaymentResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/payments/{paymentID}/metadata:
|
|
patch:
|
|
tags:
|
|
- payments.v3
|
|
summary: Update a payment's metadata
|
|
operationId: v3UpdatePaymentMetadata
|
|
x-speakeasy-name-override: UpdatePaymentMetadata
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentID'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3UpdatePaymentMetadataRequest"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
# PAYMENT INITIATIONS
|
|
/v3/payment-initiations:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Initiate a payment
|
|
operationId: v3InitiatePayment
|
|
x-speakeasy-name-override: InitiatePayment
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3NoValidation'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3InitiatePaymentRequest"
|
|
responses:
|
|
"202":
|
|
description: Accepted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3InitiatePaymentResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List all payment initiations
|
|
operationId: v3ListPaymentInitiations
|
|
x-speakeasy-name-override: ListPaymentInitiations
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3QueryBuilder"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentInitiationsCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/payment-initiations/{paymentInitiationID}:
|
|
delete:
|
|
tags:
|
|
- payments.v3
|
|
summary: Delete a payment initiation by ID
|
|
operationId: v3DeletePaymentInitiation
|
|
x-speakeasy-name-override: DeletePaymentInitiation
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentInitiationID'
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get a payment initiation by ID
|
|
operationId: v3GetPaymentInitiation
|
|
x-speakeasy-name-override: GetPaymentInitiation
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentInitiationID'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3GetPaymentInitiationResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/payment-initiations/{paymentInitiationID}/retry:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Retry a payment initiation
|
|
operationId: v3RetryPaymentInitiation
|
|
x-speakeasy-name-override: RetryPaymentInitiation
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentInitiationID'
|
|
responses:
|
|
"202":
|
|
description: Accepted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3RetryPaymentInitiationResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/payment-initiations/{paymentInitiationID}/approve:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Approve a payment initiation
|
|
operationId: v3ApprovePaymentInitiation
|
|
x-speakeasy-name-override: ApprovePaymentInitiation
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentInitiationID'
|
|
responses:
|
|
"202":
|
|
description: Accepted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ApprovePaymentInitiationResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/payment-initiations/{paymentInitiationID}/reject:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Reject a payment initiation
|
|
operationId: v3RejectPaymentInitiation
|
|
x-speakeasy-name-override: RejectPaymentInitiation
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentInitiationID'
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/payment-initiations/{paymentInitiationID}/reverse:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Reverse a payment initiation
|
|
operationId: v3ReversePaymentInitiation
|
|
x-speakeasy-name-override: ReversePaymentInitiation
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentInitiationID'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ReversePaymentInitiationRequest"
|
|
responses:
|
|
"202":
|
|
description: Accepted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ReversePaymentInitiationResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/payment-initiations/{paymentInitiationID}/adjustments:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List all payment initiation adjustments
|
|
operationId: v3ListPaymentInitiationAdjustments
|
|
x-speakeasy-name-override: ListPaymentInitiationAdjustments
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentInitiationID'
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3QueryBuilder"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentInitiationAdjustmentsCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/payment-initiations/{paymentInitiationID}/payments:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List all payments related to a payment initiation
|
|
operationId: v3ListPaymentInitiationRelatedPayments
|
|
x-speakeasy-name-override: ListPaymentInitiationRelatedPayments
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentInitiationID'
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3QueryBuilder"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentInitiationRelatedPaymentsCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
# PAYMENT SERVICE USERS
|
|
/v3/payment-service-users:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Create a formance payment service user object
|
|
operationId: v3CreatePaymentServiceUser
|
|
x-speakeasy-name-override: CreatePaymentServiceUser
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3CreatePaymentServiceUserRequest"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3CreatePaymentServiceUserResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List all payment service users
|
|
operationId: v3ListPaymentServiceUsers
|
|
x-speakeasy-name-override: ListPaymentServiceUsers
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3QueryBuilder"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentServiceUsersCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/payment-service-users/{paymentServiceUserID}:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get a payment service user by ID
|
|
operationId: v3GetPaymentServiceUser
|
|
x-speakeasy-name-override: GetPaymentServiceUser
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentServiceUserID'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3GetPaymentServiceUserResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
delete:
|
|
tags:
|
|
- payments.v3
|
|
summary: Delete a payment service user by ID
|
|
operationId: v3DeletePaymentServiceUser
|
|
x-speakeasy-name-override: DeletePaymentServiceUser
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentServiceUserID'
|
|
responses:
|
|
"202":
|
|
description: Accepted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentServiceUserDeleteResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
|
|
/v3/payment-service-users/{paymentServiceUserID}/connections:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List all connections for a payment service user
|
|
operationId: v3ListPaymentServiceUserConnections
|
|
x-speakeasy-name-override: ListPaymentServiceUserConnections
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentServiceUserID'
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3QueryBuilder"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentServiceUserConnectionsCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}:
|
|
delete:
|
|
tags:
|
|
- payments.v3
|
|
summary: Remove a payment service user from a connector, the PSU will still exist in Formance
|
|
operationId: v3DeletePaymentServiceUserConnector
|
|
x-speakeasy-name-override: DeletePaymentServiceUserConnector
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentServiceUserID'
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
responses:
|
|
"202":
|
|
description: Accepted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentServiceUserDeleteConnectorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/forward:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Register/forward a payment service user on/to a connector
|
|
operationId: v3ForwardPaymentServiceUserToProvider
|
|
x-speakeasy-name-override: ForwardPaymentServiceUserToProvider
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentServiceUserID'
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/create-link:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Create an authentication link for a payment service user on a connector, for oauth flow
|
|
operationId: v3CreateLinkForPaymentServiceUser
|
|
x-speakeasy-name-override: CreateLinkForPaymentServiceUser
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentServiceUserID'
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentServiceUserCreateLinkRequest"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentServiceUserCreateLinkResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/connections:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List enabled connections for a payment service user on a connector (i.e. the various banks PSUser has enabled on the connector)
|
|
operationId: v3ListPaymentServiceUserConnectionsFromConnectorID
|
|
x-speakeasy-name-override: ListPaymentServiceUserConnectionsFromConnectorID
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentServiceUserID'
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3QueryBuilder"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentServiceUserConnectionsCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/link-attempts:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: |
|
|
List all link attempts for a payment service user on a connector.
|
|
Allows to check if users used the link and completed the oauth flow.
|
|
operationId: v3ListPaymentServiceUserLinkAttemptsFromConnectorID
|
|
x-speakeasy-name-override: ListPaymentServiceUserLinkAttemptsFromConnectorID
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentServiceUserID'
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3QueryBuilder"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentServiceUserLinkAttemptsCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/link-attempts/{attemptID}:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get a link attempt for a payment service user on a connector
|
|
operationId: v3GetPaymentServiceUserLinkAttemptFromConnectorID
|
|
x-speakeasy-name-override: GetPaymentServiceUserLinkAttemptFromConnectorID
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentServiceUserID'
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
- $ref: '#/components/parameters/V3AttemptID'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentServiceUserLinkAttempt"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/connections/{connectionID}:
|
|
delete:
|
|
tags:
|
|
- payments.v3
|
|
summary: Delete a connection for a payment service user on a connector
|
|
operationId: v3DeletePaymentServiceUserConnectionFromConnectorID
|
|
x-speakeasy-name-override: DeletePaymentServiceUserConnectionFromConnectorID
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentServiceUserID'
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
- $ref: '#/components/parameters/V3ConnectionID'
|
|
responses:
|
|
"202":
|
|
description: Accepted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentServiceUserDeleteConnectionResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/connections/{connectionID}/update-link:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Update/Regenerate a link for a payment service user on a connector
|
|
operationId: v3UpdateLinkForPaymentServiceUserOnConnector
|
|
x-speakeasy-name-override: UpdateLinkForPaymentServiceUserOnConnector
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentServiceUserID'
|
|
- $ref: '#/components/parameters/V3ConnectorID'
|
|
- $ref: '#/components/parameters/V3ConnectionID'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentServiceUserUpdateLinkRequest"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PaymentServiceUserUpdateLinkResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/payment-service-users/{paymentServiceUserID}/bank-accounts/{bankAccountID}:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Add a bank account to a payment service user
|
|
operationId: v3AddBankAccountToPaymentServiceUser
|
|
x-speakeasy-name-override: AddBankAccountToPaymentServiceUser
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentServiceUserID'
|
|
- $ref: '#/components/parameters/V3BankAccountID'
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/payment-service-users/{paymentServiceUserID}/bank-accounts/{bankAccountID}/forward:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Forward a payment service user's bank account to a connector
|
|
operationId: v3ForwardPaymentServiceUserBankAccount
|
|
x-speakeasy-name-override: ForwardPaymentServiceUserBankAccount
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PaymentServiceUserID'
|
|
- $ref: '#/components/parameters/V3BankAccountID'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ForwardPaymentServiceUserBankAccountRequest"
|
|
responses:
|
|
"202":
|
|
description: Accepted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ForwardPaymentServiceUserBankAccountResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
|
|
# POOLS
|
|
/v3/pools:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Create a formance pool object
|
|
operationId: v3CreatePool
|
|
x-speakeasy-name-override: CreatePool
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3CreatePoolRequest"
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3CreatePoolResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: List all pools
|
|
operationId: v3ListPools
|
|
x-speakeasy-name-override: ListPools
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PageSize'
|
|
- $ref: '#/components/parameters/V3Cursor'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3QueryBuilder"
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PoolsCursorResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/pools/{poolID}:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get a pool by ID
|
|
operationId: v3GetPool
|
|
x-speakeasy-name-override: GetPool
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PoolID'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3GetPoolResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
delete:
|
|
tags:
|
|
- payments.v3
|
|
summary: Delete a pool by ID
|
|
operationId: v3DeletePool
|
|
x-speakeasy-name-override: DeletePool
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PoolID'
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/pools/{poolID}/query:
|
|
patch:
|
|
tags:
|
|
- payments.v3
|
|
summary: Update the query of a pool
|
|
operationId: v3UpdatePoolQuery
|
|
x-speakeasy-name-override: UpdatePoolQuery
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PoolID'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3UpdatePoolQueryRequest"
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
/v3/pools/{poolID}/balances:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get historical pool balances from a particular point in time
|
|
operationId: v3GetPoolBalances
|
|
x-speakeasy-name-override: GetPoolBalances
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PoolID'
|
|
- $ref: '#/components/parameters/V3At'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PoolBalancesResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/pools/{poolID}/balances/latest:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get latest pool balances
|
|
operationId: v3GetPoolBalancesLatest
|
|
x-speakeasy-name-override: GetPoolBalancesLatest
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PoolID'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3PoolBalancesResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|
|
/v3/pools/{poolID}/accounts/{accountID}:
|
|
post:
|
|
tags:
|
|
- payments.v3
|
|
summary: Add an account to a pool
|
|
operationId: v3AddAccountToPool
|
|
x-speakeasy-name-override: AddAccountToPool
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PoolID'
|
|
- $ref: '#/components/parameters/V3AccountID'
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
delete:
|
|
tags:
|
|
- payments.v3
|
|
summary: Remove an account from a pool
|
|
operationId: v3RemoveAccountFromPool
|
|
x-speakeasy-name-override: RemoveAccountFromPool
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3PoolID'
|
|
- $ref: '#/components/parameters/V3AccountID'
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:write
|
|
|
|
# TASKS
|
|
/v3/tasks/{taskID}:
|
|
get:
|
|
tags:
|
|
- payments.v3
|
|
summary: Get a task and its result by ID
|
|
operationId: v3GetTask
|
|
x-speakeasy-name-override: GetTask
|
|
parameters:
|
|
- $ref: '#/components/parameters/V3TaskID'
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3GetTaskResponse"
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/V3ErrorResponse"
|
|
security:
|
|
- Authorization:
|
|
- payments:read
|
|
|