Kinference · Schema
InferencePool (kinference.buoyant.io/v1alpha1)
A set of inference endpoints, optionally associated with a policy.
CompanyInferenceKubernetesvLLMLLM GatewayRate LimitingLoad BalancingOpen SourcePlatform Engineering
Properties
| Name | Type | Description |
|---|---|---|
| apiVersion | string | |
| kind | string | |
| metadata | object | |
| spec | object | |
| status | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/kinference-ai/json-schema/kinference-ai-inferencepool-schema.json",
"title": "InferencePool (kinference.buoyant.io/v1alpha1)",
"x-source": "https://github.com/Kinference-AI/kinference/blob/main/charts/kinference-crds/templates/kinference.buoyant.io_inferencepools.yaml",
"x-derived-from": "Kubernetes CRD spec.versions[].schema.openAPIV3Schema, copied unmodified",
"x-generated": "2026-11-05",
"description": "A set of inference endpoints, optionally associated with a policy.",
"type": "object",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"type": "object",
"properties": {
"destinations": {
"description": "List of InferenceWorkerSet and InferenceProviders in this\npool. If empty, includes every InferenceWorkerSet (but not\nInferenceProvider) in this namespace.",
"type": "array",
"maxItems": 64,
"x-kubernetes-list-type": "atomic",
"items": {
"type": "object",
"required": [
"kind"
],
"properties": {
"group": {
"type": "string",
"default": "kinference.buoyant.io",
"maxLength": 253
},
"kind": {
"type": "string",
"enum": [
"InferenceWorkerSet",
"InferenceProvider"
]
},
"name": {
"type": "string",
"maxLength": 253
},
"namespace": {
"type": "string",
"maxLength": 253
},
"selector": {
"type": "object",
"properties": {
"matchLabels": {
"type": "object",
"maxProperties": 64,
"additionalProperties": {
"type": "string"
}
}
}
}
},
"x-kubernetes-validations": [
{
"rule": "has(self.name) != has(self.selector)",
"message": "exactly one of name or selector"
}
]
}
},
"policyRef": {
"description": "An InferencePolicy determining how endpoints in this pool are\nchosen. If unset, will do basic model routing: any endpoint\nserving the model in the request (including aliases) will be\nconsidered, and the one with the lowest expected TTFT will be\nchosen.",
"type": "object",
"required": [
"name"
],
"properties": {
"group": {
"type": "string",
"default": "kinference.buoyant.io",
"maxLength": 253
},
"kind": {
"type": "string",
"default": "InferencePolicy",
"maxLength": 253
},
"name": {
"type": "string",
"maxLength": 253
}
}
}
}
},
"status": {
"type": "object",
"properties": {
"state": {
"type": "string",
"maxLength": 256
},
"destinationCount": {
"type": "integer"
},
"models": {
"type": "array",
"maxItems": 128,
"x-kubernetes-list-type": "atomic",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 512
},
"servedBy": {
"type": "array",
"maxItems": 64,
"items": {
"type": "string",
"maxLength": 253
}
},
"contextWindow": {
"type": "object",
"properties": {
"min": {
"type": "integer"
},
"max": {
"type": "integer"
}
}
}
}
}
},
"unresolvedDestinations": {
"type": "array",
"maxItems": 64,
"x-kubernetes-list-type": "atomic",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"maxLength": 253
},
"name": {
"type": "string",
"maxLength": 253
},
"reason": {
"type": "string",
"maxLength": 64
}
}
}
},
"conditions": {
"type": "array",
"maxItems": 8,
"x-kubernetes-list-type": "map",
"x-kubernetes-list-map-keys": [
"type"
],
"items": {
"type": "object",
"required": [
"type",
"status",
"lastTransitionTime",
"reason",
"message"
],
"properties": {
"type": {
"type": "string",
"maxLength": 316
},
"status": {
"type": "string",
"enum": [
"True",
"False",
"Unknown"
]
},
"observedGeneration": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"lastTransitionTime": {
"type": "string",
"format": "date-time"
},
"reason": {
"type": "string",
"maxLength": 1024
},
"message": {
"type": "string",
"maxLength": 32768
}
}
}
},
"parents": {
"type": "array",
"maxItems": 32,
"x-kubernetes-list-type": "atomic",
"items": {
"type": "object",
"required": [
"parentRef"
],
"properties": {
"parentRef": {
"type": "object",
"required": [
"name"
],
"properties": {
"group": {
"type": "string",
"default": "gateway.networking.k8s.io",
"maxLength": 253
},
"kind": {
"type": "string",
"default": "Gateway",
"maxLength": 253
},
"name": {
"type": "string",
"maxLength": 253
},
"namespace": {
"type": "string",
"maxLength": 253
}
}
},
"controllerName": {
"type": "string",
"maxLength": 253,
"pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\\/[A-Za-z0-9\\/\\-._~%!$&'()*+,;=:]+$"
},
"conditions": {
"type": "array",
"maxItems": 8,
"x-kubernetes-list-type": "map",
"x-kubernetes-list-map-keys": [
"type"
],
"items": {
"type": "object",
"required": [
"type",
"status",
"lastTransitionTime",
"reason",
"message"
],
"properties": {
"type": {
"type": "string",
"maxLength": 316
},
"status": {
"type": "string",
"enum": [
"True",
"False",
"Unknown"
]
},
"observedGeneration": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"lastTransitionTime": {
"type": "string",
"format": "date-time"
},
"reason": {
"type": "string",
"maxLength": 1024
},
"message": {
"type": "string",
"maxLength": 32768
}
}
}
}
}
}
}
}
}
}
}
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/kinference-ai-inferencepool"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.