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-clusterscoreapi-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: Reporting Cluster Score API
version: 0.0.1
description: Manages Cluster Score API.
servers:
- url: https://api.cast.ai/
description: US endpoint
- url: https://api.eu.cast.ai/
description: EU endpoint
security:
- BearerAuth: []
- ApiKeyAuth: []
tags:
- name: ClusterScoreAPI
description: Manages Cluster Score API.
paths:
/reporting/v1beta/organizations/{organizationId}/clusters/{clusterId}/restriction-details:
get:
tags:
- ClusterScoreAPI
summary: Returns details of a cluster restriction
description: Returns details of a restriction.
operationId: ClusterScoreAPI_GetClusterRestrictionDetails
parameters:
- name: organizationId
in: path
description: ID of the organization.
required: true
schema:
type: string
- name: clusterId
in: path
description: ID of the cluster.
required: true
schema:
type: string
- name: resourceName
in: query
description: Name of the resource.
schema:
type: string
- name: resourceKind
in: query
description: Kind of the resource.
schema:
type: string
- name: resourceNamespace
in: query
description: Namespace of the resource.
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ClusterRestrictionDetails'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/reporting/v1beta/organizations/{organizationId}/clusters/{clusterId}/restrictions:
get:
tags:
- ClusterScoreAPI
summary: Returns restrictions for cluster
description: Returns restrictions for cluster.
operationId: ClusterScoreAPI_ListClusterRestrictions
parameters:
- name: organizationId
in: path
description: ID of the organization.
required: true
schema:
type: string
- name: clusterId
in: path
description: ID of the 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
- name: sort.field
in: query
description: The field name to order by. Nested fields can be specified by using a dot (e.g. user.name).
schema:
type: string
- name: sort.order
in: query
description: The order of returned items. Default is ASC.
schema:
enum:
- ASC
- asc
- DESC
- desc
type: string
format: enum
- name: filter.resourceNames
in: query
description: Filter by resource names.
schema:
type: array
items:
type: string
- name: filter.resourceKinds
in: query
description: Filter by resource kinds.
schema:
type: array
items:
type: string
- name: filter.resourceNamespaces
in: query
description: Filter by resource namespaces.
schema:
type: array
items:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListClusterRestrictionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
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).'
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.
ClusterRestrictionDetails:
type: object
properties:
updateTime:
type: string
description: Time of the last update.
format: date-time
manifests:
type: array
items:
$ref: '#/components/schemas/ClusterRestrictionDetails_Manifest'
description: List of manifests related to the selected resource.
restrictions:
type: array
items:
$ref: '#/components/schemas/ClusterRestrictionDetails_Restriction'
description: List of restrictions related to the selected resource.
description: Response containing details of a restriction.
Restriction_Issue:
type: object
properties:
id:
type: string
description: UUID of the issue.
reason:
type: string
description: "Reason for the issue.\n Options are: missing_liveness_probe, missing_readiness_probe, too_strict_pdb, lack_of_pdb, missing_unavailable_setting,\n too_high_skew, missing_topology_spread_constraints, unsupported_node_selector,strict_pod_anti_affinity."
startLine:
type: integer
description: Line number where the issue starts in the manifest.
format: int32
endLine:
type: integer
description: Line number where the issue ends in the manifest.
format: int32
manifestId:
allOf:
- $ref: '#/components/schemas/ResourceID'
description: The problematic manifest this issue is related to.
additionalContext:
type: object
additionalProperties:
type: string
description: Additional context for this issue.
description: Issue represents a specific problem in a manifest.
ListClusterRestrictionsResponse:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/ListClusterRestrictionsResponse_ResourceRestrictions'
description: List of restrictions.
nextPageCursor:
type: string
description: A page cursor to retrieve the next page of results.
totalCount:
type: integer
description: Total count of items matching the filters.
format: int32
description: Response containing restrictions for cluster.
ResourceID:
type: object
properties:
resourceName:
type: string
description: Name of the resource.
resourceKind:
type: string
description: Kind of the resource.
resourceNamespace:
type: string
description: Namespace of the resource.
description: "ResourceID identifies a Kubernetes resource. For example:\n \"nginx\" of kind \"Deployment\" in namespace \"production\",\n \"nxing-pdb\" of kind \"PodDisruptionBudget\" in namespace \"production\"."
ListClusterRestrictionsResponse_ResourceRestrictions:
type: object
properties:
resource:
allOf:
- $ref: '#/components/schemas/ResourceID'
description: Resource identifier for the restriction.
restrictionIds:
type: array
items:
type: string
description: List of restriction IDs.
description: ResourceRestrictions represents restrictions on a Kubernetes resource.
ClusterRestrictionDetails_Restriction:
type: object
properties:
type:
type: string
description: "Type of the restriction.\n Options are: pod_anti_affinity, pod_disruption_budget, node_selectors, resource_quota_limit, topology_spread_constraint, missing_probes."
issues:
type: array
items:
$ref: '#/components/schemas/Restriction_Issue'
description: List of issues related to the restriction.
description: Restriction represents a restriction on a resource.
ClusterRestrictionDetails_Manifest:
type: object
properties:
id:
allOf:
- $ref: '#/components/schemas/ResourceID'
description: Resource identifier for the manifest.
displayName:
type: string
description: Display name of the manifest.
manifestYaml:
type: string
description: YAML representation of the manifest.
description: Manifest represents a Kubernetes manifest.
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/budgetsapi_createbudget.md
- https://docs.cast.ai/reference/budgetsapi_deletebudget.md
- https://docs.cast.ai/reference/budgetsapi_getbudget.md
- https://docs.cast.ai/reference/budgetsapi_listbudgets.md
- https://docs.cast.ai/reference/budgetsapi_previewbudgetcost.md
- https://docs.cast.ai/reference/budgetsapi_updatebudget.md
- https://docs.cast.ai/reference/clusterscoreapi_getclusterrestrictiondetails.md
- https://docs.cast.ai/reference/clusterscoreapi_listclusterrestrictions.md
- https://docs.cast.ai/reference/containerlivemigrationapi_getcontainerlivemigrationdetail.md
- https://docs.cast.ai/reference/containerlivemigrationapi_getcontainerlivemigrationsummary.md
- https://docs.cast.ai/reference/containerlivemigrationapi_listcontainerlivemigrationevents.md
- https://docs.cast.ai/reference/containerlivemigrationapi_listcontainerlivemigrationfiltervalues.md
- https://docs.cast.ai/reference/containerlivemigrationapi_listcontainerlivemigrationincompatibleworkloads.md
- https://docs.cast.ai/reference/containerlivemigrationapi_listcontainerlivemigrations.md
- https://docs.cast.ai/reference/containerlivemigrationapi_listcontainerlivemigrationworkloads.md
- https://docs.cast.ai/reference/instanceapi_getinstancessummary.md
- https://docs.cast.ai/reference/instanceapi_listinstances.md
- https://docs.cast.ai/reference/nodeconditioneventsapi_listnodeconditionevents.md
- https://docs.cast.ai/reference/nodetemplateapi_getspotinterruptionpredictionperformancesummary.md
- https://docs.cast.ai/reference/nodetemplateapi_listnodetemplatesmetrics.md
- https://docs.cast.ai/reference/nodetemplateapi_listnodetemplatesmetricsfiltered.md
- https://docs.cast.ai/reference/nodetemplateapi_listspotinterruptionpredictionperformancemetrics.md
- https://docs.cast.ai/reference/optimizationapi_runclusteroptimizationsreport.md
- https://docs.cast.ai/reference/reliabilitymetricsapi_getclusterreliabilitymetrics.md
- https://docs.cast.ai/reference/reliabilitymetricsapi_getorganizationclustersreliabilitymetrics.md
- https://docs.cast.ai/reference/valuerealizationapi_getbaselineparams.md
- https://docs.cast.ai/reference/valuerealizationapi_recalculatebaselineparams.md
- https://docs.cast.ai/reference/valuerealizationapi_runclustersvaluerealizationreport.md
- https://docs.cast.ai/reference/valuerealizationapi_runvaluerealizationtimelinereport.md
- https://docs.cast.ai/reference/valuerealizationapi_runworkloadsvaluerealizationreport.md
- https://docs.cast.ai/reference/valuerealizationapi_updatebaselineparams.md
merge:
pages: 31
deduped: 179
conflicts_kept_first: 0