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