GLEIF LEI Records API

Operations on Legal Entity Identifier records

OpenAPI Specification

gleif-lei-records-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: GLEIF LEI Corporate Relationships LEI Records API
  description: 'The GLEIF LEI API provides programmatic access to the Global Legal Entity Identifier (LEI) System''s full data pool. It enables searches by entity name, LEI code, BIC code, ISIN code, and corporate relationship structures. The API is free, open, and requires no authentication or API key. It is built on the GLEIF Golden Copy dataset which is updated three times daily.

    '
  version: 1.0.0
  contact:
    name: GLEIF
    url: https://www.gleif.org
  license:
    name: Creative Commons Zero (CC0)
    url: https://creativecommons.org/publicdomain/zero/1.0/
servers:
- url: https://api.gleif.org/api/v1
  description: GLEIF Production API
tags:
- name: LEI Records
  description: Operations on Legal Entity Identifier records
paths:
  /lei-records:
    get:
      summary: List or search LEI records
      description: 'Returns a paginated list of LEI records. Supports full-text search, field-specific filters, and fuzzy matching. The Golden Copy dataset is updated three times daily.

        '
      operationId: listLeiRecords
      tags:
      - LEI Records
      parameters:
      - name: page[number]
        in: query
        description: Page number for pagination (1-indexed)
        schema:
          type: integer
          default: 1
          minimum: 1
      - name: page[size]
        in: query
        description: Number of results per page
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 200
      - name: filter[fulltext]
        in: query
        description: Full-text search across all fields
        schema:
          type: string
      - name: filter[entity.legalName]
        in: query
        description: Filter by legal name of the entity
        schema:
          type: string
      - name: filter[entity.status]
        in: query
        description: Filter by entity status
        schema:
          type: string
          enum:
          - ACTIVE
          - INACTIVE
          - ANNULLED
          - DUPLICATE
          - LAPSED
          - MERGED
          - RETIRED
          - DISSOLVED
          - BRANCH
          - FUND
          - SUBFUND
          - SOLE_PROPRIETOR
      - name: filter[registration.status]
        in: query
        description: Filter by LEI registration status
        schema:
          type: string
          enum:
          - ISSUED
          - LAPSED
          - MERGED
          - RETIRED
          - DUPLICATE
          - ANNULLED
          - CANCELLED
          - TRANSFERRED
          - PENDING_TRANSFER
          - PENDING_ARCHIVAL
      - name: filter[entity.jurisdiction]
        in: query
        description: Filter by jurisdiction (ISO 3166-1 alpha-2 or ISO 3166-2 region code)
        schema:
          type: string
      - name: filter[entity.legalForm.id]
        in: query
        description: Filter by legal form ELF code
        schema:
          type: string
      - name: filter[registration.managingLou]
        in: query
        description: Filter by managing LEI Issuer (LOU) LEI code
        schema:
          type: string
      - name: sort
        in: query
        description: Field to sort by (prefix with - for descending order)
        schema:
          type: string
      responses:
        '200':
          description: Successful response with paginated LEI records
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/LeiRecordListResponse'
        '400':
          description: Bad request - invalid filter or parameter
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /lei-records/{lei}:
    get:
      summary: Get a single LEI record
      description: Returns a single LEI record by its 20-character LEI code.
      operationId: getLeiRecord
      tags:
      - LEI Records
      parameters:
      - name: lei
        in: path
        required: true
        description: The 20-character Legal Entity Identifier code
        schema:
          type: string
          pattern: ^[A-Z0-9]{18}[0-9]{2}$
          example: 636700STJZG4U8W2I596
      responses:
        '200':
          description: Successful response with a single LEI record
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/LeiRecordSingleResponse'
        '404':
          description: LEI record not found
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /lei-records/{lei}/direct-children:
    get:
      summary: Get direct children of a legal entity
      description: Returns LEI records of entities that are directly owned/controlled by the specified entity.
      operationId: getLeiRecordDirectChildren
      tags:
      - LEI Records
      parameters:
      - name: lei
        in: path
        required: true
        description: The 20-character Legal Entity Identifier code
        schema:
          type: string
          pattern: ^[A-Z0-9]{18}[0-9]{2}$
      - name: page[number]
        in: query
        schema:
          type: integer
          default: 1
      - name: page[size]
        in: query
        schema:
          type: integer
          default: 10
          maximum: 200
      responses:
        '200':
          description: Paginated list of child LEI records
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/LeiRecordListResponse'
        '404':
          description: LEI record not found
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /lei-records/{lei}/ultimate-children:
    get:
      summary: Get ultimate children of a legal entity
      description: Returns all ultimate children (full subsidiary tree) of the specified entity.
      operationId: getLeiRecordUltimateChildren
      tags:
      - LEI Records
      parameters:
      - name: lei
        in: path
        required: true
        description: The 20-character Legal Entity Identifier code
        schema:
          type: string
          pattern: ^[A-Z0-9]{18}[0-9]{2}$
      - name: page[number]
        in: query
        schema:
          type: integer
          default: 1
      - name: page[size]
        in: query
        schema:
          type: integer
          default: 10
          maximum: 200
      responses:
        '200':
          description: Paginated list of ultimate child LEI records
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/LeiRecordListResponse'
        '404':
          description: LEI record not found
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /lei-records/{lei}/managing-lou:
    get:
      summary: Get the managing LEI Issuer for a record
      description: Returns the LEI Issuer (LOU) responsible for managing this LEI record.
      operationId: getLeiRecordManagingLou
      tags:
      - LEI Records
      parameters:
      - name: lei
        in: path
        required: true
        description: The 20-character Legal Entity Identifier code
        schema:
          type: string
          pattern: ^[A-Z0-9]{18}[0-9]{2}$
      responses:
        '200':
          description: The managing LEI Issuer record
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/LeiIssuerSingleResponse'
        '404':
          description: LEI record not found
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /lei-records/{lei}/lei-issuer:
    get:
      summary: Get the LEI Issuer for a record
      description: Returns the LEI Issuer (LOU) that issued this LEI record.
      operationId: getLeiRecordLeiIssuer
      tags:
      - LEI Records
      parameters:
      - name: lei
        in: path
        required: true
        description: The 20-character Legal Entity Identifier code
        schema:
          type: string
          pattern: ^[A-Z0-9]{18}[0-9]{2}$
      responses:
        '200':
          description: The LEI Issuer record
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/LeiIssuerSingleResponse'
        '404':
          description: LEI record not found
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /lei-records/{lei}/field-modifications:
    get:
      summary: Get field modification history for a LEI record
      description: Returns the history of field-level modifications for the specified LEI record.
      operationId: getLeiRecordFieldModifications
      tags:
      - LEI Records
      parameters:
      - name: lei
        in: path
        required: true
        description: The 20-character Legal Entity Identifier code
        schema:
          type: string
          pattern: ^[A-Z0-9]{18}[0-9]{2}$
      - name: page[number]
        in: query
        schema:
          type: integer
          default: 1
      - name: page[size]
        in: query
        schema:
          type: integer
          default: 10
          maximum: 200
      responses:
        '200':
          description: List of field modifications
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
                  links:
                    $ref: '#/components/schemas/PaginationLinks'
                  data:
                    type: array
                    items:
                      type: object
        '404':
          description: LEI record not found
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    LegalName:
      type: object
      properties:
        name:
          type: string
          description: The legal name of the entity
          example: Kommstart 174 AB (publ)
        language:
          type: string
          description: ISO 639-1 language code
          example: sv
    Registration:
      type: object
      properties:
        initialRegistrationDate:
          type: string
          format: date-time
        lastUpdateDate:
          type: string
          format: date-time
        status:
          type: string
          enum:
          - ISSUED
          - LAPSED
          - MERGED
          - RETIRED
          - DUPLICATE
          - ANNULLED
          - CANCELLED
          - TRANSFERRED
          - PENDING_TRANSFER
          - PENDING_ARCHIVAL
        nextRenewalDate:
          type: string
          format: date-time
        managingLou:
          type: string
          description: LEI of the managing LEI Issuer
          example: 549300O897ZC5H7CY412
        corroborationLevel:
          type: string
          enum:
          - FULLY_CORROBORATED
          - PARTIALLY_CORROBORATED
          - PENDING
          - ENTITY_SUPPLIED_ONLY
          - null
        validatedAt:
          type: object
          properties:
            id:
              type: string
            other:
              type: string
              nullable: true
        validatedAs:
          type: string
          nullable: true
        otherValidationAuthorities:
          type: array
          items:
            type: object
    LeiRecordListResponse:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/PaginationMeta'
        links:
          $ref: '#/components/schemas/PaginationLinks'
        data:
          type: array
          items:
            $ref: '#/components/schemas/LeiRecord'
    LeiRecordRelationships:
      type: object
      properties:
        managing-lou:
          type: object
          properties:
            links:
              type: object
              properties:
                related:
                  type: string
                  format: uri
        lei-issuer:
          type: object
          properties:
            links:
              type: object
              properties:
                related:
                  type: string
                  format: uri
        field-modifications:
          type: object
          properties:
            links:
              type: object
              properties:
                related:
                  type: string
                  format: uri
    LeiRecordSingleResponse:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/GoldenCopyMeta'
        data:
          $ref: '#/components/schemas/LeiRecord'
    LeiIssuerSingleResponse:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/GoldenCopyMeta'
        data:
          $ref: '#/components/schemas/LeiIssuer'
    LeiIssuer:
      type: object
      properties:
        type:
          type: string
          example: lei-issuers
        id:
          type: string
          description: LEI code of the issuer
          example: 029200067A7K6CH0H586
        attributes:
          type: object
          properties:
            lei:
              type: string
              example: 029200067A7K6CH0H586
            name:
              type: string
              example: Central Securities Clearing System PLC
            marketingName:
              type: string
              nullable: true
            website:
              type: string
              format: uri
              nullable: true
            accreditationDate:
              type: string
              format: date-time
        relationships:
          type: object
          properties:
            jurisdictions:
              type: object
              properties:
                links:
                  type: object
                  properties:
                    related:
                      type: string
                      format: uri
            fundJurisdictions:
              type: object
              properties:
                links:
                  type: object
                  properties:
                    related:
                      type: string
                      format: uri
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
    PaginationMeta:
      type: object
      properties:
        goldenCopy:
          type: object
          properties:
            publishDate:
              type: string
              format: date-time
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    ErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              status:
                type: string
                description: HTTP status code as string
              title:
                type: string
                description: Short error title
              detail:
                type: string
                description: Detailed error description
    PaginationLinks:
      type: object
      properties:
        first:
          type: string
          format: uri
        next:
          type: string
          format: uri
        last:
          type: string
          format: uri
    GoldenCopyMeta:
      type: object
      properties:
        goldenCopy:
          type: object
          properties:
            publishDate:
              type: string
              format: date-time
              description: Timestamp of the last Golden Copy publication
              example: '2026-06-12T08:00:00Z'
    Entity:
      type: object
      properties:
        legalName:
          $ref: '#/components/schemas/LegalName'
        otherNames:
          type: array
          items:
            $ref: '#/components/schemas/LegalName'
        transliteratedOtherNames:
          type: array
          items:
            $ref: '#/components/schemas/LegalName'
        legalAddress:
          $ref: '#/components/schemas/Address'
        headquartersAddress:
          $ref: '#/components/schemas/Address'
        registeredAt:
          type: object
          properties:
            id:
              type: string
              description: Registration authority code
              example: RA000544
            other:
              type: string
              nullable: true
        registeredAs:
          type: string
          nullable: true
          description: The identifier assigned by the registration authority
        jurisdiction:
          type: string
          description: ISO 3166-1 alpha-2 or ISO 3166-2 code
          example: SE
        category:
          type: string
          nullable: true
          enum:
          - GENERAL
          - FUND
          - SUBFUND
          - BRANCH
          - SOLE_PROPRIETOR
          - null
        legalForm:
          type: object
          properties:
            id:
              type: string
              description: ELF code
            other:
              type: string
              nullable: true
        associatedEntity:
          type: object
          properties:
            lei:
              type: string
              nullable: true
            name:
              type: string
              nullable: true
        status:
          type: string
          enum:
          - ACTIVE
          - INACTIVE
          - ANNULLED
          - DUPLICATE
          - LAPSED
          - MERGED
          - RETIRED
          - DISSOLVED
          - BRANCH
          - FUND
          - SUBFUND
          - SOLE_PROPRIETOR
        expiration:
          type: object
          properties:
            date:
              type: string
              format: date-time
              nullable: true
            reason:
              type: string
              nullable: true
              enum:
              - DISSOLVED
              - CORPORATE_ACTION
              - null
        successorEntity:
          type: object
          properties:
            lei:
              type: string
              nullable: true
            name:
              type: string
              nullable: true
        successorEntities:
          type: array
          items:
            type: object
        creationDate:
          type: string
          format: date-time
          nullable: true
        subCategory:
          type: string
          nullable: true
        otherAddresses:
          type: array
          items:
            type: object
        eventGroups:
          type: array
          items:
            type: object
    PaginationInfo:
      type: object
      properties:
        currentPage:
          type: integer
          example: 1
        perPage:
          type: integer
          example: 10
        from:
          type: integer
          example: 1
        to:
          type: integer
          example: 10
        total:
          type: integer
          example: 3338758
        lastPage:
          type: integer
          example: 333876
    LeiRecordAttributes:
      type: object
      properties:
        lei:
          type: string
          description: The 20-character LEI code
          pattern: ^[A-Z0-9]{18}[0-9]{2}$
          example: 636700STJZG4U8W2I596
        entity:
          $ref: '#/components/schemas/Entity'
        registration:
          $ref: '#/components/schemas/Registration'
        bic:
          type: string
          nullable: true
          description: Business Identifier Code (BIC/SWIFT)
        mic:
          type: string
          nullable: true
          description: Market Identifier Code (MIC)
        ocid:
          type: string
          nullable: true
          description: Open Corporates ID
        qcc:
          type: string
          nullable: true
        spglobal:
          type: string
          nullable: true
          description: S&P Global identifier
        conformityFlag:
          type: string
          nullable: true
    LeiRecord:
      type: object
      properties:
        type:
          type: string
          example: lei-records
        id:
          type: string
          description: The 20-character LEI code
          example: 636700STJZG4U8W2I596
        attributes:
          $ref: '#/components/schemas/LeiRecordAttributes'
        relationships:
          $ref: '#/components/schemas/LeiRecordRelationships'
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
    Address:
      type: object
      properties:
        language:
          type: string
          description: ISO 639-1 language code
          example: en
        addressLines:
          type: array
          items:
            type: string
        addressNumber:
          type: string
          nullable: true
        addressNumberWithinBuilding:
          type: string
          nullable: true
        mailRouting:
          type: string
          nullable: true
        city:
          type: string
        region:
          type: string
          nullable: true
          description: ISO 3166-2 region code
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code
        postalCode:
          type: string
          nullable: true