The Formance Platform exposes a unified REST API across all modules. All endpoints use JSON for request and response bodies, and authentication is handled via OAuth2 bearer tokens.
Set your base URL once and use it everywhere:
Bash
export FORMANCE_API_URL=https://<your-stack>.sandbox.formance.cloud
export FORMANCE_TOKEN=$(fctl cloud generate-personal-token)All Operations#
auth11
GET/api/auth/_infoGet server info
GET/api/auth/.well-known/openid-configurationRetrieve OpenID connect well-knowns.
Clients7
GET/api/auth/clientsList clients
POST/api/auth/clientsCreate client
DELETE/api/auth/clients/{clientId}Delete client
GET/api/auth/clients/{clientId}Read client
PUT/api/auth/clients/{clientId}Update client
POST/api/auth/clients/{clientId}/secretsAdd a secret to a client
DELETE/api/auth/clients/{clientId}/secrets/{secretId}Delete a secret from a client
Users2
GET/api/auth/usersList users
GET/api/auth/users/{userId}Read user
ledger65
Accounts9
GET/api/ledger/{ledger}/accountsList accounts from a ledger
HEAD/api/ledger/{ledger}/accountsCount the accounts from a ledger
GET/api/ledger/{ledger}/accounts/{address}Get account by its address
POST/api/ledger/{ledger}/accounts/{address}/metadataAdd metadata to an account
GET/api/ledger/v2/{ledger}/accountsList accounts from a ledger
HEAD/api/ledger/v2/{ledger}/accountsCount the accounts from a ledger
GET/api/ledger/v2/{ledger}/accounts/{address}Get account by its address
POST/api/ledger/v2/{ledger}/accounts/{address}/metadataAdd metadata to an account
DELETE/api/ledger/v2/{ledger}/accounts/{address}/metadata/{key}Delete metadata by key
Balances & Volumes3
GET/api/ledger/{ledger}/aggregate/balancesGet the aggregated balances from selected accounts
GET/api/ledger/v2/{ledger}/aggregate/balancesGet the aggregated balances from selected accounts
GET/api/ledger/v2/{ledger}/volumesGet list of volumes with balances for (account/asset)
Bulk Operations1
POST/api/ledger/v2/{ledger}/_bulkBulk request
Exporters5
GET/api/ledger/v2/_/exportersList exporters
POST/api/ledger/v2/_/exportersCreate exporter
DELETE/api/ledger/v2/_/exporters/{exporterID}Delete exporter
GET/api/ledger/v2/_/exporters/{exporterID}Get exporter state
PUT/api/ledger/v2/_/exporters/{exporterID}Update exporter
Ledger Management18
GET/api/ledger/_/infoShow server information
GET/api/ledger/_/metricsRead in memory metrics
GET/api/ledger/_infoShow server information
GET/api/ledger/{ledger}/_infoGet information about a ledger
GET/api/ledger/{ledger}/balancesGet the balances from a ledger's account
GET/api/ledger/{ledger}/mappingGet the mapping of a ledger
PUT/api/ledger/{ledger}/mappingUpdate the mapping of a ledger
POST/api/ledger/{ledger}/scriptExecute a Numscript
GET/api/ledger/v2List ledgers
DELETE/api/ledger/v2/_/buckets/{bucket}Delete bucket
POST/api/ledger/v2/_/buckets/{bucket}/restoreRestore bucket
GET/api/ledger/v2/{ledger}Get a ledger
POST/api/ledger/v2/{ledger}Create a ledger
GET/api/ledger/v2/{ledger}/_infoGet information about a ledger
POST/api/ledger/v2/{ledger}/queries/{id}/runRun a query template
GET/api/ledger/v2/{ledger}/schemasList all schemas for a ledger
GET/api/ledger/v2/{ledger}/schemas/{version}Get a schema for a ledger by version
POST/api/ledger/v2/{ledger}/schemas/{version}Insert a schema for a ledger
Logs4
GET/api/ledger/{ledger}/logsList the logs from a ledger
GET/api/ledger/v2/{ledger}/logsList the logs from a ledger
POST/api/ledger/v2/{ledger}/logs/exportExport logs
POST/api/ledger/v2/{ledger}/logs/import
Metadata2
PUT/api/ledger/v2/{ledger}/metadataUpdate ledger metadata
DELETE/api/ledger/v2/{ledger}/metadata/{key}Delete ledger metadata by key
Pipelines7
GET/api/ledger/v2/{ledger}/pipelinesList pipelines
POST/api/ledger/v2/{ledger}/pipelinesCreate pipeline
DELETE/api/ledger/v2/{ledger}/pipelines/{pipelineID}Delete pipeline
GET/api/ledger/v2/{ledger}/pipelines/{pipelineID}Get pipeline state
POST/api/ledger/v2/{ledger}/pipelines/{pipelineID}/resetReset pipeline
POST/api/ledger/v2/{ledger}/pipelines/{pipelineID}/startStart pipeline
POST/api/ledger/v2/{ledger}/pipelines/{pipelineID}/stopStop pipeline
Stats2
GET/api/ledger/{ledger}/statsGet statistics from a ledger
GET/api/ledger/v2/{ledger}/statsGet statistics from a ledger
Transactions14
GET/api/ledger/{ledger}/transactionsList transactions from a ledger
HEAD/api/ledger/{ledger}/transactionsCount the transactions from a ledger
POST/api/ledger/{ledger}/transactionsCreate a new transaction to a ledger
GET/api/ledger/{ledger}/transactions/{txid}Get transaction from a ledger by its ID
POST/api/ledger/{ledger}/transactions/{txid}/metadataSet the metadata of a transaction by its ID
POST/api/ledger/{ledger}/transactions/{txid}/revertRevert a ledger transaction by its ID
POST/api/ledger/{ledger}/transactions/batchCreate a new batch of transactions to a ledger
GET/api/ledger/v2/{ledger}/transactionsList transactions from a ledger
HEAD/api/ledger/v2/{ledger}/transactionsCount the transactions from a ledger
POST/api/ledger/v2/{ledger}/transactionsCreate a new transaction to a ledger
GET/api/ledger/v2/{ledger}/transactions/{id}Get transaction from a ledger by its ID
POST/api/ledger/v2/{ledger}/transactions/{id}/metadataSet the metadata of a transaction by its ID
DELETE/api/ledger/v2/{ledger}/transactions/{id}/metadata/{key}Delete metadata by key
POST/api/ledger/v2/{ledger}/transactions/{id}/revertRevert a ledger transaction by its ID
orchestration35
GET/api/orchestration/_infoGet server info
GET/api/orchestration/v2/_infoGet server info
Instances12
GET/api/orchestration/instancesList instances of a workflow
GET/api/orchestration/instances/{instanceID}Get a workflow instance by id
PUT/api/orchestration/instances/{instanceID}/abortCancel a running workflow
POST/api/orchestration/instances/{instanceID}/eventsSend an event to a running workflow
GET/api/orchestration/instances/{instanceID}/historyGet a workflow instance history by id
GET/api/orchestration/instances/{instanceID}/stages/{number}/historyGet a workflow instance stage history
GET/api/orchestration/v2/instancesList instances of a workflow
GET/api/orchestration/v2/instances/{instanceID}Get a workflow instance by id
PUT/api/orchestration/v2/instances/{instanceID}/abortCancel a running workflow
POST/api/orchestration/v2/instances/{instanceID}/eventsSend an event to a running workflow
GET/api/orchestration/v2/instances/{instanceID}/historyGet a workflow instance history by id
GET/api/orchestration/v2/instances/{instanceID}/stages/{number}/historyGet a workflow instance stage history
Triggers11
GET/api/orchestration/triggersList triggers
POST/api/orchestration/triggersCreate trigger
DELETE/api/orchestration/triggers/{triggerID}Delete trigger
GET/api/orchestration/triggers/{triggerID}Read trigger
GET/api/orchestration/triggers/{triggerID}/occurrencesList triggers occurrences
GET/api/orchestration/v2/triggersList triggers
POST/api/orchestration/v2/triggersCreate trigger
DELETE/api/orchestration/v2/triggers/{triggerID}Delete trigger
GET/api/orchestration/v2/triggers/{triggerID}Read trigger
GET/api/orchestration/v2/triggers/{triggerID}/occurrencesList triggers occurrences
POST/api/orchestration/v2/triggers/{triggerID}/testTest trigger
Workflows10
GET/api/orchestration/v2/workflowsList registered workflows
POST/api/orchestration/v2/workflowsCreate workflow
DELETE/api/orchestration/v2/workflows/{flowId}Delete a flow by id
GET/api/orchestration/v2/workflows/{flowId}Get a flow by id
POST/api/orchestration/v2/workflows/{workflowID}/instancesRun workflow
GET/api/orchestration/workflowsList registered workflows
POST/api/orchestration/workflowsCreate workflow
DELETE/api/orchestration/workflows/{flowId}Delete a flow by id
GET/api/orchestration/workflows/{flowId}Get a flow by id
POST/api/orchestration/workflows/{workflowID}/instancesRun workflow
other1
GET/versionsShow stack version information
payments103
Accounts12
GET/api/payments/accountsList accounts
POST/api/payments/accountsCreate an account
GET/api/payments/accounts/{accountId}Get an account
GET/api/payments/accounts/{accountId}/balancesGet account balances
POST/api/payments/pools/{poolId}/accountsAdd an account to a pool
DELETE/api/payments/pools/{poolId}/accounts/{accountId}Remove an account from a pool
GET/api/payments/v3/accountsList all accounts
POST/api/payments/v3/accountsCreate a formance account object. This object will not be forwarded to the connector. It is only used for internal purposes.
GET/api/payments/v3/accounts/{accountID}Get an account by ID
GET/api/payments/v3/accounts/{accountID}/balancesGet account balances
DELETE/api/payments/v3/pools/{poolID}/accounts/{accountID}Remove an account from a pool
POST/api/payments/v3/pools/{poolID}/accounts/{accountID}Add an account to a pool
Bank Accounts12
GET/api/payments/bank-accountsList bank accounts created by user on Formance
POST/api/payments/bank-accountsCreate a BankAccount in Payments and on the PSP
GET/api/payments/bank-accounts/{bankAccountId}Get a bank account created by user on Formance
POST/api/payments/bank-accounts/{bankAccountId}/forwardForward a bank account to a connector
PATCH/api/payments/bank-accounts/{bankAccountId}/metadataUpdate metadata of a bank account
GET/api/payments/v3/bank-accountsList all bank accounts
POST/api/payments/v3/bank-accountsCreate a formance bank account object. This object will not be forwarded to the connector until you called the forwardBankAccount method.
GET/api/payments/v3/bank-accounts/{bankAccountID}Get a Bank Account by ID
POST/api/payments/v3/bank-accounts/{bankAccountID}/forwardForward a Bank Account to a PSP for creation
PATCH/api/payments/v3/bank-accounts/{bankAccountID}/metadataUpdate a bank account's metadata
POST/api/payments/v3/payment-service-users/{paymentServiceUserID}/bank-accounts/{bankAccountID}Add a bank account to a payment service user
POST/api/payments/v3/payment-service-users/{paymentServiceUserID}/bank-accounts/{bankAccountID}/forwardForward a payment service user's bank account to a connector
Connectors33
GET/api/payments/connectorsList all installed connectors
DELETE/api/payments/connectors/{connector}Uninstall a connector
POST/api/payments/connectors/{connector}Install a connector
DELETE/api/payments/connectors/{connector}/{connectorId}Uninstall a connector
GET/api/payments/connectors/{connector}/{connectorId}/configRead the config of a connector
POST/api/payments/connectors/{connector}/{connectorId}/configUpdate the config of a connector
POST/api/payments/connectors/{connector}/{connectorId}/resetReset a connector
GET/api/payments/connectors/{connector}/{connectorId}/tasksList tasks from a connector
GET/api/payments/connectors/{connector}/{connectorId}/tasks/{taskId}Read a specific task of the connector
GET/api/payments/connectors/{connector}/configRead the config of a connector
POST/api/payments/connectors/{connector}/resetReset a connector
GET/api/payments/connectors/{connector}/tasksList tasks from a connector
GET/api/payments/connectors/{connector}/tasks/{taskId}Read a specific task of the connector
POST/api/payments/connectors/{connector}/transfersTransfer funds between Connector accounts
GET/api/payments/connectors/configsList the configs of each available connector
GET/api/payments/v3/connectorsList all connectors
DELETE/api/payments/v3/connectors/{connectorID}Uninstall a connector
GET/api/payments/v3/connectors/{connectorID}/configGet a connector configuration by ID
PATCH/api/payments/v3/connectors/{connectorID}/configUpdate the config of a connector
POST/api/payments/v3/connectors/{connectorID}/resetReset a connector. Be aware that this will delete all data and stop all existing tasks like payment initiations and bank account creations.
GET/api/payments/v3/connectors/{connectorID}/schedulesList all connector schedules
GET/api/payments/v3/connectors/{connectorID}/schedules/{scheduleID}Get a connector schedule by ID
GET/api/payments/v3/connectors/{connectorID}/schedules/{scheduleID}/instancesList all connector schedule instances
GET/api/payments/v3/connectors/configsList all connector configurations
POST/api/payments/v3/connectors/install/{connector}Install a connector
DELETE/api/payments/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}Remove a payment service user from a connector, the PSU will still exist in Formance
GET/api/payments/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/connectionsList enabled connections for a payment service user on a connector (i.e. the various banks PSUser has enabled on the connector)
DELETE/api/payments/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/connections/{connectionID}Delete a connection for a payment service user on a connector
POST/api/payments/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/connections/{connectionID}/update-linkUpdate/Regenerate a link for a payment service user on a connector
POST/api/payments/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/create-linkCreate an authentication link for a payment service user on a connector, for oauth flow
POST/api/payments/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/forwardRegister/forward a payment service user on/to a connector
GET/api/payments/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/link-attemptsList all link attempts for a payment service user on a connector.
Allows to check if users used the link and completed the oauth flow.
GET/api/payments/v3/payment-service-users/{paymentServiceUserID}/connectors/{connectorID}/link-attempts/{attemptID}Get a link attempt for a payment service user on a connector
Payment Initiations10
GET/api/payments/v3/payment-initiationsList all payment initiations
POST/api/payments/v3/payment-initiationsInitiate a payment
DELETE/api/payments/v3/payment-initiations/{paymentInitiationID}Delete a payment initiation by ID
GET/api/payments/v3/payment-initiations/{paymentInitiationID}Get a payment initiation by ID
GET/api/payments/v3/payment-initiations/{paymentInitiationID}/adjustmentsList all payment initiation adjustments
POST/api/payments/v3/payment-initiations/{paymentInitiationID}/approveApprove a payment initiation
GET/api/payments/v3/payment-initiations/{paymentInitiationID}/paymentsList all payments related to a payment initiation
POST/api/payments/v3/payment-initiations/{paymentInitiationID}/rejectReject a payment initiation
POST/api/payments/v3/payment-initiations/{paymentInitiationID}/retryRetry a payment initiation
POST/api/payments/v3/payment-initiations/{paymentInitiationID}/reverseReverse a payment initiation
Payment Service Users5
GET/api/payments/v3/payment-service-usersList all payment service users
POST/api/payments/v3/payment-service-usersCreate a formance payment service user object
DELETE/api/payments/v3/payment-service-users/{paymentServiceUserID}Delete a payment service user by ID
GET/api/payments/v3/payment-service-users/{paymentServiceUserID}Get a payment service user by ID
GET/api/payments/v3/payment-service-users/{paymentServiceUserID}/connectionsList all connections for a payment service user
Payments16
GET/api/payments/_infoGet server info
GET/api/payments/paymentsList payments
POST/api/payments/paymentsCreate a payment
GET/api/payments/payments/{paymentId}Get a payment
PATCH/api/payments/payments/{paymentId}/metadataUpdate metadata
GET/api/payments/transfer-initiationsList Transfer Initiations
POST/api/payments/transfer-initiationsCreate a TransferInitiation
DELETE/api/payments/transfer-initiations/{transferId}Delete a transfer initiation
GET/api/payments/transfer-initiations/{transferId}Get a transfer initiation
POST/api/payments/transfer-initiations/{transferId}/retryRetry a failed transfer initiation
POST/api/payments/transfer-initiations/{transferId}/reverseReverse a transfer initiation
POST/api/payments/transfer-initiations/{transferId}/statusUpdate the status of a transfer initiation
GET/api/payments/v3/paymentsList all payments
POST/api/payments/v3/paymentsCreate a formance payment object. This object will not be forwarded to the connector. It is only used for internal purposes.
GET/api/payments/v3/payments/{paymentID}Get a payment by ID
PATCH/api/payments/v3/payments/{paymentID}/metadataUpdate a payment's metadata
Pools14
GET/api/payments/poolsList Pools
POST/api/payments/poolsCreate a Pool
DELETE/api/payments/pools/{poolId}Delete a Pool
GET/api/payments/pools/{poolId}Get a Pool
GET/api/payments/pools/{poolId}/balancesGet historical pool balances at a particular point in time
GET/api/payments/pools/{poolId}/balances/latestGet latest pool balances
PATCH/api/payments/pools/{poolId}/queryUpdate the query of a pool
GET/api/payments/v3/poolsList all pools
POST/api/payments/v3/poolsCreate a formance pool object
DELETE/api/payments/v3/pools/{poolID}Delete a pool by ID
GET/api/payments/v3/pools/{poolID}Get a pool by ID
GET/api/payments/v3/pools/{poolID}/balancesGet historical pool balances from a particular point in time
GET/api/payments/v3/pools/{poolID}/balances/latestGet latest pool balances
PATCH/api/payments/v3/pools/{poolID}/queryUpdate the query of a pool
Tasks1
GET/api/payments/v3/tasks/{taskID}Get a task and its result by ID
reconciliation8
GET/api/reconciliation/_infoGet server info
Policies5
GET/api/reconciliation/policiesList policies
POST/api/reconciliation/policiesCreate a policy
DELETE/api/reconciliation/policies/{policyID}Delete a policy
GET/api/reconciliation/policies/{policyID}Get a policy
POST/api/reconciliation/policies/{policyID}/reconciliationReconcile using a policy
Reconciliations2
GET/api/reconciliation/reconciliationsList reconciliations
GET/api/reconciliation/reconciliations/{reconciliationID}Get a reconciliation
search2
POST/api/search/search.v1
GET/api/search/_infoGet server info
wallets16
Holds4
GET/api/wallets/holdsGet all holds for a wallet
POST/api/wallets/holds/{hold_id}/confirmConfirm a hold
POST/api/wallets/holds/{hold_id}/voidCancel a hold
GET/api/wallets/holds/{holdID}Get a hold
Transactions1
GET/api/wallets/transactions
Wallets11
GET/api/wallets/_infoGet server info
GET/api/wallets/walletsList all wallets
POST/api/wallets/walletsCreate a new wallet
GET/api/wallets/wallets/{id}Get a wallet
PATCH/api/wallets/wallets/{id}Update a wallet
GET/api/wallets/wallets/{id}/balancesList balances of a wallet
POST/api/wallets/wallets/{id}/balancesCreate a balance
GET/api/wallets/wallets/{id}/balances/{balanceName}Get detailed balance
POST/api/wallets/wallets/{id}/creditCredit a wallet
POST/api/wallets/wallets/{id}/debitDebit a wallet
GET/api/wallets/wallets/{id}/summaryGet wallet summary
webhooks8
Webhook Configs8
GET/api/webhooks/configsGet many configs
POST/api/webhooks/configsInsert a new config
DELETE/api/webhooks/configs/{id}Delete one config
PUT/api/webhooks/configs/{id}Update one config
PUT/api/webhooks/configs/{id}/activateActivate one config
PUT/api/webhooks/configs/{id}/deactivateDeactivate one config
PUT/api/webhooks/configs/{id}/secret/changeChange the signing secret of a config
GET/api/webhooks/configs/{id}/testTest one config