Lean Technologies Entities API

The Entities API from Lean Technologies — 4 operation(s) for entities.

Operations 5

GET /customers/v1/entities List Entities #
GET /customers/v1/{customer_id}/entities Get Entities #
GET /customers/v1/{customer_id}/entities/{entity_id} Get Entity by ID #
DELETE /customers/v1/{customer_id}/entities/{entity_id} Delete Entity #
DELETE /customers/v1/{customer_id}/entities/{entity_id}/consent/{consent_id} Delete Consent #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lean-technologies-entities-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

lean-technologies-entities-api-openapi.yml Raw ↑
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