Lean Technologies Entities API

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

Operations 5

GET /customers/v1/{customer_id}/entities Get Entities for Customer #
GET /customers/v1/{customer_id}/entities/{entity_id} Get Entity by ID #
DELETE /customers/v1/{customer_id}/entities/{entity_id} Delete Entity #
GET /customers/v1/entities Retrieve all entities for a given time range #
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 email required.

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: Lean Technologies Entities API
  version: '1.0'
  description: 'Operations tagged Entities across 5 of this provider''s published API definitions: lean-technologies-bank-data-openapi.yml, lean-technologies-customers-openapi.yml, lean-technologies-entities-openapi.yml, lean-technologies-ksa-bank-data-openapi.yml, lean-technologies-ksa-customers-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://sandbox.leantech.me
  description: Sandbox
- url: https://api2.leantech.me
  description: Production / Pre-live
- url: https://sandbox.sa.leantech.me
  description: Sandbox
- url: https://api2.sa.leantech.me
  description: Production / Pre-Live
tags:
- name: Entities
paths:
  /customers/v1/{customer_id}/entities:
    get:
      summary: Get Entities for Customer
      deprecated: false
      description: 'An Entity is generated whenever a Customer connects a new bank using the `.connect()` method in the LinkSDK with _any_ data related permissions. '
      operationId: getCustomerEntities
      tags:
      - Entities
      parameters:
      - name: customer_id
        in: path
        description: ''
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Entity'
              example:
              - id: efbad0dd-641a-ef83-ef7e-c90ca172759b
                customer_id: 6bf8f7ae-e0f5-dae4-9519-de82fbc9ee42
                bank_identifier: MOCK_UAE
                permissions:
                  identity: true
                  accounts: true
                  balance: true
                  transactions: false
                bank_type: RETAIL
              - id: 51161c8b-a6c3-6d35-5c89-fa4e03f87390
                customer_id: 8c7af590-ac88-f41b-8b59-067ab3a12349
                bank_identifier: MOCK_UAE
                permissions:
                  identity: false
                  accounts: false
                  balance: true
                  transactions: true
                bank_type: CORPORATE
          headers: {}
      security:
      - bearer: []
    servers:
    - url: https://sandbox.leantech.me
      description: Sandbox
    - url: https://api2.leantech.me
      description: Production / Pre-live
  /customers/v1/{customer_id}/entities/{entity_id}:
    get:
      summary: Get Entity by ID
      deprecated: false
      description: 'Returns a single Entity.


        An Entity is generated whenever a Customer connects a new bank using the `.connect()` method in the LinkSDK with _any_ data related permissions. '
      operationId: getEntityById
      tags:
      - Entities
      parameters:
      - name: customer_id
        in: path
        description: ''
        required: true
        schema:
          type: string
      - name: entity_id
        in: path
        description: ''
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
              example:
                id: 8d56a41f-7045-7312-a620-abe78414a143
                customer_id: 3c70d3ed-d761-f231-5fd1-2bdeef42e46e
                bank_identifier: MOCK_UAE
                permissions:
                  identity: true
                  accounts: true
                  balance: false
                  transactions: true
                bank_type: RETAIL
          headers: {}
      security:
      - bearer: []
    delete:
      summary: Delete Entity
      deprecated: false
      description: Marks the entity as deleted. 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
        schema:
          type: string
      - name: entity_id
        in: path
        description: ''
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                reason:
                  type: string
                  enum:
                  - USER_REQUESTED
                  description: Please always pass in the value USER_REQUESTED.
              required:
              - reason
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
          headers: {}
      security:
      - bearer: []
    servers:
    - url: https://sandbox.leantech.me
      description: Sandbox
    - url: https://api2.leantech.me
      description: Production / Pre-live
  /customers/v1/entities:
    get:
      operationId: listEntities
      summary: Retrieve all entities for a given time range
      description: 'Retrieves a list of entities created for a specific application within the provided time range.

        The entities are paginated, and the query parameters allow filtering by start and end dates.

        '
      tags:
      - Entities
      parameters:
      - $ref: '#/components/parameters/PageNumberParameter'
      - $ref: '#/components/parameters/PageSizeParameter'
      - name: start_date
        description: The start date must be in the past or present.
        in: query
        required: true
        x-field-extra-annotation: '@jakarta.validation.constraints.PastOrPresent'
        schema:
          type: string
          format: date
          example: '2025-03-01'
      - name: end_date
        description: The end date must be after the start date and in the past or present.
        in: query
        required: true
        x-field-extra-annotation: '@jakarta.validation.constraints.PastOrPresent'
        schema:
          type: string
          format: date
          example: '2025-03-31'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityListResponse'
              examples:
                '1':
                  summary: Success
                  value:
                    data:
                    - id: efbad0dd-641a-ef83-ef7e-c90ca172759b
                      customer_id: 6bf8f7ae-e0f5-dae4-9519-de82fbc9ee42
                      bank_identifier: MOCK_UAE
                      permissions:
                        identity: true
                        accounts: true
                        balance: true
                        transactions: false
                        identities: false
                        scheduled_payments: false
                        standing_orders: false
                        direct_debits: false
                        beneficiaries: false
                      bank_type: RETAIL
                      status: ACTIVE
                      created_at: '2025-02-25 11:40:31.981'
                      updated_at: '2025-02-27 11:40:31.981'
                      consents: []
                    - id: 51161c8b-a6c3-6d35-5c89-fa4e03f87390
                      customer_id: 8c7af590-ac88-f41b-8b59-067ab3a12349
                      bank_identifier: MOCK_UAE
                      permissions:
                        identity: false
                        accounts: false
                        balance: true
                        transactions: true
                        identities: false
                        scheduled_payments: false
                        standing_orders: false
                        direct_debits: false
                        beneficiaries: false
                      bank_type: SME
                      status: ACTIVE
                      created_at: '2025-02-25 11:40:31.981'
                      updated_at: '2025-02-28 11:40:31.981'
                      consents: []
                    page:
                      number: 0
                      size: 2
                      total_elements: 2
                      total_pages: 1
    servers:
    - url: https://sandbox.leantech.me
      description: Sandbox
    - url: https://api2.leantech.me
      description: Production
  /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: []
    servers:
    - url: https://sandbox.sa.leantech.me
      description: Sandbox
    - url: https://api2.sa.leantech.me
      description: Production / Pre-Live
components:
  schemas:
    Entity:
      type: object
      properties:
        id:
          type: string
          description: The `entity_id`
          format: uuid
        customer_id:
          type: string
          description: Identifies which Customer owns the connection
          format: uuid
        bank_identifier:
          type: string
          description: Identifies the bank which has been connected
        permissions:
          type: object
          properties:
            identity:
              type: boolean
              description: Indicates access to read identity data
            accounts:
              type: boolean
              description: Indicates access to read accounts data
            balance:
              type: boolean
              description: Indicates access to read balance data
            transactions:
              type: boolean
              description: Indicates access to read transactions data
          required:
          - identity
          - accounts
          - balance
          - transactions
          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:
          type: string
          enum:
          - RETAIL
          - CORPORATE
          description: 'Specifies whether the Entity is a Retail or Corporate owned account. '
      required:
      - id
      - customer_id
      - bank_identifier
      - permissions
      - bank_type
    EntityListResponse:
      type: object
      required:
      - data
      - page
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/EntityResponse'
        page:
          $ref: '#/components/schemas/PageMetadata'
    PageMetadata:
      required:
      - number
      - size
      - total_elements
      - total_pages
      type: object
      description: Metadata about the current page of results
      properties:
        number:
          type: integer
          format: int32
          description: The current page being returned by the API
        size:
          type: integer
          format: int32
          description: The page size requested
        total_elements:
          type: integer
          format: int64
          description: The total number of elements in all pages
        total_pages:
          type: integer
          format: int32
          description: The total number of pages retrievable
        sort:
          type: array
          items:
            type: string
          description: Sort parameters applied to the results
    EntityResponse:
      allOf:
      - $ref: '#/components/schemas/Entity_2'
      - type: object
        required:
        - status
        - updated_at
        properties:
          status:
            type: string
            enum:
            - ACTIVE
            - DELETED
            - DISABLED
            - REMOVED
          updated_at:
            type: string
            format: date-time
    Entity_2:
      type: object
      required:
      - id
      - customer_id
      - bank_identifier
      - permissions
      - bank_type
      - created_at
      - consents
      properties:
        id:
          type: string
          description: The `entity_id`
          format: uuid
        customer_id:
          type: string
          description: Identifies which Customer owns the connection
          format: uuid
        bank_identifier:
          type: string
          description: Identifies the bank which has been connected
        permissions:
          $ref: '#/components/schemas/Permissions'
        bank_type:
          type: string
          enum:
          - RETAIL
          - SME
          description: 'Specifies whether the Entity is a Retail or Corporate owned account. '
        created_at:
          type: string
          format: date-time
          description: When the entity was created
        consents:
          x-field-extra-annotation: '@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_EMPTY)'
          type: array
          items:
            $ref: '#/components/schemas/EntityConsent'
    ConsentTypeEnum:
      description: Type of the consent.
      type: string
      enum:
      - ACCOUNT_ACCESS
      - MULTI_PAYMENTS
    Permissions:
      type: object
      required:
      - identity
      - accounts
      - balance
      - transactions
      - identities
      - scheduled_payments
      - standing_orders
      - direct_debits
      - beneficiaries
      properties:
        identity:
          type: boolean
          description: Indicates access to read identity data
        accounts:
          type: boolean
          description: Indicates access to read accounts data
        balance:
          type: boolean
          description: Indicates access to read balance data
        transactions:
          type: boolean
          description: Indicates access to read transactions data
        identities:
          type: boolean
          description: Indicates access to read identities data
        scheduled_payments:
          type: boolean
          description: Indicates access to read scheduled payments data
        standing_orders:
          type: boolean
          description: Indicates access to read standing orders data
        direct_debits:
          type: boolean
          description: Indicates access to read direct debits data
        beneficiaries:
          type: boolean
          description: Indicates access to read beneficiaries data
      description: Indicates which permissions have been granted by the user, this corresponds with the Data API calls you can make using the entity.
    DataAccountIdentifier:
      type: object
      required:
      - scheme_name
      - identification
      properties:
        scheme_name:
          x-lean-docs-discrepancy: identification_type enum
          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. |'
          type: string
        identification:
          x-field-extra-annotation: '@lombok.ToString.Exclude'
          type: string
          description: The account identification value
        name:
          x-field-extra-annotation: '@lombok.ToString.Exclude'
          type:
          - string
          - 'null'
          description: The name associated with the account
        secondary_identification:
          x-field-extra-annotation: '@lombok.ToString.Exclude'
          type:
          - string
          - 'null'
          description: Secondary identification for the account
    EntityConsent:
      type: object
      required:
      - id
      properties:
        id:
          description: Lean internal id for the consent.
          type: string
          format: uuid
        bank_consent_id:
          description: Id provided by the bank for the consent.
          type: string
        bank_identifier:
          type: string
          description: Identifies the bank which has been connected
        consent_type:
          $ref: '#/components/schemas/ConsentTypeEnum'
        consent_status:
          $ref: '#/components/schemas/ConsentStatusEnum'
        standard_consent_status:
          $ref: '#/components/schemas/StandardConsentStatusEnum'
        permissions:
          $ref: '#/components/schemas/Permissions'
        creation_date_time:
          description: When the consent was created.
          type: string
          format: date-time
        status_update_date_time:
          description: Last update for the consent.
          type:
          - string
          - 'null'
          format: date-time
        expiration_date_time:
          description: When the consent is or will no longer be valid.
          type:
          - string
          - 'null'
          format: date-time
        transaction_from_date_time:
          description: For consents that include a `permission` for `transactions`, the first date of the transactions you can request for.
          type:
          - string
          - 'null'
          format: date-time
        transaction_to_date_time:
          description: For consents that include a `permission` for `transactions`, the last date of the transactions you can request for.
          type:
          - string
          - 'null'
          format: date-time
        accounts:
          description: Accounts the end user has consented to share.
          type: array
          items:
            $ref: '#/components/schemas/DataAccountIdentifier'
    StandardConsentStatusEnum:
      description: Standard Status of the consent.
      type: string
      enum:
      - AUTHORISED
      - REVOKED
      - REJECTED
      - EXPIRED
      - CONSUMED
      - SUSPENDED
    ConsentStatusEnum:
      description: Status of the consent.
      type: string
      enum:
      - ACTIVE
      - REVOKED
      - REJECTED
    EntityResponse_2:
      allOf:
      - $ref: '#/components/schemas/Entity_3'
      - type: object
        required:
        - status
        - updated_at
        properties:
          status:
            type: string
            enum:
            - ACTIVE
            - DELETED
            - DISABLED
            - REMOVED
          updated_at:
            type: string
            format: date-time
    Entity_3:
      type: object
      properties:
        id:
          description: The `entity_id`
          type: string
          format: uuid
        customer_id:
          description: Identifies which Customer owns the connection
          type: string
          format: uuid
        bank_identifier:
          description: Identifies the bank which has been connected
          type: string
        permissions:
          $ref: '#/components/schemas/Permissions'
        bank_type:
          description: 'Specifies whether the Entity is a Retail or Corporate owned account. '
          type: string
          enum:
          - RETAIL
          - SME
        created_at:
          description: When the entity was created
          type: string
          format: date-time
        consents:
          type: array
          items:
            $ref: '#/components/schemas/EntityConsent'
          x-field-extra-annotation: '@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_EMPTY)'
      required:
      - id
      - customer_id
      - bank_identifier
      - permissions
      - bank_type
      - created_at
      - consents
    EntityResponse_3:
      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_2'
          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_2'
    Permissions_2:
      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
    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_2'
          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_2'
        status:
          type: string
          description: Entity status
        updated_at:
          type: string
          description: When the entity was last updated
    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
    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
    EntityConsent_2:
      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_2'
          description: List of permissions for this consent.
        accounts:
          description: Accounts the end user has consented to share.
          type: array
          items:
            $ref: '#/components/schemas/AccountIdentifierWithSecondarySau'
    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
    EntityResponse_4:
      allOf:
      - $ref: '#/components/schemas/Entity_4'
      - type: object
        required:
        - status
        - updated_at
        properties:
          status:
            type: string
            enum:
            - ACTIVE
            - DELETED
            - DISABLED
            - REMOVED
          updated_at:
            type: string
            format: date-time
    Entity_4:
      type: object
      required:
      - id
      - customer_id
      - bank_identifier
      - permissions
      - bank_type
      - created_at
      - consents
      properties:
        id:
          type: string
          description: The `entity_id`
          format: uuid
        customer_id:
          type: string
          description: Identifies which Customer owns the connection
          format: uuid
        bank_identifier:
          type: string
          description: Identifies the bank which has been connected
        permissions:
          $ref: '#/components/schemas/Permissions'
        bank_type:
          type: string
          enum:
          - RETAIL
          - SME
          description: 'Specifies whether the Entity is a Retail or Corporate owned account. '
        created_at:
          type: string
          format: date-time
          description: When the entity was created
        consents:
          x-field-extra-annotation: '@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_EMPTY)'
          type: array
          items:
            $ref: '#/components/schemas/EntityConsent'
  parameters:
    PageSizeParameter:
      name: page_size
      description: Size of a single page of results to return
      in: query
      required: false
      schema:
        maximum: 100
        minimum: 1
        type: integer
        default: 100
    PageNumberParameter:
      name: page_number
      in: query
      description: Indicator of which page of results to return, starts at 0
      required: false
      schema:
        minimum: 0
        type: integer
        default: 0
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
    bearerAuth:
      type: http
      scheme: bearer
x-refined-from:
- lean-technologies-bank-data-openapi.yml
- lean-technologies-customers-openapi.yml
- lean-technologies-entities-openapi.yml
- lean-technologies-ksa-bank-data-openapi.yml
- lean-technologies-ksa-customers-openapi.yml