← All Modules

assay.gleif

The Global Legal Entity Identifier Foundation's open API: search legal entities by name across every jurisdiction, fetch one record by LEI, and fuzzy-complete partial names. No key, no account — the everywhere-fallback of the registry family. Every record carries provenance (provider = "registry:gleif", the exact URL fetched), so facts sourced here stay auditable downstream.

Client

local gleif = require("assay.gleif")
local c = gleif.client()

gleif.client(opts) accepts base_url (default https://api.gleif.org/api/v1; override for a test double).

Search and fetch

local matches = c:search("Joseph Cheaney", { limit = 5 })
-- { { lei, name, status, jurisdiction, legal_form, city, country, registered_at, provenance }, … }

local names = c:fuzzy("Cheaney")       -- completion strings for a partial name
local one = c:get("529900T8BM49AURSDO55")  -- one record, or nil when the LEI is unknown

search filters on the exact legal name (GLEIF matches case-insensitively and on word boundaries); use fuzzy first when the spelling is uncertain. Results are normalized to the flat registry shape shared by the registry modules — downstream code never learns GLEIF's JSON:API envelope.