Developers
OpenAPI 3.1. X-API-Key auth. Required idempotency keys. Signed webhooks. The hard parts (bank dialects, channels, certificates) live on our side of the line.
Initiate a payment
Send the same JSON regardless of which bank handles it. We pick the right ISO 20022 profile, the right channel, and the right signing key.
POST /v1/payments
X-API-Key: bc_live_…
Idempotency-Key: 7f3c…
{
"tenant_bank_id": "tb_01H…",
"debtor_iban": "DK5000400440116243",
"creditor": {
"name": "Acme Supplies ApS",
"iban": "DK9520000123456789"
},
"amount_minor": 125000,
"currency": "DKK",
"remittance": "Invoice 2026-0418",
"requested_execution_date": "2026-06-17"
}What's in the box
Generate clients in your language. Schemas are the source of truth.
Required on writes. Replays return the original result, not a duplicate payment.
HMAC-signed deliveries with timestamp tolerance. Verify before processing.
Run the full flow against a fake bank profile. No production credentials needed.
Amounts in minor units. No floats. No silent rounding.
Validation failures point at the field and the bank rule that rejected it.
Live API reference
The interactive OpenAPI reference is being prepared for public release. In the meantime, partners get the full spec, a sandbox tenant, and example payloads on request.
Request sandbox access →