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
View JSON Schema on GitHub

JSON Schema

kinference-ai-inferencepool-schema.json Raw ↑
{
  "$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.
All 92 tools →

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.