Open banking · Saudi Arabia

Compliance is the deadline. The API is the product.

Every Saudi bank will meet the obligation. The ones that treat the API surface as a product — documented, fast, easy to build against — will end up carrying the fintechs the others also wanted.

AIS + PIS Account information and payment initiation, built to the published specifications
FAPI Financial-grade security profile, mTLS client authentication, signed payloads
Consent Granular, revocable, enforced on every call and visible in the banking app
Auditable Every access and consent event recorded for regulatory inspection
01 / obligations

What the framework actually asks of a bank

SAMA's Open Banking Framework has been released in phases, account information first and payment initiation subsequently, so the current publications govern. What follows is the shape of the obligation rather than a substitute for reading them.

  • Expose permissioned data Account information services
    Balances, transactions and account details made available to third party providers permitted by SAMA, where the customer has consented and only within the scope of that consent.
  • Enable payment initiation Payment initiation services
    Allowing a permitted provider to initiate a payment from the customer's account. Higher risk than data access, with correspondingly stronger authentication and fraud requirements.
  • Authenticate the provider Certificates and mTLS
    Verifying that the caller is who it claims to be, using certificates from the approved authority and mutual TLS, and rejecting anything that cannot prove it.
  • Capture and enforce consent Consent lifecycle
    A customer journey that states plainly what is being shared and for how long, enforced on every subsequent call, revocable at any time, and expiring automatically.
  • Meet availability and performance Service levels
    Published availability and response time expectations, with reporting. An API that meets the specification but times out under load has not met the obligation.
  • Record everything Audit and reporting
    Access events, consent events and errors recorded in a form that can be produced for regulatory inspection, and retained accordingly.
  • Provide a test environment Sandbox
    A sandbox that lets providers build and certify against your implementation before touching production data.
02 / api surface

The endpoints, and what makes them hard

The endpoint list is the easy part; it is published. The difficulty is behind them — reaching a core banking system that was never designed to answer a stranger's question in under a second.

Account information AIS · read-only
  • GET /accounts
  • GET /accounts/{id}/balances
  • GET /accounts/{id}/transactions
  • GET /accounts/{id}/beneficiaries
  • GET /accounts/{id}/standing-orders
  • GET /accounts/{id}/direct-debits
The hard part is latency and pagination against a core that answers in batch. Caching helps, but staleness has consequences the regulator will ask about.
Payment initiation PIS · money movement
  • POST /payment-consents
  • GET /payment-consents/{id}
  • POST /payments
  • GET /payments/{id}
  • GET /payments/{id}/status
  • DELETE /payment-consents/{id}
The hard part is idempotency, status reconciliation and fraud controls. A retried payment that debits twice is not an API bug — it is an incident.
Consent and authorisation OAuth 2.0 · FAPI
  • POST /oauth/par
  • GET /oauth/authorize
  • POST /oauth/token
  • GET /account-consents/{id}
  • DELETE /account-consents/{id}
The hard part is that consent spans systems: the API, the mobile app where a customer reviews it, and the contact centre that will be asked to explain it.
Provider management Onboarding · operations
  • POST /tpp/registration
  • GET /tpp/{id}/certificates
  • GET /tpp/{id}/usage
  • POST /tpp/{id}/suspend
The hard part is operational rather than technical: who approves a provider, who suspends one at 2am, and on what evidence.

Paths shown are illustrative of the resource model. Implementations follow the current SAMA specification.

03 / security

Financial-grade, not ordinary API security

A public API can afford an API key and a rate limit. An API that moves money cannot. FAPI exists because the ordinary OAuth patterns leave gaps that are tolerable for a photo-sharing app and unacceptable for a payment.

  • OAuth 2.0 with PKCE — authorisation code interception is a real attack, and PKCE closes it. response_type=code only; implicit flow has no place here.
  • Mutual TLS — the provider proves its identity with a certificate, not a shared secret that can be copied out of a config file.
  • Signed request objects — pushed authorisation requests so parameters cannot be tampered with between the provider and the customer's browser.
  • Certificate validation — against the approved authority, with revocation checked rather than assumed, and rejection on expiry.
  • Token binding and short lifetimes — access tokens scoped to the consent, expiring quickly, refreshable only within the consent period.
  • Audit logging of everything — who called, on whose consent, what was returned, and when. This is a regulatory artefact, not a debugging aid.
  • Rate limiting per provider — protecting the core banking system from a partner's retry loop, which is the most common cause of an outage.
04 / consent

The part that is underestimated every time

Consent looks like a screen. It is actually a state machine that spans the API gateway, the mobile app, the contact centre and the audit store, and it has to stay correct for years across every one of them.

The failure mode is drift. A consent revoked in the app that the gateway keeps honouring for another hour is a data protection incident, not a caching quirk. PDPL and the framework both bear on this, and the customer will ask the contact centre, not the API team.

  • Granular scope — accounts and data types chosen individually, not a single accept-everything toggle
  • Plain-language presentation — in Arabic and English, stating what is shared, with whom, and until when
  • Enforced at call time — every request checked against live consent state rather than a token issued months ago
  • Visible in the banking app — customers can see every active consent without contacting anyone
  • Revocable instantly — and propagated everywhere within seconds, provably
  • Expiring automatically — with re-consent journeys that do not silently break the provider's service
  • Fully logged — grant, use, amendment and revocation, retained for the regulatory period
05 / ai

Where AI belongs in an open banking platform

Not in the API itself — an endpoint that returns a balance should be deterministic. AI belongs around it: in the traffic, the risk and the data the platform now produces.

API abuse and anomaly detection

Enumeration, credential-stuffing patterns and providers behaving unlike their declared use case look normal per request and obvious in aggregate. Behavioural models on traffic catch what per-call rules cannot.

Traffic anomaly · Abuse

Payment fraud scoring

Initiation requests scored in real time on device, beneficiary, amount and behavioural signals, with thresholds routing to step-up authentication rather than silent rejection.

Real-time scoring · Step-up

Transaction enrichment

Raw transaction descriptors are unreadable. Categorisation and merchant identification — in Arabic and English — make the data useful to providers, and directly improve the products built on your rails.

Categorisation · Arabic merchants

Consent analytics

Where customers abandon the consent journey, which scopes cause hesitation, which providers convert. This is product analytics for a regulatory surface, and almost nobody instruments it.

Funnel · Drop-off

Affordability and income verification

Permissioned transaction data supports income verification and affordability assessment far faster than payslip collection — useful in your own lending and as a service to partners.

Income · Affordability

Developer experience

Search over your documentation, an assistant that answers integration questions, and automated example generation. Cheap to build and measurably reduces the support load a growing partner ecosystem creates.

Doc search · Integration support
06 / build or buy

Compliance layer, differentiating layer

Both answers are defensible, and the question is really what you intend the API surface to be. Many banks land on a split: buy the obligation, build the experience above it.

Approach Suits a bank that Trade-off
Vendor platformWants the obligation met on time with the least internal capability building.Faster to certified, but the developer experience is the vendor's, and so is much of the roadmap.
Build in-houseIntends to compete on partner ecosystem and treats the API as a product with its own roadmap.More control and better differentiation, at the cost of owning conformance and security work permanently.
HybridWants compliance quickly but expects the API to become strategic.Vendor handles the regulated core; you build portal, analytics and partner experience above it. The common landing point.

Crux works in all three shapes, including alongside a vendor platform already in place. The recommendation comes out of the review rather than out of what we would prefer to build.

07 / delivery

Read-only first, money second

Account information before payment initiation, always. It exercises the whole stack — authentication, consent, gateway, core integration — without the incident profile of moving money while you are still learning your own platform.

  1. Readiness review

    Current API estate, core banking reachability, latency and load headroom, and gap analysis against the framework. Ends with a build, buy or hybrid recommendation.

    3 weeks
  2. Security and consent design

    FAPI profile, certificate handling, consent model and lifecycle, agreed with security, compliance and legal before implementation.

    3–4 weeks
  3. AIS build

    Account information endpoints, gateway, consent enforcement and audit logging, against a core system that usually needs work to answer fast enough.

    8–10 weeks
  4. Sandbox and portal

    Documentation in Arabic and English, sandbox with representative data, onboarding flow and key management — the surface partners actually judge you on.

    3–4 weeks
  5. Certification and launch

    Conformance testing, load testing at expected partner volumes, operational runbooks and go-live with monitoring in place.

    3–4 weeks
  6. PIS extension

    Payment initiation with fraud controls, idempotency, reconciliation and dispute handling — treated as its own programme, not a sprint.

    Follow-on

Account information with consent and sandbox typically runs 16 to 24 weeks. The variable is nearly always core banking reachability, not the API layer.

08 / questions

Answered plainly

What does SAMA's Open Banking Framework require of banks?

Exposing customer-permissioned account data, and in later phases payment initiation, to providers permitted by SAMA through standardised secure APIs. That entails a consent journey, a security profile providers can authenticate against, availability and performance obligations, and auditable records of every data-sharing event. Requirements have been released in phases, so confirm current SAMA publications before design.

What is the difference between AIS and PIS?

Account Information Services let a third party read customer data with consent — balances, transactions, account details. Payment Initiation Services let a third party start a payment from the customer's account. AIS is read-only and lower risk; PIS moves money and carries stronger authentication, fraud and liability implications.

What security does an open banking API require?

A financial-grade profile rather than ordinary API security: OAuth 2.0 with PKCE, FAPI conformance, mutual TLS for client authentication, signed and where required encrypted payloads, certificate validation against the approved authority, and full audit logging of access and consent events.

Should we build the platform or buy a vendor product?

Vendor platforms deliver compliance faster and suit banks whose objective is meeting the obligation. Building suits banks intending to compete on developer experience and partner ecosystem. Many buy the compliance layer and build the differentiating layer above it — that hybrid is the most common landing point.

How does consent management actually work?

The customer authenticates with the bank, sees exactly what is being requested and for how long, and approves or declines. That consent is then stored, enforced on every subsequent call, visible in the banking app, revocable at any time and expired automatically. It is the most underestimated part, because it spans the API, the app and the contact centre.

How long does an open banking platform take?

Account information APIs with consent management and a developer sandbox typically take 16 to 24 weeks. Payment initiation adds meaningfully because of stronger authentication, fraud controls and reconciliation. Timelines depend heavily on how reachable the core banking system is.

start / here

Find out what your core banking system can actually answer

A three-week readiness review measures core reachability and latency headroom, maps your gap against the framework, and returns a build, buy or hybrid recommendation with a sequenced plan.