Properties
| Name | Type | Description |
|---|---|---|
| id | string | Canonical model id (provider/model). |
| provider | string | |
| displayName | string | |
| aliases | array | |
| lifecycleState | string | - `announced` — Model has been announced by the provider but is not yet generally available. - `active` — Generally available. API calls succeed; recommended for new workloads. - `legacy` — Still call |
| announcedDate | stringnull | |
| deprecatedDate | stringnull | |
| retirementDate | stringnull | |
| sourceUrl | string | Primary provider source the record was verified against. |
| sourceTerm | string | Verbatim provider term that mapped to the canonical state. |
| openWeights | boolean | The model ships downloadable weights and can be self-hosted. Use this to tell a null `inputUsdPerMillion` that means "no per-token rate exists" apart from one that means "not in our data yet". Indepen |
| lastVerifiedAt | stringnull |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/llmintel-ai/json-schema/llmintel-ai-model-schema.json",
"title": "Model",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/llmintel-ai-openapi.json#/components/schemas/Model",
"type": "object",
"required": [
"id",
"provider",
"displayName",
"aliases",
"lifecycleState",
"sourceUrl",
"sourceTerm"
],
"properties": {
"id": {
"type": "string",
"description": "Canonical model id (provider/model)."
},
"provider": {
"type": "string",
"enum": [
"openai",
"anthropic",
"azure",
"bedrock",
"google",
"vertex",
"mistral",
"cohere"
]
},
"displayName": {
"type": "string"
},
"aliases": {
"type": "array",
"items": {
"type": "string"
}
},
"lifecycleState": {
"type": "string",
"enum": [
"announced",
"active",
"legacy",
"deprecated",
"retiring",
"retired"
],
"description": "- `announced` — Model has been announced by the provider but is not yet generally available.\n- `active` — Generally available. API calls succeed; recommended for new workloads.\n- `legacy` — Still callable, but superseded and no longer recommended for new workloads.\n- `deprecated` — No new customers/usage onboarding; existing API calls still succeed.\n- `retiring` — A hard retirement date is scheduled and imminent; calls still succeed until then.\n- `retired` — Shut down. API calls fail."
},
"announcedDate": {
"type": [
"string",
"null"
],
"format": "date"
},
"deprecatedDate": {
"type": [
"string",
"null"
],
"format": "date"
},
"retirementDate": {
"type": [
"string",
"null"
],
"format": "date"
},
"sourceUrl": {
"type": "string",
"format": "uri",
"description": "Primary provider source the record was verified against."
},
"sourceTerm": {
"type": "string",
"description": "Verbatim provider term that mapped to the canonical state."
},
"openWeights": {
"type": "boolean",
"description": "The model ships downloadable weights and can be self-hosted. Use this to tell a null `inputUsdPerMillion` that means \"no per-token rate exists\" apart from one that means \"not in our data yet\". Independent of pricing: a model may have public weights and a published per-token rate at the same time."
},
"lastVerifiedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/llmintel-ai-model"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.