Lean Technologies Entities API
The Entities API from Lean Technologies — 4 operation(s) for entities.
The Entities API from Lean Technologies — 4 operation(s) for entities.
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-entities-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: KSA Entities API
description: ''
version: 1.0.0
servers:
- url: https://sandbox.sa.leantech.me
description: Sandbox
- url: https://api2.sa.leantech.me
description: Production / Pre-Live
security:
- bearer: []
tags:
- name: Entities
paths:
/customers/v1/entities:
get:
summary: List Entities
deprecated: false
description: ''
operationId: listEntities
tags:
- Entities
parameters:
- name: start_date
in: query
description: This is the starting date for which you want to retrieve entities created
required: true
example: '2025-03-01'
schema:
type: integer
- name: end_date
in: query
description: This is the end date for which you want to retrieve entities created
required: true
example: '2025-04-01'
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ListEntityResponse'
page:
$ref: '#/components/schemas/Page'
required:
- data
- page
example:
data:
- id: 1e700df1-991d-4b24-9b99-b3bc3a4f8742
customer_id: a17358a5-c034-4efe-ac66-918e0da6bf21
bank_identifier: LEA2_SAMAOB_SAU
permissions:
identity: true
accounts: true
balance: true
transactions: true
identities: true
scheduled_payments: false
standing_orders: false
direct_debits: false
beneficiaries: false
bank_type: RETAIL
created_at: '2025-03-20T10:58:38.399276Z'
consents:
- id: 2477aa02-88f9-4eb3-9fbc-7879e55d9919
bank_consent_id: '83699'
bank_identifier: null
consent_type: null
consent_status: ACTIVE
standard_consent_status: null
permissions:
identity: true
accounts: true
balance: true
transactions: true
identities: true
scheduled_payments: false
standing_orders: false
direct_debits: false
beneficiaries: false
creation_date_time: '2025-03-20T10:58:07.385726Z'
status_update_date_time: '2025-03-20T10:58:07.385726Z'
expiration_date_time: '2025-03-21T09:57:59.084Z'
transaction_from_date_time: '2024-03-17T18:30:00.084Z'
transaction_to_date_time: '2025-03-21T09:57:59.084Z'
accounts:
- scheme_name: IBAN
identification: SA5345LVG2X0SI98L2TYOATQ
name: Buford Torp CURRENT Account
secondary_identification: null
- scheme_name: NATIONAL_ID
identification: '1372602407'
name: null
secondary_identification: null
- scheme_name: IBAN
identification: SA4330PH5L6EXIY9LNH1HD7Y
name: Buford Torp SAVINGS Account
secondary_identification: null
- scheme_name: NATIONAL_ID
identification: '1372602407'
name: null
secondary_identification: null
status: ACTIVE
updated_at: '2025-03-20T10:58:38.399276Z'
- id: bfe68209-e8e6-43e1-9831-8d60c477595d
customer_id: f96d8945-4ef0-4b7f-8569-107ec943d891
bank_identifier: LEA2_SAMAOB_SAU
permissions:
identity: true
accounts: true
balance: true
transactions: true
identities: true
scheduled_payments: true
standing_orders: true
direct_debits: true
beneficiaries: true
bank_type: RETAIL
created_at: '2025-03-07T11:43:16.269566Z'
consents:
- id: 4631f555-4f18-45d7-aa65-5908a509e1c1
bank_consent_id: '81469'
bank_identifier: null
consent_type: null
consent_status: ACTIVE
standard_consent_status: null
permissions:
identity: true
accounts: true
balance: true
transactions: true
identities: true
scheduled_payments: true
standing_orders: true
direct_debits: true
beneficiaries: true
creation_date_time: '2025-03-07T11:42:58.913517Z'
status_update_date_time: '2025-03-07T11:42:58.913517Z'
expiration_date_time: '2026-03-07T11:42:58.631Z'
transaction_from_date_time: null
transaction_to_date_time: null
accounts:
- scheme_name: IBAN
identification: SA5345LVG2X0SI98L2TYOATQ
name: Buford Torp CURRENT Account
secondary_identification: null
- scheme_name: NATIONAL_ID
identification: '1372602407'
name: null
secondary_identification: null
status: ACTIVE
updated_at: '2025-03-07T11:43:16.269566Z'
- id: 1306c67a-2422-4185-a895-cce5a0a8d2fc
customer_id: 57aa2a53-a827-4a2f-b3be-86ddcf3aa4bc
bank_identifier: LEA1_SAMAOB_SAU
permissions:
identity: true
accounts: true
balance: true
transactions: true
identities: true
scheduled_payments: true
standing_orders: true
direct_debits: true
beneficiaries: true
bank_type: RETAIL
created_at: '2025-02-27T05:24:43.237577Z'
consents:
- id: 21d8cbfb-c886-4b1e-b04a-4f3b35ee492f
bank_consent_id: '79891'
bank_identifier: null
consent_type: null
consent_status: ACTIVE
standard_consent_status: null
permissions:
identity: true
accounts: true
balance: true
transactions: true
identities: true
scheduled_payments: true
standing_orders: true
direct_debits: true
beneficiaries: true
creation_date_time: '2025-02-27T05:24:18.485641Z'
status_update_date_time: '2025-02-27T05:24:18.485641Z'
expiration_date_time: '2026-02-27T05:24:18.183Z'
transaction_from_date_time: null
transaction_to_date_time: null
accounts:
- scheme_name: IBAN
identification: SA5345LVG2X0SI98L2TYOATQ
name: Buford Torp CURRENT Account
secondary_identification: null
- scheme_name: NATIONAL_ID
identification: '1372602407'
name: null
secondary_identification: null
status: ACTIVE
updated_at: '2025-02-27T05:24:43.237577Z'
page:
number: 0
size: 100
total_elements: 3
total_pages: 1
headers: {}
security:
- bearer: []
/customers/v1/{customer_id}/entities:
get:
summary: Get Entities
deprecated: false
description: ''
operationId: getEntities
tags:
- Entities
parameters:
- name: customer_id
in: path
description: ''
required: true
example: beb7697d-d0f2-4ec7-b169-af3700822235
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EntityResponse'
headers: {}
security:
- bearer: []
/customers/v1/{customer_id}/entities/{entity_id}:
get:
summary: Get Entity by ID
deprecated: false
description: ''
operationId: getEntityById
tags:
- Entities
parameters:
- name: customer_id
in: path
description: ''
required: true
example: beb7697d-d0f2-4ec7-b169-af3700822235
schema:
type: string
- name: entity_id
in: path
description: ''
required: true
example: 9aeb067a-9c1a-3631-a6f3-e912c6f4354b
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EntityResponse'
headers: {}
security:
- bearer: []
delete:
summary: Delete Entity
deprecated: false
description: Marks the entity as deleted and revokes all permissions. It can be recreated later by intiating a new `.connect()` flow from the `LinkSDK`
operationId: deleteEntity
tags:
- Entities
parameters:
- name: customer_id
in: path
description: ''
required: true
example: ''
schema:
type: string
- name: entity_id
in: path
description: ''
required: true
example: ''
schema:
type: string
- name: reason
in: query
description: ''
required: true
schema:
enum:
- USER_REQUESTED
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EntityDeleteRequest'
example:
reason: USER_REQUESTED
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties: {}
headers: {}
security:
- bearer: []
/customers/v1/{customer_id}/entities/{entity_id}/consent/{consent_id}:
delete:
summary: Delete Consent
deprecated: false
description: Revokes a consent
operationId: deleteConsent
tags:
- Entities
parameters:
- name: customer_id
in: path
description: ''
required: true
example: ''
schema:
type: string
- name: entity_id
in: path
description: ''
required: true
example: ''
schema:
type: string
- name: consent_id
in: path
description: ''
required: true
example: ''
schema:
type: string
- name: reason
in: query
description: ''
required: true
schema:
enum:
- USER_REQUESTED
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties: {}
headers: {}
security:
- bearer: []
components:
schemas:
EntityDeleteRequest:
title: EntityDeleteRequest
description: ''
required:
- reason
type: object
properties:
reason:
description: Please always pass in the value `USER_REQUESTED`.
type: string
examples:
- USER_REQUESTED
examples:
- reason: USER_REQUESTED
Page:
type: object
properties:
number:
format: int32
description: The page number of the current response.
type: integer
size:
format: int32
description: The number of objects in the response.
type: integer
total_elements:
format: int32
description: The total number of objects available.
type: integer
total_pages:
format: int32
description: The total number of pages to consume all of the elements.
type: integer
ListEntityResponse:
title: ''
description: ''
type: object
properties:
id:
description: The unique entity identifier
type: string
customer_id:
description: The Customer object that owns the entity
type: string
bank_identifier:
description: The identifier signifies which bank the user's entity is linked with.
type: string
permissions:
$ref: '#/components/schemas/Permissions'
description: Indicates which permissions have been granted by the user, this corresponds with the Data API calls you can make using the entity.
bank_type:
description: The bank type of the connected entity
enum:
- RETAIL
type: string
created_at:
type: string
format: date-time
description: When the entity was created
consents:
description: Record of all historical consents. Note that only 1 consent can be ACTIVE at the same time
type: array
items:
$ref: '#/components/schemas/EntityConsent'
status:
type: string
description: Entity status
updated_at:
type: string
description: When the entity was last updated
EntityResponse:
title: EntityResponse
description: ''
type: object
properties:
id:
description: The unique entity identifier
type: string
customer_id:
description: The Customer object that owns the entity
type: string
bank_identifier:
description: The identifier signifies which bank the user's entity is linked with.
type: string
permissions:
$ref: '#/components/schemas/Permissions'
description: Indicates which permissions have been granted by the user, this corresponds with the Data API calls you can make using the entity.
bank_type:
description: The bank type of the connected entity
enum:
- RETAIL
type: string
created_at:
type: string
format: date-time
description: When the entity was created
consents:
description: Record of all historical consents. Note that only 1 consent can be ACTIVE at the same time
type: array
items:
$ref: '#/components/schemas/EntityConsent'
Permissions:
title: PermissionsObject
description: ''
type: object
properties:
identity:
description: Indicates access to read identity data
type: boolean
accounts:
description: Indicates access to read accounts data
type: boolean
balance:
description: Indicates access to read balance data
type: boolean
transactions:
description: Indicates access to read transactions data
type: boolean
identities:
description: Indicates access to read identities data. Only relevant in KSA.
type: boolean
scheduled_payments:
description: Indicates access to read scheduled payments data. Only relevant in KSA.
type: boolean
standing_orders:
description: Indicates access to read standing orders data. Only relevant in KSA.
type: boolean
direct_debits:
description: Indicates access to read direct debits data. Only relevant in KSA.
type: boolean
beneficiaries:
description: Indicates access to read beneficiares data. Only relevant in KSA.
type: boolean
examples:
- identity: true
accounts: true
balance: true
transactions: true
identities: true
scheduled_payments: true
standing_orders: true
direct_debits: true
beneficiaries: true
AccountIdentifierWithSecondarySau:
type: object
properties:
identification_type:
description: 'Indicates the type of identification being provided.
| Value | Description |
|-|-|
| IBAN | The `identification` field is returning the IBAN for the account. |
| MASKED_PAN | The `identification` field is returning a masked Primary Account Number (PAN) for a card attached to the account. |'
enum:
- IBAN
- MASKED_PAN
type: string
scheme_name:
type: string
identification:
description: Returns a value based on the `identification_type`.
type: string
name:
description: 'The account name is the name or names of the account owner(s) represented at an account level. Note: The account name is not the product name or the nickname of the account.'
type: string
secondary_identification:
description: Additional form of identification for the account
type: string
EntityConsent:
type: object
properties:
id:
description: Lean internal id for the consent.
type: string
bank_consent_id:
description: Id provided by the bank for the consent.
type: string
bank_identifier:
type: string
description: Code which identifies the connected bank
consent_type:
type: string
description: The type of consent granted by the customer. Account access or multi payments
consent_status:
description: Status of the consent.
enum:
- ACTIVE
- REVOKED
- REJECTED
type: string
standard_consent_status:
type: string
description: Status of the consent, returning either REVOKED, EXPIRED or AUTHORISED
creation_date_time:
format: date-time
description: When the consent was created.
type: string
status_update_date_time:
format: date-time
description: Last update for the consent.
type: string
expiration_date_time:
format: date-time
description: When the consent is or will no longer be valid.
type: string
transaction_from_date_time:
format: date-time
description: For consents that include a `permission` for `transactions`, the first date of the transactions you can request for.
type: string
transaction_to_date_time:
format: date-time
description: For consents that include a `permission` for `transactions`, the last date of the transactions you can request for.
type: string
permissions:
$ref: '#/components/schemas/Permissions'
description: List of permissions for this consent.
accounts:
description: Accounts the end user has consented to share.
type: array
items:
$ref: '#/components/schemas/AccountIdentifierWithSecondarySau'
securitySchemes:
bearer:
type: http
scheme: bearer