x-ms-has-immutability-policy
`x-ms-has-immutability-policy` appears on header objects. Its value is a structured object. Used by a single provider across 1 OpenAPI document. It sits in the `x-ms-` namespace, so its meaning is defined by ms tooling rather than by OpenAPI. Consistent with capability declaration — this is inferred from where the key appears and what it carries, not from any published definition.
headers: map, which is the same syntactic position an extension
key occupies — but OpenAPI models headers natively and this is not extending
anything. It is listed here because it turns up when you inventory the
x- namespace, and leaving it out would hide why the namespace looks
bigger than it is.
Where it appears
| Location in the document | Occurrences | |
|---|---|---|
| header | 1 |
What its value looks like
| Value shape | Occurrences |
|---|---|
| object | 1 |
Providers publishing it
All 1.
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 capability declaration job.