Posting Banks
Less than to read
Bank Sync
Bank Sync registers your banks with Banking Service using a single POST request to the /banks endpoint.
📚 Complete API Documentation: POST /banks endpoint specification
Overview
Here’s what you need to know:
- One endpoint:
POST /banks - Two key fields:
bankIDandaggregatorID - Simple mapping:
- Your
bankID→ OurprincipalID - Your
aggregatorID→ OurexternalRef
- Your
Endpoints by Environment
🧪 Sandbox
- URL:
https://papi-snd01-{region}.sagebanking-sandbox.cloud/v1/banks - Regions:
eu-west-1orus-east-1 - Management: Can be done entirely using the Bruno Collection
🚀 Production
- URL:
https://{region}-banking.fabric.sage.com/provider/v1/banks - Regions:
euorus - Management: Cannot be done via Bruno - you must implement this call in your solution
📚 Full API Specification: POST /banks endpoint
Watch the video below for a complete walkthrough.
Quick Example
Here’s a basic POST request to sync a bank:
POST /banks
{
"data": [
{
"toCreate": [
{
"supportiframe": true,
"countryCode": "GB",
"name": "Your Bank Name",
"callbackURLs": {
"notification": "https://api.yourbank.com/banking-service/notification",
"availableAccounts": "https://api.yourbank.com/banking-service/availableaccounts",
"auth": "https://api.yourbank.com/banking-service/auth",
"reAuth": "https://api.yourbank.com/banking-service/authrefresh"
},
"externalRef": "your-aggregator-id-here",
"url": "https://yourbank.com"
}
]
}
]
}
This single request handles bank registration with Banking Service.
Field Mapping
| Your Field | Maps To Our Field | What It Is |
|---|---|---|
bankID |
principalId |
Your unique bank identifier (UUID format) |
aggregatorID |
externalRef |
Your aggregator/provider identifier |
Required Fields
When creating or updating a bank, you need to provide:
name- Bank name as it appears to userscountryCode- ISO country code (e.g., “GB”, “US”)externalRef- Your aggregator identifiercallbackURLs- Your Connector API endpointsurl- Your bank’s website URLsupportiframe- Whether your auth flow supports iframes
Common Operations
✅ Create a New Bank
{
"data": [
{
"toCreate": [
{
"supportiframe": true,
"countryCode": "GB",
"name": "Example Bank",
"callbackURLs": {
"notification": "https://api.yourbank.com/banking-service/notification",
"availableAccounts": "https://api.yourbank.com/banking-service/availableaccounts",
"auth": "https://api.yourbank.com/banking-service/auth",
"reAuth": "https://api.yourbank.com/banking-service/authrefresh"
},
"externalRef": "aggregator-456",
"url": "https://yourbank.com"
}
]
}
]
}
🔄 Update an Existing Bank
{
"data": [
{
"toUpdate": [
{
"supportiframe": true,
"countryCode": "GB",
"name": "Updated Bank Name",
"callbackURLs": {
"notification": "https://api.yourbank.com/banking-service/notification",
"availableAccounts": "https://api.yourbank.com/banking-service/availableaccounts",
"auth": "https://api.yourbank.com/banking-service/auth",
"reAuth": "https://api.yourbank.com/banking-service/authrefresh"
},
"principalId": "0a52818d-1e0c-4e64-848e-4d04f9e914e5",
"externalRef": "aggregator-456",
"url": "https://yourbank.com"
}
]
}
]
}
🗑️ Remove a Bank (Sandbox Only)
{
"data": [
{
"toRemove": [
{
"principalId": "0a52818d-1e0c-4e64-848e-4d04f9e914e5",
"externalRef": "aggregator-456"
}
]
}
]
}
Environment Details
🧪 Sandbox
- Purpose: Test with dummy banks and development
- Management: Use the Bruno Collection for easy testing
- Cleanup: Use
toRemoveto clean up test data - Regions:
eu-west-1orus-east-1
🚀 Production
- Purpose: Submit real banks for approval
- Management: Must implement the API call in your solution (Bruno cannot be used)
- Approval: Requires PM approval before banks appear to users
- Regions:
euorus - Limitations: No
toRemoveoperation (contact support if needed)
Summary
Bank Sync consists of:
- One POST request to
/banks - Field mapping:
bankID→principalID,aggregatorID→externalRef - Choose the appropriate operation: create, update, or remove
Need More Details?
- Test Examples: Bruno Collection
- Questions?: Developer Community
What’s Next?
Once your banks are synced, move on to Stage 4: Go Live and Support to complete your integration.