Curated official OpenAPI / Discovery specifications for major AI providers, with overlay support for OpenAI-compatible vendors and daily upstream sync with drift detection.
Project description
ai-vendor-specs
Curated official OpenAPI / Discovery specifications for major AI providers — daily upstream sync with drift detection.
Languages: English · 简体中文 · 日本語
ai-vendor-specs collects the source-of-truth API specifications published by major AI providers (OpenAI, Anthropic, Cohere, Google, Microsoft, plus OpenAI-compatible providers) and exposes them as one consistent dataset for downstream tools: SDK generators, gateways, doc sites, contract testing, IDE intelligence, and AI agent tool registries.
For variants without a machine-readable spec (e.g. Claude on AWS Bedrock, or OpenAI-compatible providers like Groq), differences are declared in compact overlay files that compose against a base spec at resolve time. The repository itself never stores derived artifacts — every byte traces back to an officially published upstream.
Coverage
| Protocol | Provider | Kind | Upstream source |
|---|---|---|---|
| openai | official | spec | Stainless |
| openai | azure | spec | Azure REST API Specs (stable 2024-10-21) |
| openai | azure-preview | spec | Azure REST API Specs (preview 2025-04-01-preview) |
| openai | deepseek | overlay | api-docs.deepseek.com |
| openai | groq | overlay | console.groq.com/docs |
| openai | together | overlay | docs.together.ai |
| openai | xai | overlay | docs.x.ai |
| anthropic | official | spec | Anthropic SDK .stats.yml → Stainless |
| anthropic | bedrock | overlay | AWS Bedrock docs |
| cohere | official | spec | cohere-developer-experience |
| gemini | official | spec | Google Discovery (generativelanguage.googleapis.com) |
| vertex | official | spec | Google Discovery (aiplatform.googleapis.com) |
Full upstream URLs, sync methods, and version pinning details: docs/SOURCES.md.
Installation
npm
npm install @aihubmix/ai-vendor-specs
git submodule
git submodule add https://github.com/AIhubmix/ai-vendor-specs.git ai-vendor-specs
git submodule update --init --remote ai-vendor-specs
pip
pip install ai-vendor-specs
The Python package ships the same upstream data and a small read-only API. Overlay composition is currently JavaScript-only; see Python usage below.
Direct download (no runtime needed)
# raw GitHub
curl https://raw.githubusercontent.com/AIhubmix/ai-vendor-specs/main/upstream/openai/official/openapi.yml
# jsDelivr CDN
curl https://cdn.jsdelivr.net/gh/AIhubmix/ai-vendor-specs@main/upstream/openai/official/openapi.yml
Usage
Load any upstream spec
const { loadSpec } = require('@aihubmix/ai-vendor-specs');
// Pure spec — direct file load
const openai = loadSpec('avs://openai/official');
// Overlay-kind entries auto-compose base + overlay
const bedrock = loadSpec('avs://anthropic/bedrock');
const xai = loadSpec('avs://openai/xai');
// Drill down to a specific schema via JSON Pointer
const cacheControl = loadSpec(
'avs://anthropic/official#/components/schemas/CacheControlEphemeral'
);
Discover everything available
const manifest = require('@aihubmix/ai-vendor-specs/manifest.json');
for (const [key, entry] of Object.entries(manifest.upstream)) {
console.log(key, entry.kind, entry.rawUrl);
}
Or fetch the manifest directly without any runtime:
curl https://cdn.jsdelivr.net/gh/AIhubmix/ai-vendor-specs@main/manifest.json
Python
import ai_vendor_specs as avs
# Catalog
manifest = avs.load_manifest()
for vendor in avs.list_vendors():
print(vendor['key'], vendor['kind'])
# Single lookup
xai = avs.get_vendor('openai', 'xai')
# Raw spec file path (overlay-kind entries return the overlay.yml; compose
# via the JavaScript resolver or wait for the Python composer)
spec_path = avs.load_spec_path('openai', 'official')
The avs:// URI scheme
All references to upstream specs use one consistent URI scheme:
avs://<protocol>/<provider>[#<JSON-Pointer>]
| Example | Resolves to |
|---|---|
avs://openai/official |
The full OpenAI OpenAPI spec |
avs://anthropic/bedrock |
The composed Bedrock spec (base + overlay) |
avs://anthropic/official#/components/schemas/Message |
One schema in the Anthropic spec |
avs://gemini/official |
The Gemini Google Discovery document |
The resolver looks for the data root in this order:
- The
AVS_ROOTenvironment variable (explicit override) - The current working directory if it is the repo itself
node_modules/@aihubmix/ai-vendor-specs/(npm install)- A sibling
ai-vendor-specs/directory (git submodule)
You can write overlays or consumer code without caring which deployment mode is in use.
Documentation
| Document | Audience | Content |
|---|---|---|
| Architecture | Anyone | Design, kinds, metadata schema, overlay syntax |
| Usage Guide | Consumers | Consumption patterns, common scenarios |
| Sources | Auditors | Upstream URLs and sync methods, per-vendor details |
| Contributing | Contributors | Adding new vendors, repo development, drift, webhook |
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_vendor_specs-0.1.0.tar.gz.
File metadata
- Download URL: ai_vendor_specs-0.1.0.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0cf19eb75cf58f6b74a1318e4f811681adc0c74990fec1847eec6b96a140009
|
|
| MD5 |
209413374810ce845eeb98cafe932662
|
|
| BLAKE2b-256 |
6c13edc1bc21b17050d68f4e66e2699392a573635e3f41f6b26353e770b2a91a
|
Provenance
The following attestation bundles were made for ai_vendor_specs-0.1.0.tar.gz:
Publisher:
publish-pypi.yml on AIhubmix/ai-vendor-specs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_vendor_specs-0.1.0.tar.gz -
Subject digest:
e0cf19eb75cf58f6b74a1318e4f811681adc0c74990fec1847eec6b96a140009 - Sigstore transparency entry: 1624240277
- Sigstore integration time:
-
Permalink:
AIhubmix/ai-vendor-specs@f91e96e21fb333ae2c9f3322f0ade2e536cac6d0 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/AIhubmix
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@f91e96e21fb333ae2c9f3322f0ade2e536cac6d0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ai_vendor_specs-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ai_vendor_specs-0.1.0-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c94ba374d4dfc38c7321ce09a2aa0512c2ceb01301bb300adfee14ea4bf0cd22
|
|
| MD5 |
6893ad050d243f5205608086cfe8f2ce
|
|
| BLAKE2b-256 |
3c5cd0d9a4acddd09978d5b3aa4ae1d78b0aa39caf6f8f01933a91467b540fd6
|
Provenance
The following attestation bundles were made for ai_vendor_specs-0.1.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on AIhubmix/ai-vendor-specs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_vendor_specs-0.1.0-py3-none-any.whl -
Subject digest:
c94ba374d4dfc38c7321ce09a2aa0512c2ceb01301bb300adfee14ea4bf0cd22 - Sigstore transparency entry: 1624240300
- Sigstore integration time:
-
Permalink:
AIhubmix/ai-vendor-specs@f91e96e21fb333ae2c9f3322f0ade2e536cac6d0 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/AIhubmix
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@f91e96e21fb333ae2c9f3322f0ade2e536cac6d0 -
Trigger Event:
push
-
Statement type: