Case study · Open finance APIs

From voluntary to mandatory: an open finance platform for a mid-sized Colombian bank

Colombia has made open finance mandatory for supervised financial institutions. A mid-sized bank had to become both a reliable data provider and a capable data receiver, on standards still being written, without building twice. The answer was a platform designed around consent, security profiles and measurable service levels.

Case studyBanking · ColombiaSumanta Mukhopadhyay9 min read
#data#security#architecture
CASE STUDY · CASE STUDY · OPEN FINANCE APIS30 Oct 2026 · 11:50 GST
At a glance
SectorBanking · Colombia
My roleFractional CTO and principal architect
EngagementAssessment, architecture and delivery leadership
ScopeConsent service, API gateway, data provider and receiver, security profile, service-level reporting
What changed
  • A single consent service covering both sharing and receiving data
  • Provider APIs built on a canonical model that can map to the SFC standards as they are published
  • Security aligned with a recognised financial-grade API profile
  • Availability and latency measured per endpoint, ready for regulator indicators
  • Received data usable by credit and product teams with purpose recorded
API gateway (Envoy)OAuth 2.0 and FAPI 2.0 security profileConsent serviceChange data captureEvent streamingCanonical data modelOpenTelemetry tracingService-level reporting

Anonymised composite. Client names, identifying details and confidential figures are withheld; public facts are cited in the references.

The situation

A mid-sized Colombian bank offered current accounts, cards and small business loans. It had taken part in the earlier, voluntary open finance scheme in a limited way: a few partner integrations, each built separately, with its own consent screens and its own security setup. Customer data lived in a core banking system, a card platform and a lending system, each with a different idea of what a "customer" was.

Why now. Decree 368 of 2026 made open finance mandatory for institutions supervised by the Financial Superintendence of Colombia (SFC), replacing the voluntary framework1. Supervised entities must act as both data providers and data receivers, and data can only flow with the customer's prior, express and informed consent2. The common technical standards are left to the SFC, and commentary on the decree sets out a deadline in October 2026 for the SFC to publish its schedule for them, with a period for institutions to comply after each standard is issued3. The bank had to start building before the details were final.

What had to be true

  • One consent model for every data flow, out and in, that customers can see and revoke.
  • Standards-ready APIs: a canonical internal model that can be mapped to the SFC standards as they arrive.
  • Financial-grade security for every third party, with no bespoke partner setups.
  • Measurable reliability: availability and latency per endpoint, because the regulator will publish indicators.
  • Useful received data: data from other institutions available to credit and product teams, with purpose recorded.

Architecture

Participants
Other banks and fintechsreceivers and providersCustomersgrant and revoke consent
Edge
API gatewayEnvoy, mTLS, rate limitsAuthorisation serverFAPI 2.0 profile
Consent
Consent servicescope, purpose, expiry, revocationCustomer dashboardsee and revoke
Provider
Data APIsaccounts, cards, loansCanonical modelone customer viewChange data capturefresh, not batch
Receiver
Data clientcalls other institutionsReceived data storepurpose-tagged
Operate
TracingOpenTelemetryService-level reportingper endpointAudit logevery access
Provider and receiver share one edge, one consent service and one operations layer.

The data flow, end to end

  1. RequestA receiver asks for access to specific data for a stated purpose
  2. ConsentThe customer authenticates with the bank and approves scope and duration
  3. TokenA sender-constrained token is issued for that consent only
  4. ServeThe gateway checks token and consent; data APIs answer from the canonical model
  5. MeasureEach call is traced and counted against availability and latency targets
  6. RevokeThe customer can withdraw consent; tokens stop working at once
The same path runs in reverse when the bank is the receiver.

The hard part: building to standards that do not exist yet

The decree sets the framework, but the technical standards come later13. Waiting meant missing the window; building to a guess meant rework. The team separated what was certain from what was not.

Security was the most certain. Open finance schemes around the world converge on financial-grade API profiles, so the authorisation server was built to the OpenID Foundation's FAPI 2.0 Security Profile, with sender-constrained tokens and strong client authentication4. Whatever the local profile adds, most of that work carries over.

Data formats were the least certain. Instead of exposing internal systems directly, the team built a canonical model of customers, accounts, cards and loans, fed by change data capture from each source system. The public API shapes became a thin mapping layer on top. When the SFC publishes a standard, the change lands in the mapping, not in three core systems. More on that pattern in change data capture and event streams and data contracts.

Reliability had to be measurable from day one, because the SFC must publish indicators on the system2. The gateway emits a trace for every call, so availability and latency can be reported per endpoint and per participant, and a slow downstream system shows up in the trace rather than in a complaint5.

Diagram of two services, each with an Envoy proxy that starts or continues a trace and creates new spans for outgoing calls, with an Istio control plane configuring the OpenTelemetry tracer
Tracing at the edge: every open finance call gets a span at the gateway, so service levels come from real traffic. Source: OpenTelemetry blog, Joao Grassi · CC BY 4.0

When the rules are still being written, build the parts every scheme shares, consent, security and measurement, and keep the parts that will change behind a thin mapping layer.

How it ran

Compliance and legal
  1. Decree and SFC tracking
  2. Consent wording and purposes
  3. Participant agreements
Engineering
  1. Canonical model and CDC
  2. Gateway and authorisation server
  3. Service-level reporting
Product and credit
  1. Receiver use cases
  2. Customer dashboard
  3. Use of received data
Compliance owned purpose, engineering owned the platform, product owned the value of received data.
Phase 1Foundations
  • Consent service
  • Authorisation server
  • Gateway with tracing
Phase 2Provide
  • Canonical model
  • Change data capture
  • Account and card APIs
Phase 3Receive
  • Data client
  • Purpose-tagged store
  • First credit use case
Phase 4Conform
  • Map SFC standards as issued
  • Indicator reporting
  • Participant onboarding
Foundations first; standards mapped in as they are published.

Key decisions and trade-offs

DecisionAlternativeWhy
Build to FAPI 2.0 nowWait for the local profileSecurity work carries over; waiting costs months
Canonical model behind thin mappingsExpose source systems directlyStandards changes land in one place
Change data captureNightly batch extractsShared data must be current, and batch hides failures
One consent service for in and outSeparate provider and receiver consentOne place for customers to see and revoke
Trace every call at the gatewaySample or rely on logsRegulator indicators need complete, per-endpoint data

What I'd do again, and differently

Again: treat the receiver side as a product, not a compliance task. Data from other institutions is what makes open finance worth the cost, as the Brazilian lender found when it used consented data in credit decisions. Differently: start participant onboarding earlier. Technical integration was faster than agreeing testing and support arrangements with other institutions. Related: idempotent financial pipelines and where I work.

If you are preparing for open finance in Colombia or elsewhere in Latin America, see my fractional CTO work, or analyse your challenge and bring the result to a call.

References
  1. 1
    Decreto 368 de 2026Función Pública (Colombia) · 2026
  2. 2
  3. 3
  4. 4
    FAPI 2.0 Security ProfileOpenID Foundation · 2025
  5. 5
FAQ

Common questions

Is open finance mandatory in Colombia?

Yes. Decree 368 of 2026 makes participation mandatory for entities supervised by the Financial Superintendence of Colombia (SFC), both as data providers and data receivers, replacing the earlier voluntary scheme. Data can only be shared with the customer's prior, express and informed consent.

Have the technical standards been published?

The decree leaves the common, mandatory standards to the SFC. Commentary on the decree sets out a deadline in October 2026 for the SFC to publish its schedule for issuing them. Banks should design so that the final standards can be mapped in without rebuilding.

Why use a financial-grade API security profile before the standards are final?

Profiles such as FAPI 2.0 are widely used by open finance schemes and cover the hard parts, such as sender-constrained tokens and strong client authentication. Building to one early makes it likely that most of the work carries over, whatever the final local profile says.

Keep reading

Related

Open to advisory, fractional CTO & select builds

Let's talk about what you're building.

The fastest route is a free 30-minute call. Prefer to write? Send a message and I'll reply personally within two business days.

Start a conversation

How would you like to reach me?

Book a 30-min callFastest. Pick any open slot on my calendar.→ Write in GmailOpens a pre-filled draft in your browser.→ Use my email appOutlook, Apple Mail or your default client.→

I reply personally within two business days. Time zones from the Americas and Europe to the Middle East and Asia-Pacific.