x-obmcs-enumref
`x-obmcs-enumref` appears on schema objects and properties and on parameter objects. Its value is a string. Used by a single provider across 104 OpenAPI documents. It sits in the `x-obmcs-` namespace, so its meaning is defined by obmcs tooling rather than by OpenAPI. Observed values include `#/definitions/Project/lifecycleState`, `#/definitions/Model/lifecycleState`, `#/definitions/Deployment/lifecycleState`, `#/definitions/Node/nodeType`. Consistent with type system — 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 | |
|---|---|---|
| schema | 854 | |
| parameter | 403 | |
| operation | 71 |
What its value looks like
| Value shape | Occurrences |
|---|---|
| string | 1328 |
Observed values
Sampled from the specifications, most frequent first.
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 data & schema semantics job.