Three quarters of the OpenAPI extensions we track are used by one provider

Three quarters of the OpenAPI extensions we track are used by one provider

The apis.io extensions section catalogs 3,299 distinct x- keys, seen 808,034 times across 36,552 specs from 9,586 providers. 2,512 of those keys, or 76%, appear at a single provider. The x- namespace is mostly private vocabulary, and only a small part of it works as a shared language.

Who shapes the namespace

Extension Uses Providers Filed under
x-ms-docs-key-type 58,047 2 Documentation & DX
x-nullable 42,642 53 Data & schema semantics
x-microcks-default 26,530 275 Data & schema semantics
x-adpParameterData 25,528 2 Data & schema semantics
x-microcks-operation 22,384 417 Data & schema semantics
x-provenance 1,250 313 Provenance
x-logo 1,250 485 Documentation & DX

Use count and reach are different measures. The most used key in the catalog comes from two providers, while x-logo, the key with the widest reach, has about one forty-sixth of its uses. Microsoft’s ms namespace alone accounts for 199 keys and 167,013 uses, about 21% of everything we counted. If you rank extensions by raw occurrences, you mostly learn who publishes the largest specs. Rank by provider count if you want to know what the industry has actually adopted.

What the section gets wrong, in public

This is our own section, so here is what reading it critically turns up.

The biggest purpose is a catch-all. Data & schema semantics holds 2,120 of the 3,299 keys, 64% of the section. The next largest, Documentation & DX, holds 303. That facet is not doing much sorting.

Our classifier misfiles things we can see. There is a Mocking & testing purpose with 72 entries, but x-microcks-operation and x-microcks-default both sit under Data & schema semantics. They are vendor-namespaced keys, and the observed sample value, { delay: 0, dispatcher: FALLBACK }, reads as mock behavior, not schema meaning.

Some entries are not extensions. The page says this itself: 371 entries are HTTP header names, kept and flagged because removing them would hide why the namespace looks larger than it is. x-fapi-interaction-id, at 10,490 uses across 80 providers, is a header. x-200 shows another kind of noise. It sits on response objects, and its samples are strings such as Esim voucher error:, which look like labels and not a shared convention.

Our fingerprints are in the corpus. The page describes the section as built from every as-published OpenAPI. Yet 45 entries carry API Evangelist provenance, with 5,807 uses, and x-provenance reaches 313 providers. One sample value reads “Reconstructed by API Evangelist.” The section is right to flag these. The honest reading is that the “as-published” corpus includes documents we rebuilt, and anyone counting adoption should subtract those keys before drawing conclusions.

Why it is still worth having

Most of these keys have no published definition to quote. The section’s descriptions are derived from evidence, meaning where a key appears, what its value looks like and who uses it, and the page says to read them as observation. An agent that hits an unknown key gets a real answer about how it behaves in the wild, with a hedge attached. That is better than a confident guess.

Takeaway

Before you depend on an x- key, check how many providers use it: most have an audience of one. The next work on our side is to break up the catch-all purpose and reclassify the Microcks keys. Explore it all at apis.io/extensions/.

← Moov's Transfers API answers asynchronously unless you ask it to wait 15 seconds
x402 Leads the Market for Agents, and Almost None of It Lets an Agent Rehearse a Payment →