{"openapi":"3.1.0","servers":[{"url":"https://ai.peculiar.cloud"}],"info":{"title":"AI Rating API","description":"Daily-updated AI model rankings across quality, Arena performance, and price tiers.\n\nProvider coverage: the pipeline reads the full OpenRouter model catalog, with no provider allowlist. A model is published only when it can be matched to Artificial Analysis quality data, because quality is a required scoring signal. This allows providers beyond Google/OpenAI/Anthropic/Mistral, including GLM and Grok models, to appear as soon as they have usable cross-source data.\n\nScoring: the composite score reflects capability only = quality 60% + LM Arena ELO 40%. Quality is Artificial Analysis intelligence_index normalized to a fixed 0-100 reference. ELO is LM Arena rating normalized against a fixed 1000-1450 reference. Price is deliberately excluded from the score so a cheap model cannot outrank a stronger one; cost is expressed by the price tiers instead. When Arena data is missing, its weight is redistributed to quality rather than treating ELO as zero. Each model also carries an informational scores.value (quality per blended dollar) that is not part of the composite.\n\nTiering: low, medium, and high tiers are assigned from a single blended effective cost per million tokens = (prompt*3 + completion*1)/4, so a model sits in the tier matching its realistic spend rather than being bumped a whole tier by one price dimension. Caps: low <= $0.60/M, medium <= $2.00/M, high <= $12.00/M; models above the high cap are excluded. Within a tier, models are ranked by the capability score.\n\nFreshness: rankings are rebuilt daily at 06:00 UTC. If OpenRouter or Artificial Analysis fails, the last published snapshot stays live and health metadata records the failure.","version":"1.0.0"},"externalDocs":{"description":"TypeScript examples and OpenRouter integration notes","url":"https://ai.peculiar.cloud/examples"},"paths":{"/v1/models/{category}/{tier}":{"get":{"operationId":"getV1ModelsByCategoryByTier","description":"Get ranked model list for a category and price tier","responses":{"200":{"description":"Ranked model list","content":{"application/json":{"schema":{"type":"object","properties":{"category":{"enum":["text","vision"],"type":"string"},"tier":{"enum":["low","medium","high"],"type":"string"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"tier_config":{"type":"object","properties":{"max_cost_per_million":{"type":"number"}},"required":["max_cost_per_million"]},"models":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string"},"score":{"type":"number"},"scores":{"type":"object","properties":{"quality":{"type":"number"},"arena_elo":{"type":"number"},"value":{"type":"number"},"popularity":{"type":"number"}},"required":[]},"pricing":{"type":"object","properties":{"prompt_per_million":{"type":"number"},"completion_per_million":{"type":"number"}},"required":["prompt_per_million","completion_per_million"]},"context_length":{"type":"number"},"modalities":{"type":"object","properties":{"input":{"type":"array","items":{"type":"string"}},"output":{"type":"array","items":{"type":"string"}}},"required":["input","output"]},"supports_reasoning":{"type":"boolean"},"sources":{"type":"object","properties":{"aa":{"type":"boolean"},"arena":{"type":"boolean"}},"required":["aa","arena"]},"effort_variant":{"type":"string"},"openrouter_params":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["id","name","provider","score","scores","pricing","context_length","modalities","supports_reasoning","sources"]}}},"required":["category","tier","updated_at","tier_config","models"]}}}},"404":{"description":"No data available yet","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}},"required":["error"]}}}},"500":{"description":"Stored data is corrupted","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}},"required":["error"]}}}}},"parameters":[{"in":"path","name":"category","schema":{"enum":["text","vision"],"type":"string"},"required":true},{"in":"path","name":"tier","schema":{"enum":["low","medium","high"],"type":"string"},"required":true}]}},"/v1/health":{"get":{"operationId":"getV1Health","description":"Worker health and data freshness","responses":{"200":{"description":"Health status","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"enum":["ok","degraded","stale"],"type":"string"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"age_hours":{"anyOf":[{"type":"number"},{"type":"null"}]},"sources":{"type":"object","properties":{"artificial_analysis":{"enum":["ok","failed"],"type":"string"},"lm_arena":{"enum":["ok","failed"],"type":"string"},"openrouter":{"enum":["ok","failed"],"type":"string"}},"required":["artificial_analysis","lm_arena","openrouter"]}},"required":["status","updated_at","age_hours","sources"]}}}}}}},"/v1/meta":{"get":{"operationId":"getV1Meta","description":"API configuration metadata","responses":{"200":{"description":"Configuration info","content":{"application/json":{"schema":{"type":"object","properties":{"tier_config":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"max_cost_per_million":{"type":"number"}},"required":["max_cost_per_million"]}},"scoring_weights":{"type":"object","properties":{"quality":{"type":"number"},"elo":{"type":"number"}},"required":["quality","elo"]},"provider_scope":{"enum":["all_openrouter_providers"],"type":"string"},"models_per_tier":{"type":"number"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["tier_config","scoring_weights","provider_scope","models_per_tier","updated_at"]}}}}}}}},"components":{}}