{"openapi":"3.1.0","info":{"title":"modelright API","version":"1.0.0","description":"Live registry of AI model specifications, context windows, and per-1M-token pricing across providers, synced hourly from OpenRouter with Artificial Analysis enrichment."},"servers":[{"url":"https://modelright.dev"}],"paths":{"/api/v1/models":{"get":{"operationId":"listModels","summary":"List tracked models","parameters":[{"name":"provider","in":"query","schema":{"type":"string"}},{"name":"modality","in":"query","schema":{"type":"string"}},{"name":"status","in":"query","schema":{"type":"string"}},{"name":"minContext","in":"query","schema":{"type":"integer"}},{"name":"maxInputPrice","in":"query","schema":{"type":"number"}},{"name":"freeOnly","in":"query","schema":{"type":"string","enum":["1","true"]}},{"name":"sort","in":"query","schema":{"type":"string","enum":["name","input_price_asc","input_price_desc","context_desc"]}},{"name":"limit","in":"query","schema":{"type":"integer","default":100,"maximum":500}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Paginated model list"}}}},"/api/v1/models/{provider}/{slug}":{"get":{"operationId":"getModel","summary":"Model detail with recent price snapshots","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string"}},{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Model detail"},"404":{"description":"Unknown provider/slug"}}}},"/api/v1/providers":{"get":{"operationId":"listProviders","summary":"List providers with model counts and min/max input price per 1M tokens","responses":{"200":{"description":"Provider list"}}}},"/api/v1/changes":{"get":{"operationId":"listChanges","summary":"Catalog change events (new_model, removed_model, price_change) from the last 30 days","parameters":[{"name":"days","in":"query","schema":{"type":"integer","default":30,"minimum":1,"maximum":90}}],"responses":{"200":{"description":"Change events, newest first"}}}},"/api/models/search":{"get":{"operationId":"searchModels","summary":"Substring search across name, slug, provider","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Up to 10 matching models"}}}},"/api/mcp":{"post":{"operationId":"mcp","summary":"MCP over Streamable HTTP — see /.well-known/mcp/server-card.json for tools","responses":{"200":{"description":"JSON-RPC / SSE response"}}}}}}