openapi: 3.1.0 info: title: CAST AI Kubernetes Cost Optimization AI Enabler Policies 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. version: 1.0.0 contact: name: CAST AI url: https://cast.ai termsOfService: https://cast.ai/terms-of-service servers: - url: https://api.cast.ai/v1 description: CAST AI Production API security: - ApiKeyAuth: [] tags: - name: Policies description: Manage autoscaler policies configuration for clusters, including unscheduled pods, node downscaler, and spot instance policies. paths: /kubernetes/clusters/{clusterId}/policies: get: operationId: PoliciesAPI_GetClusterPolicies summary: CAST AI Get cluster policies description: Gets policies configuration for the target cluster. tags: - Policies parameters: - $ref: '#/components/parameters/ClusterId' responses: '200': description: Successful response with cluster policies. content: application/json: schema: $ref: '#/components/schemas/ClusterPolicies' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' put: operationId: PoliciesAPI_UpsertClusterPolicies summary: CAST AI Upsert cluster policies description: Upsert cluster's policies configuration. tags: - Policies parameters: - $ref: '#/components/parameters/ClusterId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ClusterPolicies' responses: '200': description: Policies updated successfully. content: application/json: schema: $ref: '#/components/schemas/ClusterPolicies' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: responses: Unauthorized: description: Authentication failed. Invalid or missing API key. content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error' parameters: ClusterId: name: clusterId in: path required: true description: The unique identifier of the cluster. schema: type: string format: uuid schemas: Error: type: object properties: message: type: string description: Human-readable error message. code: type: integer description: Error code. ClusterPolicies: type: object properties: enabled: type: boolean description: Whether autoscaler policies are enabled. unschedulablePods: type: object properties: enabled: type: boolean nodeDownscaler: type: object properties: enabled: type: boolean emptyNodes: type: object properties: enabled: type: boolean delaySeconds: type: integer spotInstances: type: object properties: enabled: type: boolean maxReclaimRate: type: number securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key description: API key for authentication. Create access keys from the CAST AI console under API > API access keys. externalDocs: description: CAST AI API Documentation url: https://docs.cast.ai/docs/api