Cast AI Cloud Asset API
Provides the API for managing cloud assets.
Provides the API for managing cloud assets.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/kimchi:kimchi-cloudassetapi-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Inventory Cloud Asset API
version: 0.0.1
description: Provides the API for managing cloud assets.
servers:
- url: https://api.cast.ai/
description: US endpoint
- url: https://api.eu.cast.ai/
description: EU endpoint
security:
- BearerAuth: []
- ApiKeyAuth: []
tags:
- name: CloudAssetAPI
description: Provides the API for managing cloud assets.
paths:
/inventory/v1beta/organizations/{organizationId}/cloud-assets/clusters:
get:
tags:
- CloudAssetAPI
summary: Lists clusters
description: Lists clusters.
operationId: CloudAssetAPI_ListClusters
parameters:
- name: organizationId
in: path
description: The ID of the organization.
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/ListClustersResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/inventory/v1beta/organizations/{organizationId}/cloud-assets:getReliabilityDataCommand:
get:
tags:
- CloudAssetAPI
summary: Get the reliability data collection command
description: Get the command that downloads and runs the reliability data collection script.
operationId: CloudAssetAPI_GetReliabilityDataCommand
parameters:
- name: organizationId
in: path
description: The ID of the organization.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetReliabilityDataCommandResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/inventory/v1beta/organizations/{organizationId}/cloud-assets:getReliabilityDataScript:
get:
tags:
- CloudAssetAPI
summary: Get the reliability data collection script
description: Get the reliability data collection script.
operationId: CloudAssetAPI_GetReliabilityDataScript
parameters:
- name: organizationId
in: path
description: The ID of the organization.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
'*/*': {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/inventory/v1beta/organizations/{organizationId}/cloud-assets:reconcileDiscoveredClusters:
post:
tags:
- CloudAssetAPI
summary: Reconcile discovered clusters
description: Reconciles discovered clusters with existing cluster inventory.
operationId: CloudAssetAPI_ReconcileDiscoveredClusters
parameters:
- name: organizationId
in: path
description: The ID of the organization.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReconcileDiscoveredClustersRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ReconcileDiscoveredClustersResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
components:
schemas:
ReconcileDiscoveredClustersResponse:
type: object
properties: {}
description: Response message for reconciling discovered clusters.
Optimization_Metrics:
type: object
properties:
cpu:
allOf:
- $ref: '#/components/schemas/Optimization_ResourceMetrics'
description: CPU resource metrics.
memory:
allOf:
- $ref: '#/components/schemas/Optimization_ResourceMetrics'
description: Memory resource metrics.
gpu:
allOf:
- $ref: '#/components/schemas/Optimization_ResourceMetrics'
description: GPU resource metrics.
nodeCount:
type: integer
description: The number of nodes in the cluster.
format: uint32
podCount:
type: integer
description: The number of pods in the cluster.
format: uint32
description: The metrics of the cluster.
ClusterScore_ResourceUtilization:
type: object
properties:
cpu:
allOf:
- $ref: '#/components/schemas/ClusterScore_StatusEvaluation'
description: CPU status evaluation.
ram:
allOf:
- $ref: '#/components/schemas/ClusterScore_StatusEvaluation'
description: Memory status evaluation.
workloadsWithoutRequests:
allOf:
- $ref: '#/components/schemas/ClusterScore_StatusEvaluation'
description: Workloads without requests evaluation.
workloadsWithCpuLimits:
allOf:
- $ref: '#/components/schemas/ClusterScore_StatusEvaluation'
description: Workloads with CPU limits evaluation.
description: Resource utilization.
DiscoveredClusters:
required:
- providerNamespaceId
- provider
- clusterNames
- region
type: object
properties:
providerNamespaceId:
type: string
description: Provider namespace ID, e.g. AWS account ID, Azure subscription ID, GCP project ID.
provider:
enum:
- CLOUD_UNSPECIFIED
- GCP
- AWS
- AZURE
- ORACLE
- NEBIUS
type: string
description: Cloud provider name.
format: enum
clusterNames:
type: array
items:
type: string
description: List of discovered cluster names.
region:
type: string
description: The cloud region of clusters to be reconciled
description: Represents clusters discovered in a cloud provider namespace.
Cluster:
type: object
properties:
id:
type: string
description: The ID of the cluster.
cloudId:
type: string
description: The cloud cluster ID of the cluster
castAiId:
type: string
description: Cast AI cluster ID - is onboarded if set.
organizationId:
type: string
description: The ID of the organization.
createTime:
type: string
description: Cluster creation timestamp.
format: date-time
region:
allOf:
- $ref: '#/components/schemas/Region'
description: Region where the cluster is located.
providerType:
enum:
- PROVIDER_TYPE_UNSPECIFIED
- GKE
- EKS
- AKS
type: string
description: Provider type.
format: enum
cloud:
enum:
- CLOUD_UNSPECIFIED
- GCP
- AWS
- AZURE
- ORACLE
- NEBIUS
type: string
description: Cloud provider.
format: enum
providerNamespaceId:
type: string
description: Provider namespace ID, e.g. AWS account ID, Azure subscription ID, GCP project ID.
name:
type: string
description: Cluster name
version:
type: string
description: Version of the cluster.
optimization:
allOf:
- $ref: '#/components/schemas/Optimization'
description: Cluster optimization details.
error:
allOf:
- $ref: '#/components/schemas/Error'
description: Error.
metadata:
allOf:
- $ref: '#/components/schemas/MetaData'
description: Cluster metadata.
updateTime:
type: string
description: Cluster update time
format: date-time
description: A cluster.
ReconcileDiscoveredClustersRequest:
required:
- organizationId
- discoveredClusters
type: object
properties:
organizationId:
type: string
description: The ID of the organization.
discoveredClusters:
type: array
items:
$ref: '#/components/schemas/DiscoveredClusters'
description: The cluster discoveries to reconcile.
description: Request message for reconciling discovered clusters.
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.
Error:
type: object
properties:
code:
type: string
description: The error code.
message:
type: string
description: The error message.
description: Error message for the cluster.
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).'
Optimization_ClusterScore:
type: object
properties:
resourceUtilization:
allOf:
- $ref: '#/components/schemas/ClusterScore_ResourceUtilization'
description: Resource utilization score.
description: Cluster score provides an overview of the cluster's health and optimization status.
GetReliabilityDataCommandResponse:
type: object
properties:
command:
type: string
description: The reliability data collection command.
trackingSessionId:
type: string
description: Tracking session ID that can be used to track script execution.
description: Response message for getting the reliability data collection command.
Region:
type: object
properties:
name:
type: string
description: The name of the region.
displayName:
type: string
description: The display name of the region.
description: Region
Optimization:
type: object
properties:
metrics:
allOf:
- $ref: '#/components/schemas/Optimization_Metrics'
description: Non optimized cluster metrics.
optimizationMetrics:
allOf:
- $ref: '#/components/schemas/Optimization_Metrics'
description: Optimized cluster metrics.
clusterScore:
allOf:
- $ref: '#/components/schemas/Optimization_ClusterScore'
description: Cluster score.
description: Optimization details for the cluster.
Optimization_ResourceMetrics:
type: object
properties:
provisioned:
allOf:
- $ref: '#/components/schemas/Optimization_ResourceMetric'
description: The provisioned amount of the resource.
requested:
allOf:
- $ref: '#/components/schemas/Optimization_ResourceMetric'
description: The requested amount of the resource.
used:
allOf:
- $ref: '#/components/schemas/Optimization_ResourceMetric'
description: The used amount of the resource.
description: Resource metrics for CPU, memory, and GPU.
ClusterScore_StatusEvaluation:
type: object
properties:
state:
enum:
- UNKNOWN
- POOR
- CONCERNING
- HEALTHY
type: string
description: State
format: enum
value:
type: number
description: Value
format: double
next:
allOf:
- $ref: '#/components/schemas/ClusterScore_Milestone'
description: Optional next and previous milestones for the evaluation.
prev:
allOf:
- $ref: '#/components/schemas/ClusterScore_Milestone'
description: Previous milestone for the evaluation.
description: Status evaluation.
Optimization_ResourceMetric:
type: object
properties:
amount:
type: string
description: The amount of the resource.
costPerUnit:
type: string
description: The cost per unit of the resource.
unit:
type: string
description: The unit of the resource, e.g. "cpu", "GiB", "MiB", etc.
description: Resource metric
ListClustersResponse:
required:
- items
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Cluster'
description: The list of cloud asset integrations.
nextPageCursor:
type: string
description: The pagination cursor to retrieve the next page of items.
description: Response message for listing cloud asset integrations.
MetaData:
type: object
properties:
karpenter:
allOf:
- $ref: '#/components/schemas/MetaData_Karpenter'
description: Karpenter metadata.
metricsSource:
enum:
- METRICS_SOURCE_UNSPECIFIED
- K8S_API
- AKS_VM_ONLY
- EKS_EC2_ONLY
- GKE_GCE_ONLY
type: string
description: "Source of the cluster's optimization metrics. K8S_API means metrics come from the\n primary K8s-API data path; any other value means metrics are estimated from a fallback\n source. Informational only - never a failure."
format: enum
description: Metadata about the cluster.
ClusterScore_Milestone:
type: object
properties:
state:
enum:
- UNKNOWN
- POOR
- CONCERNING
- HEALTHY
type: string
description: State
format: enum
direction:
enum:
- DIRECTION_UNSPECIFIED
- LESS_THAN
- MORE_THAN
type: string
description: Direction
format: enum
threshold:
type: number
description: Threshold
format: double
description: Milestone
MetaData_Karpenter:
type: object
properties:
enabled:
type: boolean
description: Whether Karpenter is enabled.
version:
type: string
description: Karpenter version.
kentEligibility:
enum:
- KENT_ELIGIBILITY_UNSPECIFIED
- NOT_SUPPORTED
- ELIGIBLE
type: string
description: Karpenter KENT eligibility status.
format: enum
description: Karpenter metadata.
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/cloudassetapi_getreliabilitydatacommand.md
- https://docs.cast.ai/reference/cloudassetapi_getreliabilitydatascript.md
- https://docs.cast.ai/reference/cloudassetapi_listclusters.md
- https://docs.cast.ai/reference/cloudassetapi_reconcilediscoveredclusters.md
- https://docs.cast.ai/reference/cloudassetintegrationsapi_createcloudassetintegration.md
- https://docs.cast.ai/reference/cloudassetintegrationsapi_deletecloudassetintegration.md
- https://docs.cast.ai/reference/cloudassetintegrationsapi_getcloudassetintegration.md
- https://docs.cast.ai/reference/cloudassetintegrationsapi_getcloudassetintegrationcleanupcommand.md
- https://docs.cast.ai/reference/cloudassetintegrationsapi_getcloudassetintegrationcleanupscript.md
- https://docs.cast.ai/reference/cloudassetintegrationsapi_getcloudassetintegrationonboardingcommand.md
- https://docs.cast.ai/reference/cloudassetintegrationsapi_getcloudassetintegrationonboardingconfig.md
- https://docs.cast.ai/reference/cloudassetintegrationsapi_getcloudassetintegrationonboardingscript.md
- https://docs.cast.ai/reference/cloudassetintegrationsapi_getcloudassetintegrationsyncreport.md
- https://docs.cast.ai/reference/cloudassetintegrationsapi_listcloudassetintegrations.md
- https://docs.cast.ai/reference/cloudassetintegrationsapi_updatecloudassetintegration.md
- https://docs.cast.ai/reference/inventorymanagementapi_batchcreateinstanceblacklistrules.md
- https://docs.cast.ai/reference/inventorymanagementapi_deleteinstanceblacklistrule.md
- https://docs.cast.ai/reference/inventorymanagementapi_listinstanceblacklistrules.md
merge:
pages: 18
deduped: 80
conflicts_kept_first: 0