{"openapi":"3.1.0","info":{"title":"lei.online","description":"Search and read the Global LEI Index and the national company register behind it. Anonymous, read-only, and free: no key, no account, no registration. Ordering an identifier is not part of this surface - see the `guardrail` note in the MCP tool descriptions for why.","termsOfService":"https://lei.online/en/terms","contact":{"name":"lei.online","url":"https://lei.online/en/developers"},"license":{"name":"Proprietary","url":"https://lei.online/en/terms"},"version":"1"},"servers":[{"url":"https://lei.online","description":"Production"}],"paths":{"/v1/companies/{number}":{"get":{"tags":["records"],"summary":"One company from a jurisdiction corpus, by its registration number.","operationId":"getCompany","parameters":[{"name":"number","in":"path","description":"As the register publishes it, or without separators","required":true,"schema":{"type":"string"},"example":"5560125790"}],"responses":{"200":{"description":"The record, with its LEI when it holds one","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Company"}}}},"404":{"description":"No company holds that registration number","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"The record store is unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/directory":{"get":{"tags":["browse"],"summary":"Every facet the register can be browsed by, with how many are in each bucket.","operationId":"browseDirectory","responses":{"200":{"description":"Buckets per facet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Index"}}}},"500":{"description":"The record store is unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/directory/{facet}/{value}":{"get":{"tags":["browse"],"summary":"One page of the entities in a bucket.","operationId":"listDirectoryGroup","parameters":[{"name":"facet","in":"path","description":"country, issuer or legal-form","required":true,"schema":{"type":"string"},"example":"country"},{"name":"value","in":"path","description":"The bucket's stored key","required":true,"schema":{"type":"string"},"example":"SE"},{"name":"page","in":"query","description":"1-based.","required":false,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"A page of the bucket","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listing"}}}},"404":{"description":"No such facet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"The record store is unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/entities/{lei}":{"get":{"tags":["records"],"summary":"One golden copy record, by its identifier.","operationId":"getEntity","parameters":[{"name":"lei","in":"path","description":"A 20-character Legal Entity Identifier; case is not significant","required":true,"schema":{"type":"string"},"example":"549300HGV012CNC8JD22"}],"responses":{"200":{"description":"The record","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Entity"}}}},"404":{"description":"No entity holds that LEI","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"The record store is unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/issuance":{"get":{"tags":["browse"],"summary":"How many LEIs were issued each month, by country, over the last twelve\ncomplete months. The current, partial month is not counted.","operationId":"monthlyIssuance","responses":{"200":{"description":"LEI issuance by country over the last twelve months","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonthlyIssuance"}}}},"500":{"description":"The record store is unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/issuers":{"get":{"tags":["browse"],"summary":"The accredited LEI issuers (LOUs), each with how many LEIs it manages.","operationId":"listIssuers","responses":{"200":{"description":"The accredited LEI issuers","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuerList"}}}},"500":{"description":"The record store is unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/issuers/{lei}":{"get":{"tags":["browse"],"summary":"One issuer's profile: the portfolio it manages, by cohort and by region, and\nthe transfers observed in and out of it.","operationId":"getIssuer","parameters":[{"name":"lei","in":"path","description":"The issuer's own LEI","required":true,"schema":{"type":"string"},"example":"549300O897ZC5H7CY412"}],"responses":{"200":{"description":"The issuer and its portfolio profile","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuerProfile"}}}},"404":{"description":"No such issuer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"The record store is unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/lei/{lei}/relations":{"get":{"tags":["records"],"summary":"The relationship neighbourhood of one LEI out to `depth` hops, for the record\npage's ownership graph. Nodes and edges come back in Traverse's own `_type`\nshape; the browser renders them and re-calls this per node to expand further.","operationId":"leiRelations","parameters":[{"name":"lei","in":"path","description":"A 20-character Legal Entity Identifier","required":true,"schema":{"type":"string"},"example":"549300HGV012CNC8JD22"},{"name":"depth","in":"query","description":"How many hops out to draw. 1 is the immediate family; a small default\nshows the shape of a group without a click per level. Clamped server-side.","required":false,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"The ownership neighbourhood as nodes and edges out to `depth` hops. Each edge's `type` is GLEIF's own relationship code - `IS_DIRECTLY_CONSOLIDATED_BY`, `IS_ULTIMATELY_CONSOLIDATED_BY` - and `truncated` says whether the slice was capped."},"404":{"description":"No entity holds that LEI","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"The record store is unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/overpayment":{"get":{"tags":["browse"],"summary":"What organizations overpay for their LEIs worldwide, against our price: a\nyearly figure and a running total, both estimates over the whole live\nregister at current market prices.","operationId":"overpayment","responses":{"200":{"description":"Estimated worldwide LEI overpayment against our price","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Overpayment"}}}},"500":{"description":"The record store is unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/pulse":{"get":{"tags":["register"],"summary":"How big the register is, what has just joined it, and how fast it grows.","operationId":"registerPulse","responses":{"200":{"description":"Live counts, issuance rate, and the newest records"},"500":{"description":"The record store is unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/recent":{"get":{"tags":["browse"],"summary":"What has just entered the register.","operationId":"recentRegistrations","parameters":[{"name":"country","in":"query","description":"An ISO country code, to see only what that country has just registered.","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The newest issued identifiers","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Listing"}}}},"500":{"description":"The record store is unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/search":{"get":{"tags":["search"],"summary":"Search both collections at once.","description":"The bounds, the trimming and the merge all live in `surface`, because MCP\nasks this same question and two surfaces that clamped differently would\nreturn different answers to the same query.","operationId":"searchEntities","parameters":[{"name":"q","in":"query","description":"A company name, a registration number, or a 20-character LEI.","required":true,"schema":{"type":"string"},"example":"volvo"},{"name":"limit","in":"query","description":"Rows per group.","required":false,"schema":{"type":"integer","minimum":0}},{"name":"page","in":"query","description":"1-based.","required":false,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"Matches, grouped by which collection they came from","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Results"}}}},"502":{"description":"The search index is unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}}},"components":{"schemas":{"Action":{"type":"string","description":"What this record is for, from the point of view of somebody looking at it.","enum":["buy","transfer","renew","manage","view","elsewhere"]},"Bucket":{"type":"object","description":"One bucket of a facet.","required":["key","total"],"properties":{"key":{"type":"string","description":"The stored value - an ISO country code, an LOU's LEI, an ELF code."},"label":{"type":["string","null"],"description":"A name for it where the store holds one.\n\nNull for a country, deliberately: a country's name is different in every\nlocale and the browser already knows all of them. Putting an English\nname in the API would make the Swedish page depend on a translation this\nservice has no business owning."},"total":{"type":"integer","format":"int64"},"withLei":{"type":["integer","null"],"format":"int64","description":"How many of them hold an identifier.\n\nCorpus buckets only, and it is the number that makes a directory page\ncommercial rather than a phone book: *2 304 companies in Härnösand, 119\nof which hold an LEI* is a fact nobody else publishes and the reason\nsomebody on that page might need one. Absent on register facets, where\nevery row holds one by definition."}}},"Company":{"type":"object","description":"A company as its own register describes it, plus its LEI if it holds one.","required":["source","registrationNumber","registrationNumberFormatted","registrationNumberNormalized","country","isCeased","sniActivities","action"],"properties":{"action":{"$ref":"#/components/schemas/Action","description":"What this page can offer, decided by `verdict::decide` and by nothing\non the page. A search row, this page and the LEI page all render the\nsame answer, which is what stops a chip promising something the page it\nlinks to does not have."},"ceasedDate":{"type":["string","null"]},"city":{"type":["string","null"]},"country":{"type":"string"},"county":{"type":["string","null"]},"elfAbbreviation":{"type":["string","null"]},"elfCode":{"type":["string","null"]},"elfName":{"type":["string","null"],"description":"The ELF code's own name - `Aktiebolag` for `XJHM`. A page shows the\nname and keeps the code beside it, because the code is what a form or a\nGLEIF submission asks for and the name is what a reader understands."},"isCeased":{"type":"boolean"},"legalAddress":{"type":["string","null"]},"legalAddressType":{"type":["string","null"]},"legalFormLabel":{"type":["string","null"]},"legalName":{"type":["string","null"]},"lei":{"type":["string","null"],"description":"Read live rather than taken from the projection - see the module note."},"leiStatus":{"type":["string","null"]},"municipality":{"type":["string","null"]},"postalCode":{"type":["string","null"]},"purpose":{"type":["string","null"],"description":"The register's own statement of what the company does - the\nverksamhetsbeskrivning as filed, in Swedish and frequently a paragraph\nlong. It is the fullest description of a company the corpus carries, so\nit earns a place on the page and it is what the search-engine snippet is\nbuilt from."},"registrationDate":{"type":["string","null"]},"registrationNumber":{"type":"string","description":"As the register publishes it, which is what goes back to GLEIF."},"registrationNumberFormatted":{"type":"string","description":"The same number as its country writes it - `556325-5511`. Display only."},"registrationNumberNormalized":{"type":"string"},"sniActivities":{"type":"array","items":{"$ref":"#/components/schemas/SniActivity"},"description":"Every industry the company is filed under, primary first, for the SNI\nrevision named in `sni_revision`. The `sni_code`/`sni_description`/\n`sni_section` above are the primary of this list, kept as their own\nfields because the search snippet and the industry facet want the one\ncode a company is chiefly known by, not the whole set."},"sniCode":{"type":["string","null"]},"sniDescription":{"type":["string","null"]},"sniRevision":{"type":["string","null"],"description":"Which SNI revision `sni_activities` is drawn from - `\"2025\"` or `\"2007\"`.\nShared by the whole list because a company's codes are all one revision."},"sniSection":{"type":["string","null"]},"source":{"type":"string"}}},"CountryIssuance":{"type":"object","description":"One country's issuance across the same twelve months.","required":["country","months","total"],"properties":{"country":{"type":"string","description":"ISO 3166-1 alpha-2 country code, taken from the legal jurisdiction. A\nsub-national jurisdiction such as `US-DE` folds onto its country, `US`."},"months":{"type":"array","items":{"type":"integer","format":"int64"},"description":"LEIs issued each month, aligned to the outer `months` (in-progress month\nlast)."},"price":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PriceRow","description":"The representative local LEI price, where we hold one for this country -\nsee `pricing`. Absent for the long tail of markets we have not priced."}]},"total":{"type":"integer","format":"int64","description":"This country's total over the twelve complete months, the in-progress\nmonth excluded - so it lines up with the grand `total`."}}},"Entity":{"type":"object","description":"An entity as the golden copy holds it, plus the corpus row behind it when\nthere is one.","required":["lei","successorLeis","action","served","family"],"properties":{"action":{"$ref":"#/components/schemas/Action","description":"What this page can offer. The same `verdict::decide` the search row\nused to paint its chip - so following that chip now lands on a page\ncarrying the offer it promised."},"city":{"type":["string","null"]},"companyRegistrationNumber":{"type":["string","null"],"description":"Present when this entity has a company in a jurisdiction corpus behind\nit, which is what lets the page offer a transfer rather than a lookup."},"conformityFlag":{"type":["string","null"],"description":"GLEIF's own verdict on whether the record meets the standard."},"country":{"type":["string","null"]},"createdAt":{"type":["string","null"],"description":"When the *entity* came into existence, which is not when its identifier\ndid. The two are frequently decades apart, and a page showing only the\nsecond makes a 1988 company look four years old."},"entityCategory":{"type":["string","null"]},"entityStatus":{"type":["string","null"]},"entitySubCategory":{"type":["string","null"],"description":"The narrower classification, where the category has one."},"expirationReason":{"type":["string","null"]},"expiredAt":{"type":["string","null"],"description":"When it stopped, and why."},"family":{"$ref":"#/components/schemas/Family","description":"Level 2 - the corporate structure around this entity, and the issuer's\nstated reason where there is none. See `family`."},"headquartersAddress":{"type":["string","null"],"description":"Where the business is run, as against where post is delivered. A `Box`\nnumber and a street with a building on it are two different facts, so\nthis is its own block rather than a fallback for the one above."},"headquartersCity":{"type":["string","null"]},"headquartersCountry":{"type":["string","null"]},"headquartersPostalCode":{"type":["string","null"]},"headquartersRegion":{"type":["string","null"]},"lastUpdatedAt":{"type":["string","null"]},"legalAddress":{"type":["string","null"]},"legalFormAbbreviation":{"type":["string","null"]},"legalFormCode":{"type":["string","null"]},"legalFormName":{"type":["string","null"]},"legalJurisdiction":{"type":["string","null"]},"legalName":{"type":["string","null"]},"lei":{"type":"string"},"managingLou":{"type":["string","null"]},"managingLouName":{"type":["string","null"],"description":"The issuer's own name. A managing LOU is itself an entity in the golden\ncopy, so this is a lookup rather than a list to maintain - and \"who\nissued this\" is a question a 20-character code does not answer."},"managingLouWebsite":{"type":["string","null"],"description":"Where to reach the issuer. Most relevant on a lapsed record, where the\nreader is looking at the organisation that let it lapse and needs to\ndeal with them - the point at which a name with no address is a dead end."},"nextRenewalAt":{"type":["string","null"],"description":"When the record has to be re-certified.\n\n**The most consequential date on the page.** It is the day the holder\nhas to act, and a record that passes it lapses - which is the whole of\nwhy somebody looks a lapsed code up in the first place."},"otherLegalForm":{"type":["string","null"],"description":"What the issuer wrote when the ELF list had no code for the form."},"postalCode":{"type":["string","null"]},"region":{"type":["string","null"]},"registeredAt":{"type":["string","null"]},"registrationAuthorityId":{"type":["string","null"]},"registrationAuthorityName":{"type":["string","null"],"description":"The register the entity was verified against, by name."},"registrationAuthorityWebsite":{"type":["string","null"],"description":"And where that register lives, when it publishes an address."},"registrationNumber":{"type":["string","null"]},"registrationNumberFormatted":{"type":["string","null"]},"registrationStatus":{"type":["string","null"]},"served":{"type":"boolean","description":"Whether this platform operates in the jurisdiction the entity is\nregistered in. Sweden today; see `verdict::serves`. Said plainly rather\nthan left for the wizard to discover, because *\"we do not issue there\nyet\"* is a different answer from *\"that code cannot be moved\"*."},"successorLeis":{"type":"array","items":{"type":"string"},"description":"The identifier that took over, where one did. Without it a merged\nentity's record is a dead end - and it is the field every other lookup\nsite drops."},"validationAuthorityEntityId":{"type":["string","null"]},"validationAuthorityId":{"type":["string","null"],"description":"Which register the issuer actually checked against, and under what\nidentifier there. Usually the registration authority above, and worth\nshowing separately precisely because it is not always."},"validationAuthorityName":{"type":["string","null"]},"validationSources":{"type":["string","null"],"description":"How well corroborated the record is. `FULLY_CORROBORATED` against\n`ENTITY_SUPPLIED_ONLY` is the difference between a record a register\nconfirmed and one the entity asserted about itself, and a reader\ndeciding whether to trust it is entitled to know which."}}},"Entry":{"type":"object","description":"One row of a directory listing.\n\n**A company and an entity are both rows here, and they are not the same\nthing.** A golden-copy facet lists identifiers and a corpus facet lists\ncompanies, most of which hold no identifier at all. Which fields are present\nsays which this is, and the frontend addresses each by the key it actually\nhas - an entity by its LEI, a company by its registration number.","required":["slug"],"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"]},"legalName":{"type":["string","null"]},"lei":{"type":["string","null"],"description":"Present on a golden-copy row."},"registeredAt":{"type":["string","null"]},"registrationNumber":{"type":["string","null"],"description":"Present on a corpus row - normalized, which is what the company page is\naddressed by."},"registrationNumberFormatted":{"type":["string","null"],"description":"The same number as a reader writes it - `556012-5790` rather than the\nbare digits the URL uses. Formatted here rather than in the page,\nbecause the shape of a registration number is a jurisdiction's own and\nmust not be spelled out in shared front-end code."},"registrationStatus":{"type":["string","null"]},"slug":{"type":"string","description":"The canonical slug, so a link from here lands on the record page rather\nthan on the redirect to it."}}},"Exception":{"type":"object","description":"Why a parent is not reported.","required":["category","reasons","references"],"properties":{"category":{"type":"string","description":"Which parent is being excepted: the direct one or the ultimate one."},"reasons":{"type":"array","items":{"type":"string"},"description":"`NON_CONSOLIDATING`, `NATURAL_PERSONS`, `NO_LEI` and the rest. Plural\nbecause the standard permits several and issuers do file several."},"references":{"type":"array","items":{"type":"string"},"description":"Free text the issuer may attach when a reason allows naming a parent\nthat has no LEI.\n\nCarried for completeness and **not rendered**: in practice the field\nholds `N/A`, a single word, or a paragraph of somebody's national\ncompany law, and none of those belong on a record page."}}},"Facet":{"type":"string","description":"Something somebody can browse by.\n\nA closed set rather than a string passed through to SQL, which is what makes\nthe facet safe to put in a URL: an unknown facet is a 404 decided here, not\na query built out of whatever arrived.\n\n**Two stores, one vocabulary.** The first three group the Global LEI Index;\nthe last three group a jurisdiction corpus, where the questions worth asking\nare geographic and industrial rather than about who issued what. They are\none enum because a facet is a facet to a URL and to a reader - the store it\nreads is [`Source`], and it decides the query rather than the shape of the\npage.","enum":["country","issuer","legal-form","county","municipality","industry"]},"Family":{"type":"object","description":"An entity's place in a corporate structure, as far as the Level 2 data goes.","required":["parents","children","childrenTotal","exceptions"],"properties":{"children":{"type":"array","items":{"$ref":"#/components/schemas/Relative"},"description":"Ties where this entity is the parent, capped at [`CHILDREN_SHOWN`]."},"childrenTotal":{"type":"integer","format":"int64","description":"How many children exist, which is not always how many are listed."},"exceptions":{"type":"array","items":{"$ref":"#/components/schemas/Exception"},"description":"Why a parent is missing, where the issuer has said."},"parents":{"type":"array","items":{"$ref":"#/components/schemas/Relative"},"description":"Ties where this entity is the child - its direct and ultimate parents,\nits fund manager, the head office a branch belongs to."}}},"Hit":{"type":"object","required":["kind","action","name","slug"],"properties":{"action":{"$ref":"#/components/schemas/Action"},"city":{"type":["string","null"]},"country":{"type":["string","null"]},"entityStatus":{"type":["string","null"]},"kind":{"$ref":"#/components/schemas/Kind"},"lei":{"type":["string","null"]},"leiStatus":{"type":["string","null"]},"name":{"type":"string"},"registrationNumber":{"type":["string","null"],"description":"As the register publishes it. Not what a person is shown - see below."},"registrationNumberFormatted":{"type":["string","null"],"description":"The same number as its country writes it - `556325-5511` rather than\n`5563255511`. A Swede recognises one of those at a glance and counts the\ndigits of the other."},"registrationNumberNormalized":{"type":["string","null"],"description":"The form every URL and lookup uses."},"slug":{"type":"string","description":"URL segment derived from the name. The client builds the path; this is\nthe readable half of it."}}},"Index":{"type":"object","description":"Every facet with its buckets, as one answer.\n\nOne request rather than six: a hub page wants all of them, a bucket page\nwants one of them to resolve its slug, and both are served from the same\nwarm copy.","required":["country","issuer","legalForm","county","municipality","industry"],"properties":{"country":{"type":"array","items":{"$ref":"#/components/schemas/Bucket"}},"county":{"type":"array","items":{"$ref":"#/components/schemas/Bucket"}},"industry":{"type":"array","items":{"$ref":"#/components/schemas/Bucket"}},"issuer":{"type":"array","items":{"$ref":"#/components/schemas/Bucket"}},"legalForm":{"type":"array","items":{"$ref":"#/components/schemas/Bucket"}},"municipality":{"type":"array","items":{"$ref":"#/components/schemas/Bucket"}}}},"Issuer":{"type":"object","description":"One issuer in the directory.","required":["lei","name","manages"],"properties":{"accreditationDate":{"type":["string","null"],"description":"The day GLEIF accredited the issuer, `YYYY-MM-DD`."},"jurisdiction":{"type":["string","null"],"description":"The jurisdiction of the issuer's own legal entity, as an ISO code."},"legalName":{"type":["string","null"],"description":"The legal name of the entity holding the accreditation, when it differs\nfrom the brand above."},"lei":{"type":"string","description":"The issuer's own LEI - links to its record like any other entity."},"manages":{"type":"integer","format":"int64","description":"How many LEIs the issuer manages in the Global LEI Index today - the same\ncount the `/issuer` facet shows."},"name":{"type":"string","description":"The name to show: the marketing brand where GLEIF records one, else the\nlegal name."},"website":{"type":["string","null"]}}},"IssuerList":{"type":"object","description":"The whole directory.","required":["issuers"],"properties":{"issuers":{"type":"array","items":{"$ref":"#/components/schemas/Issuer"}}}},"IssuerProfile":{"type":"object","description":"One issuer with the profile of the portfolio it manages.","required":["issuer","cohort","regions","transfers"],"properties":{"cohort":{"type":"array","items":{"$ref":"#/components/schemas/YearCount"},"description":"LEIs under management by first-registration year - a cohort, not issuance."},"issuer":{"$ref":"#/components/schemas/Issuer"},"regions":{"type":"array","items":{"$ref":"#/components/schemas/RegionCount"},"description":"The current portfolio by legal jurisdiction, largest first."},"transfers":{"$ref":"#/components/schemas/Transfers"}}},"Kind":{"type":"string","description":"What a result leads to, and therefore which page it links to.\n\nThe distinction the front page splits on: a hit that already has an LEI goes\nto the LEI record, and one that does not goes to the company page. There is\nno third kind, because a thing either holds an identifier or it does not.","enum":["company","entity"]},"Listing":{"type":"object","description":"A page of one bucket.","required":["facet","value","total","page","pages","entries"],"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/Entry"}},"facet":{"$ref":"#/components/schemas/Facet"},"page":{"type":"integer","format":"int64"},"pages":{"type":"integer","format":"int64"},"total":{"type":"integer","format":"int64","description":"How many entities are in the bucket, not how many are on this page."},"value":{"type":"string"}}},"Money":{"type":"object","description":"One figure in the three currencies the pages show.","required":["usd","sek","eur"],"properties":{"eur":{"type":"number","format":"double"},"sek":{"type":"number","format":"double"},"usd":{"type":"number","format":"double"}}},"MonthlyIssuance":{"type":"object","description":"LEI issuance across the trailing twelve complete months, by country.","required":["months","partialMonth","totals","total","countries","generatedAt"],"properties":{"countries":{"type":"array","items":{"$ref":"#/components/schemas/CountryIssuance"},"description":"One row per country that issued anything in the window, most first."},"generatedAt":{"type":"string","description":"When this snapshot was computed, RFC 3339. A page counts nothing forward\nfrom it; it is there so a reader knows how recent the figures are."},"months":{"type":"array","items":{"type":"string"},"description":"The month buckets, oldest first, each `YYYY-MM`: twelve complete months\nfollowed by the current, still-open one - see `partial_month`."},"partialMonth":{"type":"string","description":"The current, in-progress month (the last entry in `months`). Its count is\na month still filling up, so it is shown apart and left out of `total`."},"total":{"type":"integer","format":"int64","description":"Every LEI issued across the twelve complete months, all countries. The\nin-progress month is deliberately excluded, so this is a clean year."},"totals":{"type":"array","items":{"type":"integer","format":"int64"},"description":"How many LEIs were issued in each month across every country, aligned to\n`months` - including the in-progress month."}}},"Overpayment":{"type":"object","description":"What organizations overpay for their LEIs, worldwide, against our price.","required":["annual","soFar","perSecond","countedAt","livePopulation","asOf"],"properties":{"annual":{"$ref":"#/components/schemas/Money","description":"What every live LEI overpays in one year at current prices."},"asOf":{"type":"string","description":"The date the prices and FX behind this were taken."},"countedAt":{"type":"string","description":"The moment `so_far` was true. The browser counts up from it, so a page\nleft open does not stall and a refresh does not jump backwards."},"livePopulation":{"type":"integer","format":"int64","description":"The live LEI population (ISSUED or LAPSED) the estimate covers."},"perSecond":{"$ref":"#/components/schemas/Money","description":"The forward tick, per second - `annual` divided across the year."},"soFar":{"$ref":"#/components/schemas/Money","description":"What today's live LEIs have overpaid across their lifetimes, as of\n`counted_at`. A page counts forward from here at `per_second`."}}},"PriceRow":{"type":"object","description":"One country's representative LEI price, as published by a named provider.","required":["country","provider","sourceUrl","priceLocal","currency","priceEur","asOf"],"properties":{"asOf":{"type":"string","description":"The date the price and its conversion were taken, `YYYY-MM-DD`."},"country":{"type":"string","description":"ISO 3166-1 alpha-2 country code."},"currency":{"type":"string","description":"ISO 4217 code of `price_local`."},"note":{"type":["string","null"],"description":"Anything a reader should know: VAT treatment, multi-year discounts, or\nthat it is a global agent's localized price rather than a local LOU's."},"priceEur":{"type":"number","format":"double","description":"The first-year price converted to euros, for cross-country comparison."},"priceLocal":{"type":"number","format":"double","description":"First-year registration price, in `currency`, as published (usually\nbefore local VAT, which the note records)."},"provider":{"type":"string","description":"The provider the figure was read from."},"renewalLocal":{"type":["number","null"],"format":"double","description":"Annual renewal price where it differs from the first year."},"sourceUrl":{"type":"string","description":"The page the price was read from, for anyone checking it."}}},"Problem":{"type":"object","description":"One error shape, so a client never has to guess which one it received.\n\nDeclared as a type rather than built inline because the OpenAPI document\nrefers to it four times, and a shape described four times is four shapes\nwaiting to disagree.","required":["error"],"properties":{"error":{"type":"string","description":"What went wrong, in one sentence, meant to be shown to whoever asked."}}},"RegionCount":{"type":"object","description":"A count of LEIs in the portfolio under one jurisdiction.","required":["jurisdiction","count"],"properties":{"count":{"type":"integer","format":"int64"},"jurisdiction":{"type":"string","description":"ISO jurisdiction code, e.g. `SE`. Empty string when a record carries none."}}},"Relative":{"type":"object","description":"One related entity, named rather than left as twenty characters.\n\n**One row per entity, not one per relationship record.** A subsidiary that\nis both directly and ultimately consolidated by the same parent files two\nrecords, and listing both puts the same company on the page twice under two\nheadings that read as two different companies. Grouping them here means the\nties become a property of the relative - which is also the more useful fact:\na child that is ultimate-only sits *below* another subsidiary, and that is\nthe shape of the group rather than a duplicate row.","required":["lei","relationshipTypes","active"],"properties":{"active":{"type":"boolean","description":"Whether any of the ties is still live. An `INACTIVE` relationship is\nhistory, and rendering it unmarked beside a live one would read as a\ncurrent parent."},"country":{"type":["string","null"]},"legalName":{"type":["string","null"]},"lei":{"type":"string"},"relationshipTypes":{"type":"array","items":{"type":"string"},"description":"GLEIF's own words for the ties - `IS_DIRECTLY_CONSOLIDATED_BY` and the\nrest. Passed through as published and translated at the edge, because\nthe vocabulary belongs to the standard and not to this service."}}},"Results":{"type":"object","required":["companies","entities","companiesFound","entitiesFound","merged"],"properties":{"companies":{"type":"array","items":{"$ref":"#/components/schemas/Hit"},"description":"Companies in a jurisdiction corpus, with their LEI where they hold one."},"companiesFound":{"type":"integer","format":"int64","minimum":0},"entities":{"type":"array","items":{"$ref":"#/components/schemas/Hit"},"description":"Golden copy records with no corpus row behind them."},"entitiesFound":{"type":"integer","format":"int64","minimum":0},"merged":{"type":"integer","description":"How many golden copy hits were dropped as already shown in `companies`.","minimum":0}}},"SniActivity":{"type":"object","description":"One industry classification a company files under.\n\nA company reports several - a primary line of business and the others it is\nalso active in - and the register ranks them, primary first. The page shows\nthe whole list, so this is one entry in it. `section` is the bare SNI section\nletter; the revision it belongs to is shared by the set and carried once, on\n`Company::sni_revision`, rather than repeated on every code.","required":["rank","code"],"properties":{"code":{"type":"string"},"description":{"type":["string","null"]},"rank":{"type":"integer","format":"int32"},"section":{"type":["string","null"]}}},"Transfers":{"type":"object","description":"What we have observed of a LOU's transfers since our own history begins.","required":["incoming","outgoing"],"properties":{"incoming":{"type":"integer","format":"int64","description":"LEIs observed moving into this LOU since `since`."},"outgoing":{"type":"integer","format":"int64","description":"LEIs observed moving out of this LOU since `since`."},"since":{"type":["string","null"],"description":"The day our first-hand record of managing-LOU changes begins, `YYYY-MM-DD`.\n`None` before any transfer has been observed at all."}}},"YearCount":{"type":"object","description":"A count of LEIs first registered in one year.","required":["year","count"],"properties":{"count":{"type":"integer","format":"int64"},"year":{"type":"integer","format":"int32"}}}}},"tags":[{"name":"search","description":"Finding an entity when you do not have its identifier"},{"name":"records","description":"Reading one entity when you do"},{"name":"register","description":"The shape and motion of the register itself"},{"name":"browse","description":"Walking the register by group, when there is no one entity in mind yet"}],"externalDocs":{"url":"https://lei.online/llms.txt","description":"The same API described in brief for a language model"}}