GLEIF Corporate Relationships API

Corporate ownership and relationship hierarchy data

OpenAPI Specification

gleif-corporate-relationships-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: GLEIF LEI Corporate Relationships 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: Corporate Relationships
  description: Corporate ownership and relationship hierarchy data
paths:
  /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:
      - Corporate Relationships
      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:
      - Corporate Relationships
      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'
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
    LeiRecordListResponse:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/PaginationMeta'
        links:
          $ref: '#/components/schemas/PaginationLinks'
        data:
          type: array
          items:
            $ref: '#/components/schemas/LeiRecord'
    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
    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
    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
    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