Lean Technologies Open Banking Standing Orders API
The Open Banking Standing Orders API from Lean Technologies — 1 operation(s) for open banking standing orders.
The Open Banking Standing Orders API from Lean Technologies — 1 operation(s) for open banking standing orders.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/lean-technologies-open-banking-standing-orders-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Lean Open Banking Standing Orders API
version: v2.0.0
servers:
- url: https://sandbox.sa.leantech.me
description: Sandbox
- url: https://api2.sa.leantech.me
description: Production
security:
- bearerAuth: []
tags:
- name: Open Banking Standing Orders
x-displayName: Open Banking Standing Orders
paths:
/open-banking/account-information/2022.11.01-final-errata2/accounts/{AccountId}/standing-orders:
servers: []
get:
operationId: GetAccountStandingOrdersV1
summary: Get Open Banking Account Standing Orders
description: 'Retrieves the standing orders for a bank account linked by a user via LinkSDK for the KSA Open Banking (SAMA) ecosystem.
Each standing order object contains the frequency, status, payment amounts, dates, and creditor details.
Requires ReadStandingOrdersBasic or ReadStandingOrdersDetail consent permission.'
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/FapiInteractionId'
- $ref: '#/components/parameters/EntityId'
- $ref: '#/components/parameters/CustomerId'
- $ref: '#/components/parameters/OBPageParm'
- $ref: '#/components/parameters/OBSizeParam'
responses:
'200':
description: Standing Orders Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/OBGetStandingOrdersResponse'
examples:
GetStandingOrdersSuccess:
summary: Successful standing orders response
value:
Status: OK
Message: Data successfully retrieved
Timestamp: '2026-04-09T10:30:00.000Z'
RefreshedAt: '2026-04-09T10:25:00.000Z'
StatusDetail: null
Meta:
TotalPages: 1
Links:
Self: https://api.leantech.me/open-banking/account-information/2022.11.01-final-errata2/accounts/7c8a9f12-3456-4abc-b123-9876543210ab/standing-orders
First: https://api.leantech.me/open-banking/account-information/2022.11.01-final-errata2/accounts/7c8a9f12-3456-4abc-b123-9876543210ab/standing-orders
Prev: null
Next: null
Last: https://api.leantech.me/open-banking/account-information/2022.11.01-final-errata2/accounts/7c8a9f12-3456-4abc-b123-9876543210ab/standing-orders
Data:
StandingOrder:
- StandingOrderId: SO-00345678
AccountHolderName: Ahmed Abdullah Al-Rashidi
AccountHolderShortName: Ahmed
StandingOrderType: KSAOB.SameBankTransfer
Frequency: MMMDD
CreditorReference: SAVINGS-TRANSFER
Purpose: Monthly savings transfer
FirstPaymentDateTime: '2025-01-01T09:00:00.000Z'
NextPaymentDateTime: '2026-05-01T09:00:00.000Z'
LastPaymentDateTime: null
FinalPaymentDateTime: '2027-12-01T09:00:00.000Z'
NumberOfPayments: '36'
StandingOrderStatusCode: KSAOB.Active
FirstPaymentAmount:
Amount: '1000.00'
Currency: SAR
NextPaymentAmount:
Amount: '1000.00'
Currency: SAR
LastPaymentAmount: null
FinalPaymentAmount:
Amount: '1000.00'
Currency: SAR
CreditorAgent:
IdentificationType: KSAOB.BICFI
Identification: RIBLSARI
Name: null
PostalAddress: null
CreditorAccount:
- IdentificationType: KSAOB.IBAN
Identification: SA8830000009876543210987
Name: Ahmed Abdullah Al-Rashidi
SupplementaryData: null
BankIssueExample:
summary: Failed request due to bank technical issues
value:
Status: FAILED
Message: Your bank is currently experiencing technological problems. Please try again later.
Timestamp: '2026-04-09T10:30:00.000Z'
RefreshedAt: null
StatusDetail:
GranularStatusCode: BANK_ISSUE
StatusAdditionalInfo: Your bank is currently experiencing technological problems. Please try again later.
Meta: null
Links: null
Data: null
'400':
description: Bad Request
content:
application/json:
examples:
MissingEntityId:
summary: Missing or invalid entity_id
value:
Status: FAILED
Message: entity_id is required and must be a valid UUID
Timestamp: '2026-04-09T10:30:00.000Z'
RefreshedAt: null
StatusDetail:
GranularStatusCode: INVALID_PARAMETERS
StatusAdditionalInfo: The provided entity_id is not a valid UUID format
Meta: null
Links: null
Data: null
'404':
description: Entity not found
content:
application/json:
examples:
EntityNotFound:
summary: Entity not found
value:
Status: FAILED
Message: Entity not found
Timestamp: '2026-04-09T10:30:00.000Z'
RefreshedAt: null
StatusDetail:
GranularStatusCode: ENTITY_NOT_FOUND
StatusAdditionalInfo: No entity found for the provided entity_id
Meta: null
Links: null
Data: null
'500':
description: Internal Server Error
content:
application/json:
examples:
BankIssue:
summary: Bank technical issue
value:
Status: FAILED
Message: Your bank is currently experiencing technological problems. Please try again later.
Timestamp: '2025-09-12T05:13:49.739987382Z'
RefreshedAt: null
StatusDetail:
GranularStatusCode: BANK_ISSUE
StatusAdditionalInfo: Your bank is currently experiencing technological problems. Please try again later.
Meta: null
Links: null
Data: null
tags:
- Open Banking Standing Orders
components:
parameters:
OBPageParm:
name: Page
in: query
description: The page you're requesting - returns page 0 of a response if not specified.
required: false
schema:
type: integer
default: 0
minimum: 0
AccountId:
name: AccountId
in: path
description: The Lean account identifier uniquely identifying the account within Lean.
required: true
schema:
type: string
format: uuid
EntityId:
name: EntityId
in: query
description: The entity_id of the connected customer.
required: false
schema:
type: string
format: uuid
OBSizeParam:
name: Size
description: The number of objects you want to return as a page size.
in: query
required: false
schema:
type: integer
default: 50
maximum: 100
minimum: 1
CustomerId:
name: CustomerId
in: query
description: The customer_id of the connected customer.
required: false
schema:
type: string
format: uuid
FapiInteractionId:
name: x-fapi-interaction-id
in: header
description: An RFC4122 UID used as a correlation id.
required: false
schema:
type: string
schemas:
OBGetStandingOrdersResponse:
description: Response envelope for the Open Banking account standing orders.
type: object
properties:
Data:
description: Container for the list of Open Banking account standing orders. Null when the request fails.
type:
- object
- 'null'
allOf:
- $ref: '#/components/schemas/OBStandingOrdersData'
Status:
description: Status of the request.
type: string
enum:
- OK
- PENDING
- FAILED
- CONSENT_EXPIRED
Message:
description: Human-readable message describing the status of the request.
type: string
Timestamp:
description: Date and time when the response was generated.
type: string
format: date-time
RefreshedAt:
description: Date and time when the data was last refreshed from the bank.
type:
- string
- 'null'
format: date-time
StatusDetail:
description: Additional details about the request status.
type:
- object
- 'null'
allOf:
- $ref: '#/components/schemas/OBStatusDetail'
Meta:
description: Metadata relevant to the resource, including pagination information.
type:
- object
- 'null'
allOf:
- $ref: '#/components/schemas/OBMeta'
Links:
description: Links relevant to the resource for pagination navigation.
type:
- object
- 'null'
allOf:
- $ref: '#/components/schemas/OBLinks'
required:
- Data
- Status
- Message
- Timestamp
OBStandingOrder:
description: Unambiguous identification of the standing order.
type: object
properties:
StandingOrderId:
description: Unique identification, as assigned by the creating institution, to unambiguously identify a standing order.
type: string
maxLength: 40
minLength: 1
AccountHolderName:
description: Name or names of the account owner(s) represented at the account level.
type:
- string
- 'null'
AccountHolderShortName:
description: Short name or nickname of the account holder.
type:
- string
- 'null'
StandingOrderType:
description: Specifies the type of standing order.
type:
- string
- 'null'
allOf:
- $ref: '#/components/schemas/OBStandingOrderTypeCode'
Frequency:
description: 'Individual Definitions: NotKnown - NotKnown EveryDay - EveryDay EveryWorkingDay - EveryWorkingDay IntrvlDay:NoOfDay - An interval specified in number of calendar days IntrvlWkDay:IntvlWk:DayInWk - An interval specified in weeks, and the day within the week WkInMnthDay:WkInMnth:DayInWk - A monthly interval, specifying the week of the month and day within the week IntrvlMnthDay:IntvlMnth:DayInMnth - An interval specified in months, and the day within the month QtrDay:either (ENGLISH) - Quarterly (either ENGLISH).'
type: string
maxLength: 35
minLength: 1
CreditorReference:
description: Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.
type:
- string
- 'null'
maxLength: 35
minLength: 1
Purpose:
description: The purpose of the standing order in coded form.
type:
- string
- 'null'
maxLength: 50
minLength: 1
FirstPaymentDateTime:
description: The date on which the first payment for a standing order schedule will be made. ISO 8601 format.
type: string
format: date-time
NextPaymentDateTime:
description: The date on which the next payment for a standing order schedule will be made. ISO 8601 format.
type:
- string
- 'null'
format: date-time
LastPaymentDateTime:
description: The date on which the last payment for a standing order schedule was made. ISO 8601 format.
type:
- string
- 'null'
format: date-time
FinalPaymentDateTime:
description: The date on which the final payment for a standing order schedule will be made. ISO 8601 format.
type: string
format: date-time
NumberOfPayments:
description: Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.
type: string
maxLength: 35
minLength: 1
StandingOrderStatusCode:
$ref: '#/components/schemas/OBStandingOrderStatusCode'
FirstPaymentAmount:
description: The amount of the first Standing Order.
type: object
allOf:
- $ref: '#/components/schemas/OBAmount'
NextPaymentAmount:
description: The amount of the next Standing Order.
type:
- object
- 'null'
allOf:
- $ref: '#/components/schemas/OBAmount'
LastPaymentAmount:
description: The amount of the last Standing Order.
type:
- object
- 'null'
allOf:
- $ref: '#/components/schemas/OBAmount'
FinalPaymentAmount:
description: The amount of the final Standing Order.
type: object
allOf:
- $ref: '#/components/schemas/OBAmount'
CreditorAgent:
description: Financial institution servicing an account for the creditor.
type:
- object
- 'null'
allOf:
- $ref: '#/components/schemas/OBCreditorAgent'
CreditorAccount:
description: List of cash accounts for the creditor.
type:
- array
- 'null'
items:
$ref: '#/components/schemas/OBCashAccount'
SupplementaryData:
description: Additional information that cannot be captured in the structured fields.
type:
- object
- 'null'
allOf:
- $ref: '#/components/schemas/OBSupplementaryData'
required:
- StandingOrderId
- Frequency
- FirstPaymentDateTime
- FinalPaymentDateTime
- NumberOfPayments
- StandingOrderStatusCode
- FirstPaymentAmount
- FinalPaymentAmount
OBStandingOrderTypeCode:
description: Specifies the type of standing order.
type: string
enum:
- KSAOB.BetweenMyAccounts
- KSAOB.SameBankTransfer
- KSAOB.LocalBankTransfer
- KSAOB.InternationalTransfer
- KSAOB.Charity
OBStatusDetail:
type:
- object
- 'null'
properties:
GranularStatusCode:
description: Granular status code providing additional information on the request status.
type:
- string
- 'null'
StatusAdditionalInfo:
description: Additional human-readable information about the status.
type:
- string
- 'null'
OBMeta:
description: Metadata relevant to the resource.
type: object
properties:
TotalPages:
description: Total number of pages where a result set is paginated.
type:
- integer
- 'null'
format: int32
minimum: 0
OBStandingOrderStatusCode:
description: Specifies the status of the standing order in coded form.
type: string
enum:
- KSAOB.Active
- KSAOB.Inactive
OpenBankingPostalAddress:
description: Information that locates and identifies a specific address, as defined by postal services.
type: object
properties:
AddressType:
description: Identifies the nature of the postal address.
type:
- string
- 'null'
allOf:
- $ref: '#/components/schemas/OBAddressTypeCode'
ShortAddress:
description: Short address (National Addressing System) of the location.
type:
- string
- 'null'
maxLength: 8
minLength: 1
BuildingNumber:
description: Number that identifies the position of a building on a street.
type:
- string
- 'null'
maxLength: 4
minLength: 4
UnitNumber:
description: Unit number within a building.
type:
- number
- 'null'
StreetName:
description: Name of a street or thoroughfare.
type:
- string
- 'null'
maxLength: 70
minLength: 1
SecondaryNumber:
description: Secondary number for the address (National Addressing System).
type:
- string
- 'null'
maxLength: 4
minLength: 4
District:
description: Identifies a subdivision of a city, town or country.
type:
- string
- 'null'
maxLength: 35
minLength: 1
PostalCode:
description: Identifier of a group of letters or numbers added to a postal address to assist the sorting of mail.
type:
- string
- 'null'
maxLength: 16
minLength: 1
City:
description: Name of a built-up area, with defined boundaries, and a local government.
type:
- string
- 'null'
maxLength: 35
minLength: 1
Country:
description: Nation with its own government (ISO 3166-1 alpha-2 country code).
type:
- string
- 'null'
pattern: ^[A-Z]{2,2}$
OBCashAccountIdentificationType:
description: Name of the identification scheme for the cash account.
type: string
enum:
- KSAOB.IBAN
- KSAOB.MaskedPAN
- KSAOB.AccountNumber
- KSAOB.CommercialRegistrationNumber
- KSAOB.Email
- KSAOB.MobileNumber
- KSAOB.NationalID
- KSAOB.IqamaNumber
- KSAOB.PassportNumber
OBCreditorAgentIdentificationType:
description: Name of the identification scheme for the creditor or debtor agent.
type: string
enum:
- KSAOB.BICFI
- KSAOB.OTHER
OBAddressTypeCode:
description: Postal address type specifying the nature of the postal address.
type: string
enum:
- KSAOB.Business
- KSAOB.Correspondence
- KSAOB.DeliveryTo
- KSAOB.MailTo
- KSAOB.POBox
- KSAOB.Postal
- KSAOB.Residential
- KSAOB.Statement
OBLinks:
description: Links relevant to the resource for pagination navigation.
type: object
properties:
Self:
description: A link to the current resource.
type: string
format: uri
First:
description: A link to the first page in a paginated result set.
type:
- string
- 'null'
format: uri
Prev:
description: A link to the previous page in a paginated result set.
type:
- string
- 'null'
format: uri
Next:
description: A link to the next page in a paginated result set.
type:
- string
- 'null'
format: uri
Last:
description: A link to the last page in a paginated result set.
type:
- string
- 'null'
format: uri
required:
- Self
OBAmount:
description: Active or historic currency and amount.
type: object
properties:
Amount:
description: A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
type: string
pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$
Currency:
description: ISO 4217 currency code in which the amount is expressed.
type: string
examples:
- SAR
pattern: ^[A-Z]{3,3}$
required:
- Amount
- Currency
OBSupplementaryData:
description: Additional information that cannot be captured in the structured fields and/or any other specific block.
type: object
additionalProperties: true
OBCreditorAgent:
description: Financial institution servicing an account for the creditor or debtor.
type: object
properties:
IdentificationType:
$ref: '#/components/schemas/OBCreditorAgentIdentificationType'
Identification:
description: Unique and unambiguous identification of the financial institution.
type: string
maxLength: 35
minLength: 1
Name:
description: Name by which an agent is known and which is usually used to identify that agent.
type:
- string
- 'null'
maxLength: 350
minLength: 1
PostalAddress:
description: Information that locates and identifies a specific address, as defined by postal services.
type:
- object
- 'null'
allOf:
- $ref: '#/components/schemas/OpenBankingPostalAddress'
required:
- IdentificationType
- Identification
OBStandingOrdersData:
description: Container for the list of Open Banking account standing orders.
type: object
properties:
CustomerId:
description: Lean provided customer ID
type:
- string
- 'null'
format: uuid
StandingOrder:
description: List of standing orders for the account.
type: array
items:
$ref: '#/components/schemas/OBStandingOrder'
required:
- StandingOrder
OBCashAccount:
description: Details to identify a cash account for a creditor or debtor.
type: object
properties:
IdentificationType:
$ref: '#/components/schemas/OBCashAccountIdentificationType'
Identification:
description: Identification assigned by an institution to identify an account. This identification is known by the account owner.
type: string
maxLength: 400
minLength: 1
Name:
description: Name of the account, as assigned by the account servicing institution.
type:
- string
- 'null'
maxLength: 350
minLength: 1
required:
- IdentificationType
- Identification
securitySchemes:
bearerAuth:
type: http
scheme: bearer