Properties
| Name | Type | Description |
|---|---|---|
| id | string | |
| scope | object | |
| mode | string | |
| snapshot_id | string | |
| source_status | string | |
| availability_basis | string | |
| decision | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/klisten-co-kr/json-schema/klisten-co-kr-model-route-decision-schema.json",
"title": "ModelRouteDecision",
"x-generated": "2026-10-29",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/klisten-co-kr-openapi.json#/components/schemas/ModelRouteDecision",
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"scope": {
"type": "object",
"properties": {
"org_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"visibility": {
"type": "string",
"const": "private"
}
},
"required": [
"org_id",
"visibility"
],
"additionalProperties": false
},
"mode": {
"type": "string",
"const": "recommendation_only"
},
"snapshot_id": {
"type": "string"
},
"source_status": {
"type": "string",
"enum": [
"current",
"stale",
"not_yet_valid"
]
},
"availability_basis": {
"type": "string",
"const": "source_listing"
},
"decision": {
"type": "object",
"properties": {
"policy_version": {
"type": "string",
"const": "modelroute.selection.v1"
},
"status": {
"type": "string",
"enum": [
"SELECTED",
"NO_ELIGIBLE_MODEL",
"INPUT_REQUIRED"
]
},
"selected_model_id": {
"type": [
"string",
"null"
]
},
"evaluated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"request_snapshot": {
"type": "object",
"properties": {
"task": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"input_tokens": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"max_output_tokens": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"max_cost_micro_usd": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"required_capabilities": {
"default": [],
"maxItems": 128,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"provider_allowlist": {
"maxItems": 128,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"region": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"benchmark_id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"benchmark_version": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"min_quality": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"task",
"max_cost_micro_usd"
],
"additionalProperties": false
},
"catalog_snapshot": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"provider": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"available": {
"type": "boolean"
},
"tasks": {
"maxItems": 128,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"capabilities": {
"maxItems": 128,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"regions": {
"maxItems": 128,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"context_tokens": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"max_output_tokens": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"observed_at": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
},
"expires_at": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
},
"price": {
"anyOf": [
{
"type": "object",
"properties": {
"version": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"currency": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"unit": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"input_rate": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"output_rate": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fixed_micro_usd": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"complete_upper_bound": {
"type": "boolean"
},
"valid_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
},
"expires_at": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
},
"source": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"official",
"third_party"
]
},
"url": {
"type": "string",
"maxLength": 2048,
"format": "uri"
}
},
"required": [
"kind",
"url"
],
"additionalProperties": false
}
},
"required": [
"version",
"currency",
"unit",
"input_rate",
"output_rate",
"fixed_micro_usd",
"complete_upper_bound",
"valid_from",
"expires_at",
"source"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"quality": {
"maxItems": 256,
"type": "array",
"items": {
"type": "object",
"properties": {
"benchmark_id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"benchmark_version": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"task": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"score": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"samples": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"observed_at": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
},
"expires_at": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
},
"source_url": {
"type": "string",
"maxLength": 2048,
"format": "uri"
}
},
"required": [
"benchmark_id",
"benchmark_version",
"task",
"score",
"samples",
"observed_at",
"expires_at",
"source_url"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"provider",
"available",
"tasks",
"capabilities",
"regions",
"context_tokens",
"max_output_tokens",
"observed_at",
"expires_at",
"price",
"quality"
],
"additionalProperties": false
}
},
"required_inputs": {
"type": "array",
"items": {
"type": "string",
"enum": [
"input_tokens",
"max_output_tokens"
]
}
},
"candidates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"model_id": {
"type": "string"
},
"provider": {
"type": "string"
},
"eligible": {
"type": "boolean"
},
"exclusions": {
"type": "array",
"items": {
"type": "string",
"enum": [
"UNAVAILABLE",
"TASK_UNSUPPORTED",
"CAPABILITY_UNSUPPORTED",
"PROVIDER_DISALLOWED",
"REGION_UNSUPPORTED",
"CONTEXT_LIMIT",
"OUTPUT_LIMIT",
"CAPABILITIES_NOT_CURRENT",
"PRICE_MISSING",
"PRICE_STALE",
"PRICE_NOT_YET_VALID",
"PRICE_SOURCE_UNTRUSTED",
"PRICE_BOUND_INCOMPLETE",
"PRICE_CURRENCY_UNSUPPORTED",
"PRICE_UNIT_UNSUPPORTED",
"COST_OUT_OF_RANGE",
"BUDGET_EXCEEDED",
"QUALITY_MISSING_OR_INCOMPARABLE",
"QUALITY_NOT_CURRENT",
"QUALITY_AMBIGUOUS",
"QUALITY_BELOW_MINIMUM"
]
}
},
"upper_cost_micro_usd": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"price_snapshot": {
"anyOf": [
{
"type": "object",
"properties": {
"version": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"currency": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"unit": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"input_rate": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"output_rate": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fixed_micro_usd": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"complete_upper_bound": {
"type": "boolean"
},
"valid_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
},
"expires_at": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
},
"source": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"official",
"third_party"
]
},
"url": {
"type": "string",
"maxLength": 2048,
"format": "uri"
}
},
"required": [
"kind",
"url"
],
"additionalProperties": false
}
},
"required": [
"version",
"currency",
"unit",
"input_rate",
"output_rate",
"fixed_micro_usd",
"complete_upper_bound",
"valid_from",
"expires_at",
"source"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"quality_snapshot": {
"anyOf": [
{
"type": "object",
"properties": {
"benchmark_id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"benchmark_version": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"task": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"score": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"samples": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"observed_at": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
},
"expires_at": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
},
"source_url": {
"type": "string",
"maxLength": 2048,
"format": "uri"
}
},
"required": [
"benchmark_id",
"benchmark_version",
"task",
"score",
"samples",
"observed_at",
"expires_at",
"source_url"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"model_id",
"provider",
"eligible",
"exclusions",
"upper_cost_micro_usd",
"price_snapshot",
"quality_snapshot"
],
"additionalProperties": false
}
},
"ranking": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"policy_version",
"status",
"selected_model_id",
"evaluated_at",
"request_snapshot",
"catalog_snapshot",
"required_inputs",
"candidates",
"ranking"
],
"additionalProperties": false
}
},
"required": [
"id",
"scope",
"mode",
"snapshot_id",
"source_status",
"availability_basis",
"decision"
],
"additionalProperties": false
}
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/klisten-co-kr-model-route-decision"
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.