naftiko: 1.0.0-alpha2 info: label: CAST AI Kubernetes Cost Optimization API description: CAST AI is a Kubernetes cost optimization platform that provides APIs for managing clusters, autoscaling, node configuration, workload optimization, cost reporting, security insights, and more. The platform continuously monitors clusters and optimizes them for cost efficiency using autoscaling, spot instance automation, bin packing, and other techniques. tags: - Cast - Ai - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: cast-ai baseUri: https://api.cast.ai/v1 description: CAST AI Kubernetes Cost Optimization API HTTP API. authentication: type: apikey in: header name: X-API-Key value: '{{CAST_AI_TOKEN}}' resources: - name: kubernetes-external-clusters-clusterid-nodes path: /kubernetes/external-clusters/{clusterId}/nodes operations: - name: externalclusterapi-listnodes method: GET description: CAST AI List cluster nodes outputRawFormat: json outputParameters: - name: result type: object value: $. - name: kubernetes-external-clusters-clusterid-nodes-nod path: /kubernetes/external-clusters/{clusterId}/nodes/{nodeId}/drain operations: - name: externalclusterapi-drainnode method: POST description: CAST AI Drain cluster node outputRawFormat: json outputParameters: - name: result type: object value: $. - name: kubernetes-external-clusters-clusterid-nodes-nod path: /kubernetes/external-clusters/{clusterId}/nodes/{nodeId} operations: - name: externalclusterapi-deletenode method: DELETE description: CAST AI Delete cluster node outputRawFormat: json outputParameters: - name: result type: object value: $. - name: kubernetes-clusters-clusterid-policies path: /kubernetes/clusters/{clusterId}/policies operations: - name: policiesapi-getclusterpolicies method: GET description: CAST AI Get cluster policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: policiesapi-upsertclusterpolicies method: PUT description: CAST AI Upsert cluster policies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: kubernetes-clusters-clusterid-node-templates path: /kubernetes/clusters/{clusterId}/node-templates operations: - name: nodetemplatesapi-listnodetemplates method: GET description: CAST AI List node templates outputRawFormat: json outputParameters: - name: result type: object value: $. - name: nodetemplatesapi-createnodetemplate method: POST description: CAST AI Create node template outputRawFormat: json outputParameters: - name: result type: object value: $. - name: kubernetes-clusters-clusterid-node-templates-nod path: /kubernetes/clusters/{clusterId}/node-templates/{nodeTemplateId} operations: - name: nodetemplatesapi-getnodetemplate method: GET description: CAST AI Get node template outputRawFormat: json outputParameters: - name: result type: object value: $. - name: nodetemplatesapi-updatenodetemplate method: PUT description: CAST AI Update node template outputRawFormat: json outputParameters: - name: result type: object value: $. - name: nodetemplatesapi-deletenodetemplate method: DELETE description: CAST AI Delete node template outputRawFormat: json outputParameters: - name: result type: object value: $. - name: kubernetes-clusters-clusterid-node-configuration path: /kubernetes/clusters/{clusterId}/node-configurations operations: - name: nodeconfigurationapi-listconfigurations method: GET description: CAST AI List node configurations outputRawFormat: json outputParameters: - name: result type: object value: $. - name: nodeconfigurationapi-createconfiguration method: POST description: CAST AI Create node configuration outputRawFormat: json outputParameters: - name: result type: object value: $. - name: kubernetes-clusters-clusterid-node-configuration path: /kubernetes/clusters/{clusterId}/node-configurations/{configurationId} operations: - name: nodeconfigurationapi-deleteconfiguration method: DELETE description: CAST AI Delete node configuration inputParameters: - name: configurationId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: kubernetes-clusters-clusterid-rebalancing-plans- path: /kubernetes/clusters/{clusterId}/rebalancing-plans/{rebalancingPlanId}/execute operations: - name: autoscalerapi-executerebalancingplan method: POST description: CAST AI Trigger rebalancing plan inputParameters: - name: rebalancingPlanId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: kubernetes-clusters-clusterid-actions-actionid-a path: /kubernetes/clusters/{clusterId}/actions/{actionId}/ack operations: - name: clusteractionsapi-ackclusteraction method: POST description: CAST AI Acknowledge cluster action inputParameters: - name: actionId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: kubernetes-clusters-clusterid-actions-logs path: /kubernetes/clusters/{clusterId}/actions/logs operations: - name: clusteractionsapi-ingestlogs method: POST description: CAST AI Ingest cluster controller logs outputRawFormat: json outputParameters: - name: result type: object value: $. - name: workload-autoscaling-clusters-clusterid-workload path: /workload-autoscaling/clusters/{clusterId}/workloads operations: - name: workloadoptimizationapi-listworkloads method: GET description: CAST AI List workloads outputRawFormat: json outputParameters: - name: result type: object value: $. - name: workload-autoscaling-clusters-clusterid-workload path: /workload-autoscaling/clusters/{clusterId}/workloads/{workloadId} operations: - name: workloadoptimizationapi-getworkload method: GET description: CAST AI Get workload inputParameters: - name: workloadId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: workload-autoscaling-agent-statuses path: /workload-autoscaling/agent-statuses operations: - name: workloadoptimizationapi-getorganizationagentstat method: GET description: CAST AI Get agent statuses outputRawFormat: json outputParameters: - name: result type: object value: $. - name: scheduled-rebalancing-schedules path: /scheduled-rebalancing/schedules operations: - name: scheduledrebalancingapi-createrebalancingschedul method: POST description: CAST AI Create rebalancing schedule outputRawFormat: json outputParameters: - name: result type: object value: $. - name: scheduled-rebalancing-schedules-scheduleid path: /scheduled-rebalancing/schedules/{scheduleId} operations: - name: scheduledrebalancingapi-getrebalancingschedule method: GET description: CAST AI Get rebalancing schedule inputParameters: - name: scheduleId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: scheduledrebalancingapi-deleterebalancingschedul method: DELETE description: CAST AI Delete rebalancing schedule inputParameters: - name: scheduleId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: operations-operationid path: /operations/{operationId} operations: - name: operationsapi-getoperation method: GET description: CAST AI Get operation inputParameters: - name: operationId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: inventory-blacklist-add path: /inventory/blacklist/add operations: - name: inventoryblacklistapi-addblacklist method: POST description: CAST AI Add to blacklist outputRawFormat: json outputParameters: - name: result type: object value: $. - name: pricing-clusters-clusterid-nodes-nodeid path: /pricing/clusters/{clusterId}/nodes/{nodeId} operations: - name: pricingapi-getnodepricing method: GET description: CAST AI Get node pricing outputRawFormat: json outputParameters: - name: result type: object value: $. - name: pricing-sync-gcp-billing path: /pricing/sync-gcp-billing operations: - name: pricingapi-syncgcpbillingapidata method: POST description: CAST AI Sync GCP billing data outputRawFormat: json outputParameters: - name: result type: object value: $. - name: cost-reports-clusters-clusterid-efficiency path: /cost-reports/clusters/{clusterId}/efficiency operations: - name: costreportsapi-getclusterefficiency method: GET description: CAST AI Get cluster efficiency outputRawFormat: json outputParameters: - name: result type: object value: $. - name: allocation-groups-allocationgroupid-workloads-ef path: /allocation-groups/{allocationGroupId}/workloads/efficiency operations: - name: allocationgroupapi-getallocationgroupworkloadsef method: GET description: CAST AI Get allocation group workloads efficiency inputParameters: - name: allocationGroupId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: security-insights-best-practices-filters path: /security/insights/best-practices/filters operations: - name: insightsapi-getbestpracticesreportfilters method: GET description: CAST AI Get best practices report filters outputRawFormat: json outputParameters: - name: result type: object value: $. - name: security-insights-images-tagid-digests path: /security/insights/images/{tagId}/digests operations: - name: insightsapi-getcontainerimagedigests method: GET description: CAST AI Get container image digests inputParameters: - name: tagId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: hibernation-schedules path: /hibernation/schedules operations: - name: hibernationschedulesapi-createhibernationschedul method: POST description: CAST AI Create hibernation schedule outputRawFormat: json outputParameters: - name: result type: object value: $. - name: settings-api-keys-apikeyid path: /settings/api-keys/{apiKeyId} operations: - name: settingsapi-upsertapikeysettings method: PUT description: CAST AI Create or update API key settings inputParameters: - name: apiKeyId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: llm-providers path: /llm/providers operations: - name: aienablerprovidersapi-getproviders method: GET description: CAST AI Get LLM providers outputRawFormat: json outputParameters: - name: result type: object value: $. - name: aienablerprovidersapi-registerproviders method: POST description: CAST AI Register LLM providers outputRawFormat: json outputParameters: - name: result type: object value: $. - name: metrics-prom path: /metrics/prom operations: - name: metricsapi-getclustermetrics method: GET description: CAST AI Get cluster metrics outputRawFormat: json outputParameters: - name: result type: object value: $. - name: metrics-nodes path: /metrics/nodes operations: - name: metricsapi-getnodemetrics method: GET description: CAST AI Get node metrics outputRawFormat: json outputParameters: - name: result type: object value: $. - name: metrics-workloads path: /metrics/workloads operations: - name: metricsapi-getworkloadmetrics method: GET description: CAST AI Get workload metrics outputRawFormat: json outputParameters: - name: result type: object value: $. - name: metrics-allocation-groups path: /metrics/allocation-groups operations: - name: metricsapi-getallocationgroupmetrics method: GET description: CAST AI Get allocation group metrics outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: cast-ai-rest description: REST adapter for CAST AI Kubernetes Cost Optimization API. resources: - path: /kubernetes/external-clusters/{clusterId}/nodes name: externalclusterapi-listnodes operations: - method: GET name: externalclusterapi-listnodes description: CAST AI List cluster nodes call: cast-ai.externalclusterapi-listnodes outputParameters: - type: object mapping: $. - path: /kubernetes/external-clusters/{clusterId}/nodes/{nodeId}/drain name: externalclusterapi-drainnode operations: - method: POST name: externalclusterapi-drainnode description: CAST AI Drain cluster node call: cast-ai.externalclusterapi-drainnode outputParameters: - type: object mapping: $. - path: /kubernetes/external-clusters/{clusterId}/nodes/{nodeId} name: externalclusterapi-deletenode operations: - method: DELETE name: externalclusterapi-deletenode description: CAST AI Delete cluster node call: cast-ai.externalclusterapi-deletenode outputParameters: - type: object mapping: $. - path: /kubernetes/clusters/{clusterId}/policies name: policiesapi-getclusterpolicies operations: - method: GET name: policiesapi-getclusterpolicies description: CAST AI Get cluster policies call: cast-ai.policiesapi-getclusterpolicies outputParameters: - type: object mapping: $. - path: /kubernetes/clusters/{clusterId}/policies name: policiesapi-upsertclusterpolicies operations: - method: PUT name: policiesapi-upsertclusterpolicies description: CAST AI Upsert cluster policies call: cast-ai.policiesapi-upsertclusterpolicies outputParameters: - type: object mapping: $. - path: /kubernetes/clusters/{clusterId}/node-templates name: nodetemplatesapi-listnodetemplates operations: - method: GET name: nodetemplatesapi-listnodetemplates description: CAST AI List node templates call: cast-ai.nodetemplatesapi-listnodetemplates outputParameters: - type: object mapping: $. - path: /kubernetes/clusters/{clusterId}/node-templates name: nodetemplatesapi-createnodetemplate operations: - method: POST name: nodetemplatesapi-createnodetemplate description: CAST AI Create node template call: cast-ai.nodetemplatesapi-createnodetemplate outputParameters: - type: object mapping: $. - path: /kubernetes/clusters/{clusterId}/node-templates/{nodeTemplateId} name: nodetemplatesapi-getnodetemplate operations: - method: GET name: nodetemplatesapi-getnodetemplate description: CAST AI Get node template call: cast-ai.nodetemplatesapi-getnodetemplate outputParameters: - type: object mapping: $. - path: /kubernetes/clusters/{clusterId}/node-templates/{nodeTemplateId} name: nodetemplatesapi-updatenodetemplate operations: - method: PUT name: nodetemplatesapi-updatenodetemplate description: CAST AI Update node template call: cast-ai.nodetemplatesapi-updatenodetemplate outputParameters: - type: object mapping: $. - path: /kubernetes/clusters/{clusterId}/node-templates/{nodeTemplateId} name: nodetemplatesapi-deletenodetemplate operations: - method: DELETE name: nodetemplatesapi-deletenodetemplate description: CAST AI Delete node template call: cast-ai.nodetemplatesapi-deletenodetemplate outputParameters: - type: object mapping: $. - path: /kubernetes/clusters/{clusterId}/node-configurations name: nodeconfigurationapi-listconfigurations operations: - method: GET name: nodeconfigurationapi-listconfigurations description: CAST AI List node configurations call: cast-ai.nodeconfigurationapi-listconfigurations outputParameters: - type: object mapping: $. - path: /kubernetes/clusters/{clusterId}/node-configurations name: nodeconfigurationapi-createconfiguration operations: - method: POST name: nodeconfigurationapi-createconfiguration description: CAST AI Create node configuration call: cast-ai.nodeconfigurationapi-createconfiguration outputParameters: - type: object mapping: $. - path: /kubernetes/clusters/{clusterId}/node-configurations/{configurationId} name: nodeconfigurationapi-deleteconfiguration operations: - method: DELETE name: nodeconfigurationapi-deleteconfiguration description: CAST AI Delete node configuration call: cast-ai.nodeconfigurationapi-deleteconfiguration with: configurationId: rest.configurationId outputParameters: - type: object mapping: $. - path: /kubernetes/clusters/{clusterId}/rebalancing-plans/{rebalancingPlanId}/execute name: autoscalerapi-executerebalancingplan operations: - method: POST name: autoscalerapi-executerebalancingplan description: CAST AI Trigger rebalancing plan call: cast-ai.autoscalerapi-executerebalancingplan with: rebalancingPlanId: rest.rebalancingPlanId outputParameters: - type: object mapping: $. - path: /kubernetes/clusters/{clusterId}/actions/{actionId}/ack name: clusteractionsapi-ackclusteraction operations: - method: POST name: clusteractionsapi-ackclusteraction description: CAST AI Acknowledge cluster action call: cast-ai.clusteractionsapi-ackclusteraction with: actionId: rest.actionId outputParameters: - type: object mapping: $. - path: /kubernetes/clusters/{clusterId}/actions/logs name: clusteractionsapi-ingestlogs operations: - method: POST name: clusteractionsapi-ingestlogs description: CAST AI Ingest cluster controller logs call: cast-ai.clusteractionsapi-ingestlogs outputParameters: - type: object mapping: $. - path: /workload-autoscaling/clusters/{clusterId}/workloads name: workloadoptimizationapi-listworkloads operations: - method: GET name: workloadoptimizationapi-listworkloads description: CAST AI List workloads call: cast-ai.workloadoptimizationapi-listworkloads outputParameters: - type: object mapping: $. - path: /workload-autoscaling/clusters/{clusterId}/workloads/{workloadId} name: workloadoptimizationapi-getworkload operations: - method: GET name: workloadoptimizationapi-getworkload description: CAST AI Get workload call: cast-ai.workloadoptimizationapi-getworkload with: workloadId: rest.workloadId outputParameters: - type: object mapping: $. - path: /workload-autoscaling/agent-statuses name: workloadoptimizationapi-getorganizationagentstat operations: - method: GET name: workloadoptimizationapi-getorganizationagentstat description: CAST AI Get agent statuses call: cast-ai.workloadoptimizationapi-getorganizationagentstat outputParameters: - type: object mapping: $. - path: /scheduled-rebalancing/schedules name: scheduledrebalancingapi-createrebalancingschedul operations: - method: POST name: scheduledrebalancingapi-createrebalancingschedul description: CAST AI Create rebalancing schedule call: cast-ai.scheduledrebalancingapi-createrebalancingschedul outputParameters: - type: object mapping: $. - path: /scheduled-rebalancing/schedules/{scheduleId} name: scheduledrebalancingapi-getrebalancingschedule operations: - method: GET name: scheduledrebalancingapi-getrebalancingschedule description: CAST AI Get rebalancing schedule call: cast-ai.scheduledrebalancingapi-getrebalancingschedule with: scheduleId: rest.scheduleId outputParameters: - type: object mapping: $. - path: /scheduled-rebalancing/schedules/{scheduleId} name: scheduledrebalancingapi-deleterebalancingschedul operations: - method: DELETE name: scheduledrebalancingapi-deleterebalancingschedul description: CAST AI Delete rebalancing schedule call: cast-ai.scheduledrebalancingapi-deleterebalancingschedul with: scheduleId: rest.scheduleId outputParameters: - type: object mapping: $. - path: /operations/{operationId} name: operationsapi-getoperation operations: - method: GET name: operationsapi-getoperation description: CAST AI Get operation call: cast-ai.operationsapi-getoperation with: operationId: rest.operationId outputParameters: - type: object mapping: $. - path: /inventory/blacklist/add name: inventoryblacklistapi-addblacklist operations: - method: POST name: inventoryblacklistapi-addblacklist description: CAST AI Add to blacklist call: cast-ai.inventoryblacklistapi-addblacklist outputParameters: - type: object mapping: $. - path: /pricing/clusters/{clusterId}/nodes/{nodeId} name: pricingapi-getnodepricing operations: - method: GET name: pricingapi-getnodepricing description: CAST AI Get node pricing call: cast-ai.pricingapi-getnodepricing outputParameters: - type: object mapping: $. - path: /pricing/sync-gcp-billing name: pricingapi-syncgcpbillingapidata operations: - method: POST name: pricingapi-syncgcpbillingapidata description: CAST AI Sync GCP billing data call: cast-ai.pricingapi-syncgcpbillingapidata outputParameters: - type: object mapping: $. - path: /cost-reports/clusters/{clusterId}/efficiency name: costreportsapi-getclusterefficiency operations: - method: GET name: costreportsapi-getclusterefficiency description: CAST AI Get cluster efficiency call: cast-ai.costreportsapi-getclusterefficiency outputParameters: - type: object mapping: $. - path: /allocation-groups/{allocationGroupId}/workloads/efficiency name: allocationgroupapi-getallocationgroupworkloadsef operations: - method: GET name: allocationgroupapi-getallocationgroupworkloadsef description: CAST AI Get allocation group workloads efficiency call: cast-ai.allocationgroupapi-getallocationgroupworkloadsef with: allocationGroupId: rest.allocationGroupId outputParameters: - type: object mapping: $. - path: /security/insights/best-practices/filters name: insightsapi-getbestpracticesreportfilters operations: - method: GET name: insightsapi-getbestpracticesreportfilters description: CAST AI Get best practices report filters call: cast-ai.insightsapi-getbestpracticesreportfilters outputParameters: - type: object mapping: $. - path: /security/insights/images/{tagId}/digests name: insightsapi-getcontainerimagedigests operations: - method: GET name: insightsapi-getcontainerimagedigests description: CAST AI Get container image digests call: cast-ai.insightsapi-getcontainerimagedigests with: tagId: rest.tagId outputParameters: - type: object mapping: $. - path: /hibernation/schedules name: hibernationschedulesapi-createhibernationschedul operations: - method: POST name: hibernationschedulesapi-createhibernationschedul description: CAST AI Create hibernation schedule call: cast-ai.hibernationschedulesapi-createhibernationschedul outputParameters: - type: object mapping: $. - path: /settings/api-keys/{apiKeyId} name: settingsapi-upsertapikeysettings operations: - method: PUT name: settingsapi-upsertapikeysettings description: CAST AI Create or update API key settings call: cast-ai.settingsapi-upsertapikeysettings with: apiKeyId: rest.apiKeyId outputParameters: - type: object mapping: $. - path: /llm/providers name: aienablerprovidersapi-getproviders operations: - method: GET name: aienablerprovidersapi-getproviders description: CAST AI Get LLM providers call: cast-ai.aienablerprovidersapi-getproviders outputParameters: - type: object mapping: $. - path: /llm/providers name: aienablerprovidersapi-registerproviders operations: - method: POST name: aienablerprovidersapi-registerproviders description: CAST AI Register LLM providers call: cast-ai.aienablerprovidersapi-registerproviders outputParameters: - type: object mapping: $. - path: /metrics/prom name: metricsapi-getclustermetrics operations: - method: GET name: metricsapi-getclustermetrics description: CAST AI Get cluster metrics call: cast-ai.metricsapi-getclustermetrics outputParameters: - type: object mapping: $. - path: /metrics/nodes name: metricsapi-getnodemetrics operations: - method: GET name: metricsapi-getnodemetrics description: CAST AI Get node metrics call: cast-ai.metricsapi-getnodemetrics outputParameters: - type: object mapping: $. - path: /metrics/workloads name: metricsapi-getworkloadmetrics operations: - method: GET name: metricsapi-getworkloadmetrics description: CAST AI Get workload metrics call: cast-ai.metricsapi-getworkloadmetrics outputParameters: - type: object mapping: $. - path: /metrics/allocation-groups name: metricsapi-getallocationgroupmetrics operations: - method: GET name: metricsapi-getallocationgroupmetrics description: CAST AI Get allocation group metrics call: cast-ai.metricsapi-getallocationgroupmetrics outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: cast-ai-mcp transport: http description: MCP adapter for CAST AI Kubernetes Cost Optimization API for AI agent use. tools: - name: externalclusterapi-listnodes description: CAST AI List cluster nodes hints: readOnly: true destructive: false idempotent: true call: cast-ai.externalclusterapi-listnodes outputParameters: - type: object mapping: $. - name: externalclusterapi-drainnode description: CAST AI Drain cluster node hints: readOnly: false destructive: false idempotent: false call: cast-ai.externalclusterapi-drainnode outputParameters: - type: object mapping: $. - name: externalclusterapi-deletenode description: CAST AI Delete cluster node hints: readOnly: false destructive: true idempotent: true call: cast-ai.externalclusterapi-deletenode outputParameters: - type: object mapping: $. - name: policiesapi-getclusterpolicies description: CAST AI Get cluster policies hints: readOnly: true destructive: false idempotent: true call: cast-ai.policiesapi-getclusterpolicies outputParameters: - type: object mapping: $. - name: policiesapi-upsertclusterpolicies description: CAST AI Upsert cluster policies hints: readOnly: false destructive: false idempotent: true call: cast-ai.policiesapi-upsertclusterpolicies outputParameters: - type: object mapping: $. - name: nodetemplatesapi-listnodetemplates description: CAST AI List node templates hints: readOnly: true destructive: false idempotent: true call: cast-ai.nodetemplatesapi-listnodetemplates outputParameters: - type: object mapping: $. - name: nodetemplatesapi-createnodetemplate description: CAST AI Create node template hints: readOnly: false destructive: false idempotent: false call: cast-ai.nodetemplatesapi-createnodetemplate outputParameters: - type: object mapping: $. - name: nodetemplatesapi-getnodetemplate description: CAST AI Get node template hints: readOnly: true destructive: false idempotent: true call: cast-ai.nodetemplatesapi-getnodetemplate outputParameters: - type: object mapping: $. - name: nodetemplatesapi-updatenodetemplate description: CAST AI Update node template hints: readOnly: false destructive: false idempotent: true call: cast-ai.nodetemplatesapi-updatenodetemplate outputParameters: - type: object mapping: $. - name: nodetemplatesapi-deletenodetemplate description: CAST AI Delete node template hints: readOnly: false destructive: true idempotent: true call: cast-ai.nodetemplatesapi-deletenodetemplate outputParameters: - type: object mapping: $. - name: nodeconfigurationapi-listconfigurations description: CAST AI List node configurations hints: readOnly: true destructive: false idempotent: true call: cast-ai.nodeconfigurationapi-listconfigurations outputParameters: - type: object mapping: $. - name: nodeconfigurationapi-createconfiguration description: CAST AI Create node configuration hints: readOnly: false destructive: false idempotent: false call: cast-ai.nodeconfigurationapi-createconfiguration outputParameters: - type: object mapping: $. - name: nodeconfigurationapi-deleteconfiguration description: CAST AI Delete node configuration hints: readOnly: false destructive: true idempotent: true call: cast-ai.nodeconfigurationapi-deleteconfiguration with: configurationId: tools.configurationId inputParameters: - name: configurationId type: string description: configurationId required: true outputParameters: - type: object mapping: $. - name: autoscalerapi-executerebalancingplan description: CAST AI Trigger rebalancing plan hints: readOnly: false destructive: false idempotent: false call: cast-ai.autoscalerapi-executerebalancingplan with: rebalancingPlanId: tools.rebalancingPlanId inputParameters: - name: rebalancingPlanId type: string description: rebalancingPlanId required: true outputParameters: - type: object mapping: $. - name: clusteractionsapi-ackclusteraction description: CAST AI Acknowledge cluster action hints: readOnly: false destructive: false idempotent: false call: cast-ai.clusteractionsapi-ackclusteraction with: actionId: tools.actionId inputParameters: - name: actionId type: string description: actionId required: true outputParameters: - type: object mapping: $. - name: clusteractionsapi-ingestlogs description: CAST AI Ingest cluster controller logs hints: readOnly: false destructive: false idempotent: false call: cast-ai.clusteractionsapi-ingestlogs outputParameters: - type: object mapping: $. - name: workloadoptimizationapi-listworkloads description: CAST AI List workloads hints: readOnly: true destructive: false idempotent: true call: cast-ai.workloadoptimizationapi-listworkloads outputParameters: - type: object mapping: $. - name: workloadoptimizationapi-getworkload description: CAST AI Get workload hints: readOnly: true destructive: false idempotent: true call: cast-ai.workloadoptimizationapi-getworkload with: workloadId: tools.workloadId inputParameters: - name: workloadId type: string description: workloadId required: true outputParameters: - type: object mapping: $. - name: workloadoptimizationapi-getorganizationagentstat description: CAST AI Get agent statuses hints: readOnly: true destructive: false idempotent: true call: cast-ai.workloadoptimizationapi-getorganizationagentstat outputParameters: - type: object mapping: $. - name: scheduledrebalancingapi-createrebalancingschedul description: CAST AI Create rebalancing schedule hints: readOnly: false destructive: false idempotent: false call: cast-ai.scheduledrebalancingapi-createrebalancingschedul outputParameters: - type: object mapping: $. - name: scheduledrebalancingapi-getrebalancingschedule description: CAST AI Get rebalancing schedule hints: readOnly: true destructive: false idempotent: true call: cast-ai.scheduledrebalancingapi-getrebalancingschedule with: scheduleId: tools.scheduleId inputParameters: - name: scheduleId type: string description: scheduleId required: true outputParameters: - type: object mapping: $. - name: scheduledrebalancingapi-deleterebalancingschedul description: CAST AI Delete rebalancing schedule hints: readOnly: false destructive: true idempotent: true call: cast-ai.scheduledrebalancingapi-deleterebalancingschedul with: scheduleId: tools.scheduleId inputParameters: - name: scheduleId type: string description: scheduleId required: true outputParameters: - type: object mapping: $. - name: operationsapi-getoperation description: CAST AI Get operation hints: readOnly: true destructive: false idempotent: true call: cast-ai.operationsapi-getoperation with: operationId: tools.operationId inputParameters: - name: operationId type: string description: operationId required: true outputParameters: - type: object mapping: $. - name: inventoryblacklistapi-addblacklist description: CAST AI Add to blacklist hints: readOnly: false destructive: false idempotent: false call: cast-ai.inventoryblacklistapi-addblacklist outputParameters: - type: object mapping: $. - name: pricingapi-getnodepricing description: CAST AI Get node pricing hints: readOnly: true destructive: false idempotent: true call: cast-ai.pricingapi-getnodepricing outputParameters: - type: object mapping: $. - name: pricingapi-syncgcpbillingapidata description: CAST AI Sync GCP billing data hints: readOnly: false destructive: false idempotent: false call: cast-ai.pricingapi-syncgcpbillingapidata outputParameters: - type: object mapping: $. - name: costreportsapi-getclusterefficiency description: CAST AI Get cluster efficiency hints: readOnly: true destructive: false idempotent: true call: cast-ai.costreportsapi-getclusterefficiency outputParameters: - type: object mapping: $. - name: allocationgroupapi-getallocationgroupworkloadsef description: CAST AI Get allocation group workloads efficiency hints: readOnly: true destructive: false idempotent: true call: cast-ai.allocationgroupapi-getallocationgroupworkloadsef with: allocationGroupId: tools.allocationGroupId inputParameters: - name: allocationGroupId type: string description: allocationGroupId required: true outputParameters: - type: object mapping: $. - name: insightsapi-getbestpracticesreportfilters description: CAST AI Get best practices report filters hints: readOnly: true destructive: false idempotent: true call: cast-ai.insightsapi-getbestpracticesreportfilters outputParameters: - type: object mapping: $. - name: insightsapi-getcontainerimagedigests description: CAST AI Get container image digests hints: readOnly: true destructive: false idempotent: true call: cast-ai.insightsapi-getcontainerimagedigests with: tagId: tools.tagId inputParameters: - name: tagId type: string description: tagId required: true outputParameters: - type: object mapping: $. - name: hibernationschedulesapi-createhibernationschedul description: CAST AI Create hibernation schedule hints: readOnly: false destructive: false idempotent: false call: cast-ai.hibernationschedulesapi-createhibernationschedul outputParameters: - type: object mapping: $. - name: settingsapi-upsertapikeysettings description: CAST AI Create or update API key settings hints: readOnly: false destructive: false idempotent: true call: cast-ai.settingsapi-upsertapikeysettings with: apiKeyId: tools.apiKeyId inputParameters: - name: apiKeyId type: string description: apiKeyId required: true outputParameters: - type: object mapping: $. - name: aienablerprovidersapi-getproviders description: CAST AI Get LLM providers hints: readOnly: true destructive: false idempotent: true call: cast-ai.aienablerprovidersapi-getproviders outputParameters: - type: object mapping: $. - name: aienablerprovidersapi-registerproviders description: CAST AI Register LLM providers hints: readOnly: false destructive: false idempotent: false call: cast-ai.aienablerprovidersapi-registerproviders outputParameters: - type: object mapping: $. - name: metricsapi-getclustermetrics description: CAST AI Get cluster metrics hints: readOnly: true destructive: false idempotent: true call: cast-ai.metricsapi-getclustermetrics outputParameters: - type: object mapping: $. - name: metricsapi-getnodemetrics description: CAST AI Get node metrics hints: readOnly: true destructive: false idempotent: true call: cast-ai.metricsapi-getnodemetrics outputParameters: - type: object mapping: $. - name: metricsapi-getworkloadmetrics description: CAST AI Get workload metrics hints: readOnly: true destructive: false idempotent: true call: cast-ai.metricsapi-getworkloadmetrics outputParameters: - type: object mapping: $. - name: metricsapi-getallocationgroupmetrics description: CAST AI Get allocation group metrics hints: readOnly: true destructive: false idempotent: true call: cast-ai.metricsapi-getallocationgroupmetrics outputParameters: - type: object mapping: $. binds: - namespace: env keys: CAST_AI_TOKEN: CAST_AI_TOKEN