x-api-id
`x-api-id` appears in the info block. Its value is a string. Used by 42 providers across 107 OpenAPI documents. Observed values include `TMF931`, `sap-concur-expense-report-v4`, `5ca54741-8f62-4aad-ab79-13ae762920e3`, `96f61af0-7bba-45df-8f12-005042cf1e47`. Consistent with identity & relationships — this is inferred from where the key appears and what it carries, not from any published definition.
Where it appears
| Location in the document | Occurrences | |
|---|---|---|
| info | 108 |
What its value looks like
| Value shape | Occurrences |
|---|---|
| string | 107 |
| object | 1 |
Observed values
Sampled from the specifications, most frequent first.
Providers publishing it
All 42.
Why this is not in OpenAPI
Extensions exist because a provider needed something the specification would not carry. Most of what they hold is not the API contract at all — it is operational metadata about the contract: documentation, lifecycle, policy, provenance, and now agents. That metadata is usually better placed alongside the contract, in an Overlay or an APIs.json index, than crammed inside it. See everything else doing the data & schema semantics job.