Work with this as data
Every API 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 apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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 API
curl "https://apis.io/api/v1/apis/kimchi:kimchi-kentrollerapi-api"
All apis
curl "https://apis.io/api/v1/apis?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.
OpenAPI Specification
openapi: 3.2.0
info:
title: Kentroller API
version: 0.0.1
description: Provides an API to manage Kentroller
servers:
- url: https://api.cast.ai/
description: US endpoint
- url: https://api.eu.cast.ai/
description: EU endpoint
security:
- BearerAuth: []
- ApiKeyAuth: []
tags:
- name: KentrollerAPI
description: Provides an API to manage Kentroller
paths:
/kent/v1alpha/organizations/{organizationId}/clusters/{clusterId}/diagnostic-reports:
post:
tags:
- KentrollerAPI
description: Creates an on-demand diagnostic report request for a connected Kentroller.
operationId: KentrollerAPI_CreateDiagnosticReport
parameters:
- name: organizationId
in: path
description: organization_id identifies the organization that owns the cluster.
required: true
schema:
type: string
- name: clusterId
in: path
description: cluster_id identifies the target cluster.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDiagnosticReportRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DiagnosticReport'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
summary: Kentroller API create diagnostic report
x-summary-source: derived
get:
tags:
- KentrollerAPI
description: Lists diagnostic reports for a cluster.
operationId: KentrollerAPI_ListDiagnosticReports
parameters:
- name: organizationId
in: path
description: organization_id identifies the organization that owns the cluster.
required: true
schema:
type: string
- name: clusterId
in: path
description: cluster_id identifies the target cluster.
required: true
schema:
type: string
- name: page.limit
in: query
description: Defines the number of items that should be returned
schema:
type: string
- name: page.cursor
in: query
description: "Cursor that defines token indicating where to start the next page.\n Empty value indicates to start from beginning of the dataset."
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListDiagnosticReportsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
summary: Kentroller API list diagnostic reports
x-summary-source: derived
/kent/v1alpha/organizations/{organizationId}/clusters/{clusterId}/diagnostic-reports/{id}:
get:
tags:
- KentrollerAPI
description: Returns a diagnostic report by id.
operationId: KentrollerAPI_GetDiagnosticReport
parameters:
- name: organizationId
in: path
description: organization_id identifies the organization that owns the cluster.
required: true
schema:
type: string
- name: clusterId
in: path
description: cluster_id identifies the target cluster.
required: true
schema:
type: string
- name: id
in: path
description: id is the diagnostic report id.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DiagnosticReport'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
summary: Kentroller API get diagnostic report
x-summary-source: derived
components:
schemas:
Status:
type: object
properties:
code:
type: integer
description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
format: int32
message:
type: string
description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
details:
type: array
items:
$ref: '#/components/schemas/GoogleProtobufAny'
description: A list of messages that carry the error details. There is a common set of message types for APIs to use.
description: 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'
ListDiagnosticReportsResponse:
type: object
properties:
reports:
type: array
items:
$ref: '#/components/schemas/DiagnosticReport'
description: reports is ordered by create_time descending.
description: ListDiagnosticReportsResponse contains diagnostic reports for a cluster.
CreateDiagnosticReportRequest:
required:
- organizationId
- clusterId
type: object
properties:
organizationId:
type: string
description: organization_id identifies the organization that owns the cluster.
clusterId:
type: string
description: cluster_id identifies the target cluster.
cpuSeconds:
type: integer
description: "cpu_seconds controls CPU profile duration. Server validates it and applies a default when omitted.\n (-- api-linter: core::0142::time-field-type=disabled\n aip.dev/not-precedent: This field stores a duration as seconds, not a timestamp. --)"
format: int32
includeMutex:
type: boolean
description: include_mutex enables mutex profile collection for this run.
includeBlock:
type: boolean
description: include_block enables blocking profile collection for this run.
mutexProfileFraction:
type: integer
description: mutex_profile_fraction is passed to runtime.SetMutexProfileFraction when include_mutex is true.
format: int32
blockProfileRate:
type: integer
description: block_profile_rate is passed to runtime.SetBlockProfileRate when include_block is true.
format: int32
description: CreateDiagnosticReportRequest starts a manual on-demand diagnostics collection.
DiagnosticReport:
type: object
properties:
id:
readOnly: true
type: string
description: id is the cluster-local diagnostic report id.
clusterId:
readOnly: true
type: string
description: cluster_id is the cluster that produced this report.
status:
readOnly: true
enum:
- DIAGNOSTIC_REPORT_STATUS_UNSPECIFIED
- DIAGNOSTIC_REPORT_STATUS_STARTED
- DIAGNOSTIC_REPORT_STATUS_DONE
- DIAGNOSTIC_REPORT_STATUS_FAILED
type: string
description: status is the current collection status.
format: enum
diagnosticsPath:
readOnly: true
type: string
description: diagnostics_path is the GCS URI of the stored bundle. It is set only when status is DONE.
createTime:
readOnly: true
type: string
description: create_time is when the report row was created.
format: date-time
description: DiagnosticReport is a stored on-demand diagnostics bundle.
GoogleProtobufAny:
type: object
properties:
'@type':
type: string
description: The type of the serialized message.
additionalProperties: true
description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
x-provenance:
method: searched
source: https://docs.cast.ai/reference
harvested: '2026-10-20'
tool: harvest-readme-openapi.py
note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
assembled_from:
- https://docs.cast.ai/reference/awsdataproxyapi_getdata.md
- https://docs.cast.ai/reference/azuredataproxyapi_getdata.md
- https://docs.cast.ai/reference/clustersapi_onboardclusterscript-1.md
- https://docs.cast.ai/reference/featuresapi_configurefeature.md
- https://docs.cast.ai/reference/featuresapi_getclusterfeatureinstallscript.md
- https://docs.cast.ai/reference/featuresapi_getclusterinstallscript.md
- https://docs.cast.ai/reference/featuresapi_getfeature.md
- https://docs.cast.ai/reference/featuresapi_getinstallscript.md
- https://docs.cast.ai/reference/featuresapi_getorganizationfeatureinstallscript.md
- https://docs.cast.ai/reference/featuresapi_getorganizationinstallscript.md
- https://docs.cast.ai/reference/featuresapi_getoverview.md
- https://docs.cast.ai/reference/featuresapi_getsummary.md
- https://docs.cast.ai/reference/featuresapi_listfeaturecompatibilities.md
- https://docs.cast.ai/reference/featuresapi_listfeatureconfigs.md
- https://docs.cast.ai/reference/featuresapi_listfeatures.md
- https://docs.cast.ai/reference/kentrollerapi_creatediagnosticreport.md
- https://docs.cast.ai/reference/kentrollerapi_getdiagnosticreport.md
- https://docs.cast.ai/reference/kentrollerapi_listdiagnosticreports.md
- https://docs.cast.ai/reference/machinelearningapi_predictspotinterruption.md
- https://docs.cast.ai/reference/nodeclassesapi_listaksnodeclasses.md
- https://docs.cast.ai/reference/nodeclassesapi_listec2nodeclasses.md
- https://docs.cast.ai/reference/nodeclassesapi_listnodeclasses.md
- https://docs.cast.ai/reference/nodeclassesapi_updateaksnodeclass.md
- https://docs.cast.ai/reference/nodeclassesapi_updateec2nodeclass.md
- https://docs.cast.ai/reference/nodeclassesapi_updatenodeclass.md
- https://docs.cast.ai/reference/nodeoverlaysapi_getnodeoverlay.md
- https://docs.cast.ai/reference/nodeoverlaysapi_listnodeoverlays.md
- https://docs.cast.ai/reference/nodepoolsapi_listnodepools.md
- https://docs.cast.ai/reference/nodepoolsapi_updatenodepool.md
- https://docs.cast.ai/reference/nodesapi_deletenode.md
- https://docs.cast.ai/reference/nodesapi_drainnode.md
- https://docs.cast.ai/reference/nodesapi_interruptnode.md
- https://docs.cast.ai/reference/operationsapi_getoperation-3.md
- https://docs.cast.ai/reference/opspilotreadapi_getresource.md
- https://docs.cast.ai/reference/opspilotreadapi_listresources.md
- https://docs.cast.ai/reference/rebalancingapi_cancelrebalancingplan.md
- https://docs.cast.ai/reference/rebalancingapi_createrebalancingplan.md
- https://docs.cast.ai/reference/rebalancingapi_executerebalancingplan.md
- https://docs.cast.ai/reference/rebalancingapi_getrebalancingconstraints.md
- https://docs.cast.ai/reference/rebalancingapi_getrebalancingplan.md
- https://docs.cast.ai/reference/rebalancingapi_listrebalancingplans.md
- https://docs.cast.ai/reference/rebalancingapi_listworkloads.md
- https://docs.cast.ai/reference/scheduledrebalancingapi_createrebalancingschedule-1.md
- https://docs.cast.ai/reference/scheduledrebalancingapi_deleterebalancingschedule-1.md
- https://docs.cast.ai/reference/scheduledrebalancingapi_getrebalancingschedule-1.md
- https://docs.cast.ai/reference/scheduledrebalancingapi_listrebalancingschedules-1.md
- https://docs.cast.ai/reference/scheduledrebalancingapi_togglerebalancingschedule.md
- https://docs.cast.ai/reference/scheduledrebalancingapi_updaterebalancingschedule-1.md
- https://docs.cast.ai/reference/statusapi_getkentstatus.md
merge:
pages: 49
deduped: 542
conflicts_kept_first: 0