# Invoket Company Ownership Chain Lookup

> Invoket Company Ownership Chain Lookup is a paid API for AI agents from api.invoket.com, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-14).

Walks the corporate ownership chain of a legal entity by LEI, returning parent and/or direct subsidiary relationships with provenance from official sources.

## Facts

- Endpoint: POST https://api.invoket.com/company/ownership
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/invoket-company-ownership-chain-lookup-f0f9ef4d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_h3y21pBP-rFASdmX_uxQ-

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability invoket-company-ownership-chain-lookup-f0f9ef4d -d '<json body>'
```

Example prompt: Can you walk the ownership chain for the entity with LEI 2138004GZR1TZJVMK895 — go up 3 levels to find its parents and also show me its direct children?

## When to prefer this

Use this endpoint when you need machine-verifiable, provenance-backed corporate ownership data sourced directly from the GLEIF registry, particularly in compliance, KYC, sanctions screening, or due diligence workflows where accuracy and auditability matter. Prefer it over web-scraping or unstructured data sources when you need a reliable chain with explicit truncation signals and an exact subsidiary count. It is especially useful when you already hold a LEI (or can resolve one via the sibling /company/lei endpoint) and need to traverse parent or child relationships in a controlled, bounded way.

## Known failure modes

- 404 returned (and not billed) when a syntactically valid LEI is not found in the GLEIF registry
- 400 returned when depth is outside 1–5 range — no silent trimming occurs
- 400 returned if direction is not 'up', 'down', or 'both'
- 400 returned if LEI is malformed or fails ISO 17442 check-digit verification
- Ownership data may lag real-world changes if GLEIF registry updates are pending
- 'chain_truncated' flag set when walk stops at the requested depth before reaching the ultimate parent
- 'total_children' may exceed 100 but only 100 direct subsidiaries are returned in the down block

## How this service works

The checks your agent runs before it acts: verify a bank account, a phone number, a law in force, the weather or a vehicle — computed from official sources, with provenance in every response. You only pay for answers.

## Output

Returns a structured object containing the ownership chain in the requested direction(s): an 'up' block with parent entities up to the specified depth (with a 'chain_truncated' flag if the depth limit was hit and the declared ultimate parent), a 'down' block with direct children (capped at 100 with an exact 'total_children' count), or both. Blocks not requested are null (distinct from [] meaning no children declared). Each entity record includes provenance from the official GLEIF registry. Returns 404 (unbilled) for a well-formed LEI absent from the registry, and 400 for out-of-range depth.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "lei",
  "depth",
  "direction"
 ],
 "properties": {
  "lei": {
   "type": "string",
   "description": "20-character LEI (ISO 17442, check digits verified) of the entity to look up - required. Get it from /company/lei if you only hold a SIREN, a BIC or a name. A well-formed LEI absent from the reference is a 404, unbilled, with the same message as /company/lei"
  },
  "depth": {
   "type": "string",
   "description": "Chain depth, 1 to 5 (default 3). A HARD bound: out of range is a 400, never a silent trim - an agent that asks for 7 must know it was not served 7. When the walk stops on the bound, 'chain_truncated' says so, and the declared ultimate parent is still served"
  },
  "direction": {
   "type": "string",
   "description": "'up' (default) walks the parents, 'down' returns 'direct_children' - the entities declaring this LEI as their direct parent, capped at 100 with 'total_children' exact - and 'both' does both. Only DIRECT subsidiaries are served, there is no multi-level org chart. A block you did not ask for is null, which is distinct from [] meaning 'asked, nothing declared'"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/invoket-company-ownership-chain-lookup-f0f9ef4d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.invoket.com](https://www.zero.xyz/host/api.invoket.com/llms.txt)
