---
title: "Parent and child relationship graph for a LEI"
method: GET
path: "/api/v1/gleif/relationships/{lei}"
tags: ["Corporate Registry"]
---

# Parent and child relationship graph for a LEI

`GET /api/v1/gleif/relationships/{lei}`

Return a one-hop ownership graph for an entity - its direct-parent relationship record (with validity periods and corroboration), its ultimate-parent relationship record, and the first page of direct children (subsidiaries). Use `/lei-records/{lei}/direct-parent` or `/lei-records/{lei}/ultimate-parent` when only the parent LEI record itself is needed; this endpoint adds the relationship-layer metadata (validity, corroboration documents) and the child list in one call.

## Path parameters

- `lei` string, required — 20-character LEI of the subject entity whose relationship graph is returned.

## Query parameters

- `children_page_size` integer — Entries per page for the direct-children list (1 to 200).

## Response `200`

Direct and ultimate parent relationship records plus first page of direct children.

- EnvelopeGleifRelationshipsPayload
  - `data` GleifRelationshipsPayload, required — Response payload for `/api/v1/gleif/relationships/{lei}`.
    - `lei` string, required — 20-character LEI of the subject entity whose relationships are returned.
    - `directParentRelationship` GleifRelationshipRecord — Single relationship record resource.
      - `type` string, nullable — JSON:API resource type, always `relationship-records`.
      - `id` string, nullable — Composite relationship identifier (pipe-delimited key).
      - `attributes` GleifRelationshipAttributes — Attributes of a `relationship-records` resource.
        - `validFrom` string, nullable — ISO 8601 timestamp the relationship entered force.
        - `validTo` string, nullable — ISO 8601 timestamp the relationship ended, or null when active.
        - `relationship` GleifRelationship — Consolidation relationship block.
          - `startNode` GleifRelationshipNode — Start or end node of a consolidation relationship.
            - `id` string, nullable — LEI identifier of the node entity.
            - `type` string, nullable — Node type, typically `LEI`.
          - `endNode` GleifRelationshipNode — Start or end node of a consolidation relationship.
            - `id` string, nullable — LEI identifier of the node entity.
            - `type` string, nullable — Node type, typically `LEI`.
          - `type` string, nullable — Relationship type (`IS_DIRECTLY_CONSOLIDATED_BY`, `IS_ULTIMATELY_CONSOLIDATED_BY`, `IS_INTERNATIONAL_BRANCH_OF`).
          - `status` string, nullable — Relationship status (`ACTIVE`, `INACTIVE`).
          - `periods` GleifRelationshipPeriod[], nullable — Validity and accounting periods associated with the relationship.
            - `startDate` string, nullable — ISO 8601 period start.
            - `endDate` string, nullable — ISO 8601 period end, or null when open-ended.
            - `type` string, nullable — Period type (`RELATIONSHIP_PERIOD`, `ACCOUNTING_PERIOD`, `DOCUMENT_FILING_PERIOD`).
        - `registration` GleifRelationshipRegistration — Registration-layer metadata for a relationship record.
          - `initialRegistrationDate` string, nullable — ISO 8601 timestamp the relationship was first registered.
          - `lastUpdateDate` string, nullable — ISO 8601 timestamp of the last update to the relationship record.
          - `status` string, nullable — Registration status (`PUBLISHED`, `DRAFT`, `RETIRED`).
          - `nextRenewalDate` string, nullable — ISO 8601 timestamp the relationship record next requires renewal.
          - `managingLou` string, nullable — LEI of the issuer managing the relationship record.
          - `corroborationLevel` string, nullable — Corroboration level for the relationship.
          - `corroborationDocuments` string, nullable — Document type code used for corroboration.
          - `corroborationReference` string, nullable — Reference string pointing to the corroborating document.
        - `extension` object, nullable — Extension block (includes `deletedAt` when the record has been retired).
      - `relationships` object, nullable — JSON:API cross-links to start-node and end-node LEI records.
    - `ultimateParentRelationship` GleifRelationshipRecord — Single relationship record resource.
      - `type` string, nullable — JSON:API resource type, always `relationship-records`.
      - `id` string, nullable — Composite relationship identifier (pipe-delimited key).
      - `attributes` GleifRelationshipAttributes — Attributes of a `relationship-records` resource.
        - `validFrom` string, nullable — ISO 8601 timestamp the relationship entered force.
        - `validTo` string, nullable — ISO 8601 timestamp the relationship ended, or null when active.
        - `relationship` GleifRelationship — Consolidation relationship block.
          - `startNode` GleifRelationshipNode — Start or end node of a consolidation relationship.
            - `id` string, nullable — LEI identifier of the node entity.
            - `type` string, nullable — Node type, typically `LEI`.
          - `endNode` GleifRelationshipNode — Start or end node of a consolidation relationship.
            - `id` string, nullable — LEI identifier of the node entity.
            - `type` string, nullable — Node type, typically `LEI`.
          - `type` string, nullable — Relationship type (`IS_DIRECTLY_CONSOLIDATED_BY`, `IS_ULTIMATELY_CONSOLIDATED_BY`, `IS_INTERNATIONAL_BRANCH_OF`).
          - `status` string, nullable — Relationship status (`ACTIVE`, `INACTIVE`).
          - `periods` GleifRelationshipPeriod[], nullable — Validity and accounting periods associated with the relationship.
            - `startDate` string, nullable — ISO 8601 period start.
            - `endDate` string, nullable — ISO 8601 period end, or null when open-ended.
            - `type` string, nullable — Period type (`RELATIONSHIP_PERIOD`, `ACCOUNTING_PERIOD`, `DOCUMENT_FILING_PERIOD`).
        - `registration` GleifRelationshipRegistration — Registration-layer metadata for a relationship record.
          - `initialRegistrationDate` string, nullable — ISO 8601 timestamp the relationship was first registered.
          - `lastUpdateDate` string, nullable — ISO 8601 timestamp of the last update to the relationship record.
          - `status` string, nullable — Registration status (`PUBLISHED`, `DRAFT`, `RETIRED`).
          - `nextRenewalDate` string, nullable — ISO 8601 timestamp the relationship record next requires renewal.
          - `managingLou` string, nullable — LEI of the issuer managing the relationship record.
          - `corroborationLevel` string, nullable — Corroboration level for the relationship.
          - `corroborationDocuments` string, nullable — Document type code used for corroboration.
          - `corroborationReference` string, nullable — Reference string pointing to the corroborating document.
        - `extension` object, nullable — Extension block (includes `deletedAt` when the record has been retired).
      - `relationships` object, nullable — JSON:API cross-links to start-node and end-node LEI records.
    - `directChildren` GleifLeiRecord[], required — LEI records of direct subsidiaries (first page, upstream order).
      - `type` string, nullable — JSON:API resource type, always `lei-records`.
      - `id` string, nullable — 20-character LEI identifier (same as `attributes.lei`).
      - `attributes` GleifLeiAttributes — Full `attributes` block for a `lei-records` resource.
        - `lei` string, nullable — 20-character ISO 17442 LEI identifier.
        - `entity` GleifEntity — Entity block inside a LEI record.
          - `legalName` GleifLegalName — Legal name of a registered entity, in a specific language.
            - `name` string, nullable — Legal name string as filed with the registration authority.
            - `language` string, nullable — BCP 47 language tag of the name (e.g. `en`, `de`, `ja`).
          - `otherNames` object[], nullable — Alternative legal names (trading-as, prior names) with language tags.
          - `transliteratedOtherNames` object[], nullable — Transliterated forms of the legal name for non-Latin scripts.
          - `legalAddress` GleifAddress — Postal address as structured by ISO 17442 LEI record schema.
            - `language` string, nullable — BCP 47 language tag for the address components.
            - `addressLines` string[], nullable — Free-form street address lines (up to 4 entries).
            - `addressNumber` string, nullable — Street number when upstream separates it from the lines.
            - `addressNumberWithinBuilding` string, nullable — Sub-building identifier (apartment, suite, floor).
            - `mailRouting` string, nullable — Mail-routing hint (e.g. attn-of, c/o) when provided.
            - `city` string, nullable — City or locality name.
            - `region` string, nullable — ISO 3166-2 subdivision code (e.g. `US-DE` for Delaware, US).
            - `country` string, nullable — ISO 3166-1 alpha-2 country code (e.g. `US`, `GB`, `DE`).
            - `postalCode` string, nullable — Postal or ZIP code.
          - `headquartersAddress` GleifAddress — Postal address as structured by ISO 17442 LEI record schema.
            - `language` string, nullable — BCP 47 language tag for the address components.
            - `addressLines` string[], nullable — Free-form street address lines (up to 4 entries).
            - `addressNumber` string, nullable — Street number when upstream separates it from the lines.
            - `addressNumberWithinBuilding` string, nullable — Sub-building identifier (apartment, suite, floor).
            - `mailRouting` string, nullable — Mail-routing hint (e.g. attn-of, c/o) when provided.
            - `city` string, nullable — City or locality name.
            - `region` string, nullable — ISO 3166-2 subdivision code (e.g. `US-DE` for Delaware, US).
            - `country` string, nullable — ISO 3166-1 alpha-2 country code (e.g. `US`, `GB`, `DE`).
            - `postalCode` string, nullable — Postal or ZIP code.
          - `registeredAt` GleifRegisteredAt — Reference to the upstream registration authority.
            - `id` string, nullable — GLEIF-issued Registration Authority code (e.g. `RA000602`).
            - `other` string, nullable — Free-text qualifier when no `RA000...` code exists.
          - `registeredAs` string, nullable — Entity's identifier at the upstream registry (local registration number).
          - `jurisdiction` string, nullable — ISO 3166-1/2 jurisdiction code where the entity is legally constituted.
          - `category` string, nullable — Entity category (`GENERAL`, `FUND`, `BRANCH`, `SOLE_PROPRIETOR`, `RESIDENT_GOVERNMENT_ENTITY`, `INTERNATIONAL_ORGANIZATION`).
          - `legalForm` GleifLegalForm — Legal form identifier from the ELF (Entity Legal Forms) code list.
            - `id` string, nullable — ELF code (4-char uppercase) for the entity's legal form.
            - `other` string, nullable — Free-text legal form label when no ELF code is assigned.
          - `associatedEntity` GleifAssociatedEntity — Optional associated entity (e.g. fund manager) linked to this LEI.
            - `lei` string, nullable — LEI of the associated entity, when applicable.
            - `name` string, nullable — Legal name of the associated entity, when applicable.
          - `status` string, nullable — Entity status (`ACTIVE`, `INACTIVE`). Differs from registration status.
          - `expiration` GleifExpiration — Planned expiration of the LEI (null when not scheduled).
            - `date` string, nullable — ISO 8601 timestamp when the LEI is scheduled to expire.
            - `reason` string, nullable — Reason code for the expiration (`DISSOLVED`, `CORPORATE_ACTION`, etc.).
          - `successorEntity` GleifSuccessorEntity — Legacy successor-entity pointer (superseded by `successorEntities[]`).
            - `lei` string, nullable — LEI of the successor, when applicable.
            - `name` string, nullable — Name of the successor, when applicable.
          - `successorEntities` object[], nullable — List of successor entities (mergers, spin-offs). Empty when none.
          - `creationDate` string, nullable — ISO 8601 date the entity was legally constituted (often predates LEI issuance).
          - `subCategory` string, nullable — Entity sub-category (e.g. `CENTRAL_GOVERNMENT`, `LOCAL_GOVERNMENT`).
          - `otherAddresses` object[], nullable — Additional addresses (mailing, operations) beyond legal and HQ.
          - `eventGroups` object[], nullable — Corporate event groups (mergers, acquisitions) per the LEI lifecycle schema.
        - `registration` GleifRegistration — Registration-layer metadata for a LEI record.
          - `initialRegistrationDate` string, nullable — ISO 8601 timestamp the LEI was first issued.
          - `lastUpdateDate` string, nullable — ISO 8601 timestamp of the last update to this record (Sugra uses this for `data_time`).
          - `status` string, nullable — Registration status (`ISSUED`, `LAPSED`, `PENDING_TRANSFER`, `RETIRED`, `DUPLICATE`).
          - `nextRenewalDate` string, nullable — ISO 8601 timestamp the record next requires annual renewal.
          - `managingLou` string, nullable — LEI of the accredited issuer (Local Operating Unit) that manages this record.
          - `corroborationLevel` string, nullable — Corroboration level (`FULLY_CORROBORATED`, `PARTIALLY_CORROBORATED`, `ENTITY_SUPPLIED_ONLY`, `PENDING`).
          - `validatedAt` GleifValidatedAt — Reference to the registration authority that validated the LEI filing.
            - `id` string, nullable — GLEIF-issued validation authority code (typically an `RA000...` code).
            - `other` string, nullable — Free-text qualifier when no authority code exists.
          - `validatedAs` string, nullable — Local identifier used for validation at `validatedAt`.
          - `otherValidationAuthorities` object[], nullable — Additional validation authorities consulted for this record.
        - `bic` string[], nullable — Linked Business Identifier Codes (SWIFT BIC) when the entity has any.
        - `mic` string[], nullable — Linked Market Identifier Codes (ISO 10383 MIC) for trading venues.
        - `ocid` string, nullable — Open Corporates identifier (jurisdiction-qualified) when mapped.
        - `qcc` string[], nullable — Other Quality Control Codes from the entity's registration filings.
        - `spglobal` string[], nullable — S&P Global identifier when cross-referenced.
        - `conformityFlag` string, nullable — Conformity flag (`CONFORMING`, `NON_CONFORMING`, `NOT_APPLICABLE`) per LEI-ROC rules.
      - `relationships` object, nullable — JSON:API relationships block with links to related resources (parents, children, ISINs).
      - `links` object, nullable — JSON:API self-link for this resource.
    - `directChildrenPagination` GleifPagination, required — Upstream pagination metadata echoed on list endpoints.
      - `currentPage` integer, nullable — Current 1-based page number.
      - `perPage` integer, nullable — Page size used for this response.
      - `from` integer, nullable — 1-based index of the first record on this page.
      - `to` integer, nullable — 1-based index of the last record on this page.
      - `total` integer, nullable — Total number of records matching the query (across all pages).
      - `lastPage` integer, nullable — Index of the last page (given the current `perPage`).
    - `publishDate` string, nullable — ISO 8601 timestamp of the Golden Copy publication used for this response.
  - `meta` SugraMeta, required — Metadata attached to every /api/v1/* response envelope.
    - `endpoint` string, required — Requested endpoint path.
    - `data_time` string, required — ISO 8601 UTC timestamp of the source data, not of the request.
    - `response_time` string, required — ISO 8601 UTC timestamp when this response was produced.
    - `provider` string, required — API name and version.
    - `source` string, nullable — Identifier of the primary upstream source used for this response.
    - `attribution` string, nullable — Human-readable attribution mandated by an upstream source (e.g. a securities regulator or self-regulatory organization). Present only on responses whose source requires the owner and source to be clearly identified. Do not remove or alter it when using the response.
    - `fallback_used` boolean, nullable — True when the primary source failed and a fallback produced the data.
    - `fallback_chain` string[], nullable — Ordered list of sources attempted, in the order they were tried.
    - `cached` boolean, nullable — True when this response was served from the internal cache.
    - `stale` boolean, nullable — True when the cached response was returned after the upstream rate-limited or errored. Clients can use this to detect degraded data.

## Other responses

- `401` — Missing or invalid `x-api-key` header.
- `422` — Validation Error
- `429` — Daily rate limit exceeded. Check `X-RateLimit-Reset` for the next window.
- `503` — Upstream source is temporarily unavailable. Retry after a short delay.

---

[API](https://skmtc.net/sugra/apis/sugra-api.md) · [All operations](https://skmtc.net/sugra/apis/sugra-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sugra/sugra-api/versions/4e2740743eb4/schema)
