{ "info": { "name": "Formance Platform API", "description": "Open-source financial infrastructure for money movement - Ledger (v2), Payments, Orchestration / Flows (v2), Wallets, Reconciliation, Auth, Webhooks, and Search. Secured with OAuth2 client-credentials Bearer tokens.", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{bearerToken}}", "type": "string" } ] }, "variable": [ { "key": "baseUrl", "value": "https://{{organization}}.{{environment}}.formance.cloud" }, { "key": "organization", "value": "sandbox" }, { "key": "environment", "value": "eu.sandbox" }, { "key": "ledger", "value": "main" }, { "key": "bearerToken", "value": "" }, { "key": "clientId", "value": "" }, { "key": "clientSecret", "value": "" } ], "item": [ { "name": "Auth", "item": [ { "name": "Request an OAuth2 access token", "request": { "method": "POST", "auth": { "type": "noauth" }, "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "grant_type", "value": "client_credentials" }, { "key": "client_id", "value": "{{clientId}}" }, { "key": "client_secret", "value": "{{clientSecret}}" } ] }, "url": { "raw": "{{baseUrl}}/api/auth/oauth/token", "host": ["{{baseUrl}}"], "path": ["api", "auth", "oauth", "token"] }, "description": "Exchange a client id and secret for a Bearer access token." } }, { "name": "List OAuth clients", "request": { "method": "GET", "url": { "raw": "{{baseUrl}}/api/auth/clients", "host": ["{{baseUrl}}"], "path": ["api", "auth", "clients"] } } }, { "name": "Create an OAuth client", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"name\": \"my-client\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/auth/clients", "host": ["{{baseUrl}}"], "path": ["api", "auth", "clients"] } } } ] }, { "name": "Ledger", "item": [ { "name": "List ledgers", "request": { "method": "GET", "url": { "raw": "{{baseUrl}}/api/ledger/v2", "host": ["{{baseUrl}}"], "path": ["api", "ledger", "v2"] } } }, { "name": "Create a ledger", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/ledger/v2/{{ledger}}", "host": ["{{baseUrl}}"], "path": ["api", "ledger", "v2", "{{ledger}}"] } } }, { "name": "Create a new transaction", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"postings\": [\n { \"amount\": 100, \"asset\": \"USD/2\", \"source\": \"world\", \"destination\": \"users:001\" }\n ]\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/ledger/v2/{{ledger}}/transactions", "host": ["{{baseUrl}}"], "path": ["api", "ledger", "v2", "{{ledger}}", "transactions"] }, "description": "Post a double-entry transaction with explicit postings or a Numscript script." } }, { "name": "List accounts from a ledger", "request": { "method": "GET", "url": { "raw": "{{baseUrl}}/api/ledger/v2/{{ledger}}/accounts", "host": ["{{baseUrl}}"], "path": ["api", "ledger", "v2", "{{ledger}}", "accounts"] } } }, { "name": "Get the aggregated balances", "request": { "method": "GET", "url": { "raw": "{{baseUrl}}/api/ledger/v2/{{ledger}}/aggregate/balances", "host": ["{{baseUrl}}"], "path": ["api", "ledger", "v2", "{{ledger}}", "aggregate", "balances"] } } } ] }, { "name": "Payments", "item": [ { "name": "List all installed connectors", "request": { "method": "GET", "url": { "raw": "{{baseUrl}}/api/payments/v1/connectors", "host": ["{{baseUrl}}"], "path": ["api", "payments", "v1", "connectors"] } } }, { "name": "List payments", "request": { "method": "GET", "url": { "raw": "{{baseUrl}}/api/payments/v1/payments", "host": ["{{baseUrl}}"], "path": ["api", "payments", "v1", "payments"] } } }, { "name": "Create a transfer initiation", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/payments/v1/transfer-initiations", "host": ["{{baseUrl}}"], "path": ["api", "payments", "v1", "transfer-initiations"] } } }, { "name": "List pools", "request": { "method": "GET", "url": { "raw": "{{baseUrl}}/api/payments/v1/pools", "host": ["{{baseUrl}}"], "path": ["api", "payments", "v1", "pools"] } } } ] }, { "name": "Orchestration", "item": [ { "name": "List registered workflows", "request": { "method": "GET", "url": { "raw": "{{baseUrl}}/api/orchestration/v2/workflows", "host": ["{{baseUrl}}"], "path": ["api", "orchestration", "v2", "workflows"] } } }, { "name": "Run a workflow", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/orchestration/v2/workflows/:flowId/instances", "host": ["{{baseUrl}}"], "path": ["api", "orchestration", "v2", "workflows", ":flowId", "instances"], "variable": [{ "key": "flowId", "value": "" }] } } }, { "name": "List triggers", "request": { "method": "GET", "url": { "raw": "{{baseUrl}}/api/orchestration/v2/triggers", "host": ["{{baseUrl}}"], "path": ["api", "orchestration", "v2", "triggers"] } } } ] }, { "name": "Wallets", "item": [ { "name": "List all wallets", "request": { "method": "GET", "url": { "raw": "{{baseUrl}}/api/wallets/v1/wallets", "host": ["{{baseUrl}}"], "path": ["api", "wallets", "v1", "wallets"] } } }, { "name": "Debit a wallet", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/wallets/v1/wallets/:id/debit", "host": ["{{baseUrl}}"], "path": ["api", "wallets", "v1", "wallets", ":id", "debit"], "variable": [{ "key": "id", "value": "" }] }, "description": "Debit a wallet; set pending=true to create a hold to confirm or void later." } } ] }, { "name": "Reconciliation", "item": [ { "name": "List reconciliation policies", "request": { "method": "GET", "url": { "raw": "{{baseUrl}}/api/reconciliation/v1/policies", "host": ["{{baseUrl}}"], "path": ["api", "reconciliation", "v1", "policies"] } } }, { "name": "Reconcile using a policy", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/reconciliation/v1/policies/:policyID/reconciliation", "host": ["{{baseUrl}}"], "path": ["api", "reconciliation", "v1", "policies", ":policyID", "reconciliation"], "variable": [{ "key": "policyID", "value": "" }] } } } ] }, { "name": "Webhooks", "item": [ { "name": "Get many configs", "request": { "method": "GET", "url": { "raw": "{{baseUrl}}/api/webhooks/configs", "host": ["{{baseUrl}}"], "path": ["api", "webhooks", "configs"] } } }, { "name": "Insert a new config", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/webhooks/configs", "host": ["{{baseUrl}}"], "path": ["api", "webhooks", "configs"] } } } ] }, { "name": "Search", "item": [ { "name": "Search across the platform", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"target\": \"TRANSACTION\",\n \"terms\": []\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{baseUrl}}/api/search/", "host": ["{{baseUrl}}"], "path": ["api", "search", ""] } } } ] } ] }