CFO Copilot
Connect a company's bank accounts and turn balances and transaction data into actionable financial insights and answers.
Access banking data and payment infrastructure through one unified API — and turn your idea into a working prototype during Build Day.
curl -X POST "https://auth.sandbox.openbankingplatform.com/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" \
-d "grant_type=client_credentials" \
-d "scope=accountinformation corporate"01 What can I build?
Open Payments integrates with the banks' APIs and presents one harmonised REST API. Here is what is available to your team on Build Day.
List accounts for a private PSU or a corporation, then pull account details, balances and transactions through an active consent.
Good for dashboards, cash-flow tools, reconciliation, lending context and financial decision support.
Initiate payments from bank accounts. The platform handles the bank integration layer so your team can focus on the product experience.
For most banks, both single payments and Signing Baskets for signing several payments in one go.
Send structured payment instructions to the API and let Open Payments generate the underlying ISO 20022 pain.001 payment file.
Interesting for ERP, finance and payment automation, treasury, accounts payable and embedded finance.
Create FX quotes for cross-border payments, with spot and forward rates available through FX Connect.
Check the FX Connect docs for the currencies, rate types and flows currently supported.
Enrich account information with Swedish Bankgiro data using the bankgiroinformation scope alongside accountinformation.
Useful for reconciliation, supplier and customer identification, cash management and payment intelligence.
Use the ASPSP Information Service to discover which banks are available for a country and what capabilities they expose in the Open Payments ecosystem.
Build against capabilities instead of hardcoding bank-specific assumptions.
02 Why Open Payments?
The API is based on the Berlin Group NextGen specification and abstracts away the differences between individual bank APIs — so you build against one interface instead of maintaining many.
Layer 01 — your prototype, product UI or agent. The platform is white labelled; you own the customer journey.
Layer 02 — one unified, harmonised REST API: consents, account information, payments, ISO, FX and bank discovery.
Layer 03 — supported banks across Sweden, Norway, Finland, Denmark and the Netherlands, private and corporate accounts. Berlin Group NextGen based · PSD2 scope. New banks and capabilities are added continuously.
03 API building blocks
Every entry links straight into the live Open Payments documentation. Always check the API reference for the current specification.
Discover banks and capabilities.
Accounts, balances and transactions.
Create and manage access to account information.
Create and authorise payments.
Authorise and sign, including multiple payments together.
Submit structured instructions, get pain.001.
Create FX quotes for cross-border payments.
Bankgiro-related enrichment of financial data.
Payout capabilities under the paymentinitiation scope.
KYC service documented under Premium APIs.
Direct debit flows, currently in beta.
04 Start here
Do steps 1 and 2 before you arrive in Stockholm. That is the difference between debugging credentials at 09:30 and shipping a prototype by 16:00.
Sign up in the Open Payments Developer Portal. For Build Day, Sandbox access is all you need — no production application required.
With the Developer Portal in Sandbox mode, create an application. It gives you the credentials for the Sandbox API: a Client ID, a Client Secret and your Redirect URI. Save the secret immediately — once the dialogue is closed it cannot be retrieved again.
Authentication is OAuth2 (OIDC) with client credentials. Tokens are valid for one hour and carry an API scope plus a PSU context scope. All values below are placeholders.
curl -X POST "https://auth.sandbox.openbankingplatform.com/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" \
-d "grant_type=client_credentials" \
-d "scope=accountinformation corporate"
# response
# { "access_token": "eyJhbGciOi...", "expires_in": 3600,
# "token_type": "Bearer", "scope": "accountinformation corporate" }Account Information is the easiest place to start: create a consent for a bank, then read accounts, balances and transactions. Every call needs a bearer token and a freshly generated GUID in X-Request-ID.
# List the accounts covered by an active consent (Sandbox)
curl "https://api.sandbox.openbankingplatform.com/psd2/accountinformation/v1/accounts" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "X-Request-ID: $(uuidgen)" \
-H "X-BicFi: BANK_BICFI" \
-H "Consent-ID: YOUR_CONSENT_ID" \
-H "PSU-ID: PSU_ID_FOR_THE_BANK"Now build something people actually want. Combine Open Payments with the other APIs, data sources and AI tooling available at Build Day — and ship a working prototype by 16:00.
05 Authentication
Request a token with your client_id and client_secret, grant_type=client_credentials, and a scope made of one or more API scopes plus a PSU context.
Scopes
PSU context
Add private for personal accounts or corporate for business accounts. Keep one active token per context — with both PSU types, that is a maximum of two tokens per hour.
Quick reference — copy-paste values
Sandbox AUTH_HOST
https://auth.sandbox.openbankingplatform.com
Sandbox API_HOST
https://api.sandbox.openbankingplatform.com
Token endpoint
POST /connect/token
Grant type
client_credentials
Required request ID header
X-Request-ID
Contexts
private · corporate
Auth
OAuth2 / OIDC
Always check the official documentation for the current API specification — endpoints and capabilities evolve.
06 Common gotchas
The fastest fixes we see during hack days, in the order they usually bite.
07 Inspiration
Here are a few things you could build with Open Payments during Build Day.
Connect a company's bank accounts and turn balances and transaction data into actionable financial insights and answers.
Use transaction history to spot upcoming cash-flow problems early and help SMEs make better decisions.
Match payments to invoices automatically by combining banking transactions with ERP and accounting data — Zwapgrid provides ERP connectivity at the same event.
Build detection logic on top of payment context and financial data to flag suspicious supplier payments or changed payment behaviour. The detection model is yours to build — Open Payments provides the data access.
Combine invoice information with account data and payment initiation to create a smarter, safer AP workflow.
Score financial health from real balances, transactions and payment behaviour, and explain the score clearly.
Use account information to build richer financial context for lending or financing decisions. Froda is also participating in the event — talk to them about the lending side.
Let an AI agent reason over financial data and assist with finance workflows. Any actual payment execution must keep proper authentication, authorisation and human safeguards in the loop.
08 Build Day
You have one day. We want you to spend it building — not fighting authentication or bank integrations.
Before the event
During the event
Open Payments Operations and Integrations team are on site throughout the day. Ask early — a two-minute question beats two hours of solo debugging.
Schedule
| 08:00 | Doors open, breakfast |
|---|---|
| 09:00 | Briefing |
| 09:30 | Building starts |
| 12:00 | Lunch inspiration sessions |
| 16:00 | Project submission deadline |
| 17:00 | Presentations |
| 19:00 | Jury feedback and winner selection |
| 20:00 | Event ends |
09 Sandbox
Sandbox lets you test the API with simulated data before production. There are some limitations, but it gives a good picture of what you can build with the API.
Note: Sandbox credentials and behaviour differ between banks. Some banks require specific PSU identifiers in Sandbox — check the credentials page first.
Test with real banking scenarios
Open Payments supports a growing list of banks, covering private and corporate accounts. The list evolves continuously, so treat the documentation as the source of truth.
10 Postman
Open Payments publishes a Postman collection with ready-made API calls, plus environment settings for Sandbox and Production. Import both, set three variables, and start experimenting.
# after importing the collection + sandbox environment
clientId = YOUR_CLIENT_ID
clientSecret = YOUR_CLIENT_SECRET
redirectUri = YOUR_REDIRECT_URI11 Documentation
Every link opens the live Open Payments documentation in a new tab.
12 Need help?
We're here to help. During Build Day the Open Payments engineering team is on site all day — bring your API questions to us.
Support channels
Create a developer account and open a support case, or check the API reference first — most Build Day blockers are a scope or a header away from being solved.