x-ms-odata
`x-ms-odata` appears on path items and on operations. Its value is a string. Used by 3 providers across 35 OpenAPI documents. It sits in the `x-ms-` namespace, so its meaning is defined by ms tooling rather than by OpenAPI. Observed values include `#/definitions/Schedule`, `#/definitions/MetricFilter`, `#/definitions/JobFilter`, `#/definitions/Lab`. Consistent with data & schema semantics — 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 | |
|---|---|---|
| operation | 79 | |
| path | 141 |
What its value looks like
| Value shape | Occurrences |
|---|---|
| string | 217 |
| object | 3 |
Observed values
Sampled from the specifications, most frequent first.
Providers publishing it
All 3.
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.