+351 912 706 563 ask@paydevops.com
Home / API Guide

API Documentation

Bancorix exposes two independent API surfaces. This guide covers authentication, request structure, key resources, and links to the interactive Swagger specifications.

Overview

Bancorix exposes two independent REST APIs built on a dual-surface architecture (ADR-028). This separation ensures that back-office improvements never break partner integrations, and external API evolution does not affect console operations.

Core API

Port 5000 • External integrations

For partner systems, third-party integrations, and programmatic access to platform operations — payments, accounts, documents, GL data, and customer management.

Open Swagger (Dev) →

Console API (BFF)

Port 5001 • Back-office operations

Backend-for-Frontend for the operations console. Provides schema-driven form metadata, console-specific projections, bulk operations, and dashboard data unavailable on the Core API.

Open Swagger (Dev) →

Authentication

Both APIs use JWT Bearer authentication. Obtain a token from the login endpoint, then include it in the Authorization header on all requests.

POST /api/auth/login
Content-Type: application/json

{
  "email": "user@example.com",
  "password": "your-password",
  "tenantId": "your-tenant-id"
}
Authorization: Bearer <access_token>
Token lifetimes: Access tokens expire after 15 minutes. Refresh tokens are valid for 7 days. Use POST /api/auth/refresh to obtain a new access token before expiry.

Base URLs

EnvironmentCore APIConsole API
Development https://api-dev.bancorix.com https://console-dev.bancorix.com
UAT https://api-uat.bancorix.com https://console-uat.bancorix.com
Production https://api.bancorix.com https://console.bancorix.com

Core API — Key Resources

Authentication
POST /api/auth/loginPOST /api/auth/refreshPOST /api/auth/logoutGET /api/auth/me
Documents
GET /api/documentsPOST /api/documentsGET /api/documents/{id}GET /api/documents/search
Accounts
GET /api/accountsPOST /api/accountsGET /api/accounts/{id}/balanceGET /api/accounts/{id}/bankdetailsGET /api/accounts/{id}/statement
Customers
GET /api/customersPOST /api/customersGET /api/customers/{id}
Transactions
GET /api/transactionsPOST /api/transactionsPOST /api/transactions/{id}/postPOST /api/transactions/{id}/reverse
Workflows
GET /api/workflowsPOST /api/workflows/instances/startPOST /api/workflows/instances/{id}/execute
Balances & Reference
GET /api/balances/summaryGET /api/reference/currenciesGET /api/reference/transaction-types

Full endpoint reference with request/response schemas is available in the interactive Swagger UI.

Console API (BFF) — Controller Groups

Documents & Tasks
Document list with console-specific projections, document types, bulk operations, task assignment, cross-entity search
Schema Studio
Document schema authoring — types, sections, reusable objects, dictionaries, draft-lint-publish flow, export as migration
Workflow Studio
Visual workflow designer — versioned draft/publish, action and condition editors, lint, impact analysis, export as migration
GL & Ledger
Chart of accounts, GL entry browser, manual journal entries with dry-run preview, period close/reopen, FX revaluation, balance recalculation
Reports
Balance Sheet, Profit & Loss, Safeguarding Compliance, and Capital Requirements (FSA061) with persisted snapshots
Customers & KYC
Customer profiles, KYC/KYB onboarding applications, verification status, provider document proxy
Integration Admin
Connector configuration, signing credentials (CSR flow), request logs, dead-letter inspection and replay
Fee Management
Pricing plans, fee schedules, fee rules, fee simulation
User & Access Admin
Users, roles, groups with inheritance, typed invitations, multi-tenant assignment
Config & Reference
System settings, tenant configuration, reference data, calendars, dashboard data

Request Structure

All requests must include the following headers:

Authorization: Bearer <token>
Content-Type: application/json
X-Tenant-Id: <tenant-id>

Multi-tenant context is resolved from the JWT claims. The X-Tenant-Id header is required only when a user operates across multiple tenants.

Error Handling

Errors follow RFC 7807 Problem Details format:

HTTP/1.1 422 Unprocessable Entity
Content-Type: application/problem+json

{
  "type": "https://bancorix.com/errors/validation",
  "title": "Validation failed",
  "status": 422,
  "errors": {
    "amount": ["Amount must be greater than zero"]
  }
}
HTTP StatusMeaning
400Bad request — malformed JSON or missing required fields
401Unauthorized — missing or expired token
403Forbidden — authenticated but insufficient permissions
404Not found — resource does not exist in this tenant context
409Conflict — state machine violation or concurrent modification
422Validation error — business rule or schema violation
500Internal server error — contact support

Pagination

List endpoints support cursor-based pagination via query parameters:

GET /api/documents?page=1&pageSize=50&sortBy=createdAt&sortDir=desc

Response includes totalCount, page, pageSize, and hasNextPage in the response envelope.

Events & Webhooks

Inbound provider events — payment status changes, incoming payments, KYC decisions, delivery receipts — are ingested through the dedicated integration engine with signature verification, deduplication, and dead-letter handling, then reflected on the corresponding documents and workflow states available via the Core API.

Partner-facing webhook subscriptions (Bancorix pushing events to your endpoint) are on the roadmap. Today, integration status is available by polling the document and workflow resources above.

Postman Collection

A complete Postman collection with pre-configured environments (Dev, UAT, Production) is available on request. The collection includes authentication flows, common document operations, GL queries, and fee simulation examples.

Request Postman Collection

Sandbox Access

We can provision a sandbox tenant with pre-loaded reference data, sample documents, and an operational workflow for hands-on technical evaluation. The sandbox is fully isolated and includes:

  • Pre-seeded Chart of Accounts (393 accounts)
  • Sample customer records (Individual and Corporate)
  • Example payment documents in various workflow states
  • Fee schedules across Standard, Premium, and Corporate pricing plans
  • Admin credentials and role-based test users
Request Sandbox Access