{"openapi":"3.0.0","info":{"description":"CoreWeave Cloud API connector — managed Kubernetes (CKS), serverless inference, AI Object Storage administration, VPC networking, and Telemetry Relay over REST (gRPC-gateway, Bearer token).","version":"v1beta1"},"servers":[{"description":"CoreWeave Cloud API connector — managed Kubernetes (CKS), serverless inference, AI Object Storage administration, VPC networking, and Telemetry Relay over REST (gRPC-gateway, Bearer token).","url":"https://api.apirails.com/coreweave"}],"paths":{"/v1beta1/telemetryrelay/endpoints":{"post":{"tags":["TelemetryRelayService"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#TelemetryRelayService_CreateEndpoint","api_endpoint":"https://api.coreweave.com/v1beta1/telemetryrelay/endpoints"},"summary":"Create forwarding endpoint","description":"Create forwarding endpoint | Creates a forwarding endpoint. The request body must include `ref.slug` (the unique per-organization identifier), `spec` (display name plus exactly one protocol-specific config), and the matching credentials block in the same oneof. Credentials are stored encrypted and never returned in responses. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"spec":{"type":"string","description":"body.spec (string field from the documented request schema)"}}},"example":{"spec":["string"]}}}}},"get":{"tags":["TelemetryRelayService"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#TelemetryRelayService_ListEndpoints","api_endpoint":"https://api.coreweave.com/v1beta1/telemetryrelay/endpoints"},"summary":"List forwarding endpoints","description":"List forwarding endpoints | Returns every forwarding endpoint in the caller's organization. Each endpoint is a destination that pipelines can target. Credentials are never returned in responses. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1beta1/telemetryrelay/pipelines":{"post":{"tags":["TelemetryRelayService"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#TelemetryRelayService_CreatePipeline","api_endpoint":"https://api.coreweave.com/v1beta1/telemetryrelay/pipelines"},"summary":"Create forwarding pipeline","description":"Create forwarding pipeline | Creates a forwarding pipeline. The request body must include `ref.slug` and a `spec` with the source stream's `slug`, the destination endpoint's `slug`, and `enabled` (true to start forwarding immediately). | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"ref":{"type":"object","description":"body.ref (object field from the documented request schema)","required":true,"properties":{"slug":{"type":"string","description":"slug is a unique identifier for the pipeline within the organization. Must be 3-65 characters, start with alphanumeric, and contain only alphanumeric and hyphens."}}},"spec":{"type":"object","description":"Configuration for a forwarding pipeline. `source` references a `TelemetryStream` by slug; `destination` references a `ForwardingEndpoint` by slug. Set `enabled: false` to pause forwarding without deleting the pipeline.","required":true,"properties":{"source":{"type":"object","description":"body.spec.source (object field from the documented request schema)"},"destination":{"type":"object","description":"ForwardingEndpointRef uniquely identifies a forwarding endpoint within an organization.\n Endpoints are referenced by a human-readable slug that must be unique per organization."},"enabled":{"type":"boolean","description":"body.spec.enabled (boolean field from the documented request schema)","enum":[true,false]}}}}},"example":{"ref":[{"slug":"string"}],"spec":[{"source":{"slug":"string"},"destination":{"slug":"string"},"enabled":false}]}}}}},"get":{"tags":["TelemetryRelayService"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#TelemetryRelayService_ListPipelines","api_endpoint":"https://api.coreweave.com/v1beta1/telemetryrelay/pipelines"},"summary":"List forwarding pipelines","description":"List forwarding pipelines | Returns every forwarding pipeline in the caller's organization. A pipeline binds a `source` stream to a `destination` endpoint and can be enabled or disabled independently. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1beta1/telemetryrelay/endpoints/{ref.slug}":{"delete":{"tags":["TelemetryRelayService"],"parameters":[{"name":"ref.slug","in":"path","description":"ref.slug (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#TelemetryRelayService_DeleteEndpoint","api_endpoint":"https://api.coreweave.com/v1beta1/telemetryrelay/endpoints/{ref.slug}"},"summary":"Delete forwarding endpoint","description":"Delete forwarding endpoint | Deletes a forwarding endpoint identified by `ref.slug`. Delete any pipelines that target the endpoint first: if the endpoint is still referenced, the request is rejected with `412` (reason `TELEMETRYRELAY_ENDPOINT_IN_USE`) and the response lists the pipelines that must be deleted first. Returns `404` (reason `TELEMETRYRELAY_ENDPOINT_NOT_FOUND`) if no endpoint with that slug exists. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"get":{"tags":["TelemetryRelayService"],"parameters":[{"name":"ref.slug","in":"path","description":"ref.slug (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#TelemetryRelayService_GetEndpoint","api_endpoint":"https://api.coreweave.com/v1beta1/telemetryrelay/endpoints/{ref.slug}"},"summary":"Get forwarding endpoint","description":"Get forwarding endpoint | Returns a single forwarding endpoint by its `ref.slug`, including the protocol-specific `spec` and current `status`. Credentials are never returned. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]},"patch":{"tags":["TelemetryRelayService"],"parameters":[{"name":"ref.slug","in":"path","description":"ref.slug (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#TelemetryRelayService_UpdateEndpoint","api_endpoint":"https://api.coreweave.com/v1beta1/telemetryrelay/endpoints/{ref.slug}"},"summary":"Update forwarding endpoint","description":"Update forwarding endpoint | Updates a forwarding endpoint identified by `ref.slug`. The request body must include the full `spec`. The endpoint's protocol type cannot change after creation. Use `credentialAction` to preserve, replace, or clear stored credentials. You can't clear credentials for AWS S3 destinations. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"ref":{"type":"object","description":"ForwardingEndpointRef uniquely identifies a forwarding endpoint within an organization.\n Endpoints are referenced by a human-readable slug that must be unique per organization.","required":true,"properties":{"slug":{"type":"string","description":"slug is a unique identifier for the endpoint within the organization.\n Must be 3-32 characters, start with alphanumeric, and contain only alphanumeric and hyphens.","required":true}}},"spec":{"type":"object","description":"Configuration for a forwarding endpoint. Includes a human-readable `displayName` and exactly one protocol-specific config. The protocol type is fixed at creation time and cannot be changed afterward.","required":true,"properties":{"displayName":{"type":"string","description":"display_name is a human-readable name for this endpoint.\n Used for display purposes in UIs and logs."},"s3":{"type":"object","description":"`S3Config` configures an AWS S3 destination for archiving telemetry data. Data is written to the specified bucket and optional prefix. `S3Credentials` must be provided when creating the destination and cannot be cleared afterward.","required":true},"https":{"type":"object","description":"HTTPSConfig configures a generic HTTPS endpoint for custom integrations.\n Allows forwarding telemetry data to any HTTPS endpoint.\n Useful for custom receivers or third-party services.\n Authentication: If the endpoint requires HTTP Basic authentication, provide\n HTTPSCredentials when creating/updating the endpoint. If no credentials\n are provided, requests are sent without authentication."}}},"credentialAction":{"type":"string","description":"Controls how the endpoint's stored credentials are handled during the update. `CREDENTIAL_ACTION_PRESERVE` keeps the existing credentials unchanged. `CREDENTIAL_ACTION_REPLACE` replaces them with the credentials supplied in this request. Credentials must be provided when this action is used. `CREDENTIAL_ACTION_CLEAR` removes the stored credentials, but it isn't supported for AWS S3 destinations. The underlying enum also declares `CREDENTIAL_ACTION_UNSPECIFIED` (its zero value); omit the field rather than sending it."},"s3":{"type":"object","description":"`S3Credentials` contains AWS credentials for accessing an AWS S3 bucket. Credentials are encrypted and never returned in API responses.","properties":{"accessKeyId":{"type":"string","description":"`accessKeyId` is the AWS access key ID. Long-term credentials typically begin with `AKIA`. Required.","required":true},"secretAccessKey":{"type":"string","description":"`secretAccessKey` is the AWS secret access key. This field is write-only and never returned in responses. Required.","required":true},"sessionToken":{"type":"string","description":"`sessionToken` is an AWS session token for temporary credentials. Provide it when using temporary credentials from AWS STS or IAM roles. Omit it for long-term IAM user credentials."}}},"https":{"type":"object","description":"HTTPSCredentials contains authentication credentials for HTTPS endpoints.\n Supports HTTP Basic authentication, bearer tokens, and custom auth headers.\n Future versions may support OAuth or mTLS client certificates.","properties":{"basicAuth":{"type":"object","description":"BasicAuthCredentials contains username and password for HTTP Basic authentication. This is a reusable credential type for any endpoint that uses HTTP Basic authentication, including generic HTTPS endpoints. Credentials are encrypted at rest and in transit."},"bearerToken":{"type":"object","description":"BearerTokenCredentials contains a bearer token for HTTP Authorization header authentication.\n Used for APIs that require \"Authorization: Bearer \" authentication.\n Common with OAuth 2.0, JWT tokens, and many modern APIs.\n The token is encrypted at rest and in transit."},"authHeaders":{"type":"object","description":"AuthHeadersCredentials contains custom HTTP headers for authentication.\n Used for APIs that require authentication via custom headers (e.g., X-API-Key, X-Auth-Token).\n All header values are encrypted at rest and in transit.\n Header names are case-insensitive per HTTP specification."}}}}},"example":{"ref":[{"slug":"string"}],"spec":[{"displayName":"string","s3":{"uri":"string","region":"string"},"https":{"endpoint":"string","tls":{"certificateAuthorityData":"string"}}}],"credentialAction":["CREDENTIAL_ACTION_PRESERVE"],"s3":[{"accessKeyId":"string","secretAccessKey":"string","sessionToken":"string"}],"https":[{"basicAuth":{"username":"string","password":"string"},"bearerToken":{"token":"string"},"authHeaders":{"headers":{}}}]}}}}}},"/v1beta1/telemetryrelay/pipelines/{ref.slug}":{"delete":{"tags":["TelemetryRelayService"],"parameters":[{"name":"ref.slug","in":"path","description":"ref.slug (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#TelemetryRelayService_DeletePipeline","api_endpoint":"https://api.coreweave.com/v1beta1/telemetryrelay/pipelines/{ref.slug}"},"summary":"Delete forwarding pipeline","description":"Delete forwarding pipeline | Permanently deletes a forwarding pipeline identified by `ref.slug`. Forwarding stops immediately. Underlying endpoints and streams are not affected. Returns `404` (reason `TELEMETRYRELAY_PIPELINE_NOT_FOUND`) if no pipeline with that slug exists. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"get":{"tags":["TelemetryRelayService"],"parameters":[{"name":"ref.slug","in":"path","description":"ref.slug (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#TelemetryRelayService_GetPipeline","api_endpoint":"https://api.coreweave.com/v1beta1/telemetryrelay/pipelines/{ref.slug}"},"summary":"Get forwarding pipeline","description":"Get forwarding pipeline | Returns a single forwarding pipeline by its `ref.slug`, including the source/destination references and the current state. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]},"patch":{"tags":["TelemetryRelayService"],"parameters":[{"name":"ref.slug","in":"path","description":"ref.slug (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#TelemetryRelayService_UpdatePipeline","api_endpoint":"https://api.coreweave.com/v1beta1/telemetryrelay/pipelines/{ref.slug}"},"summary":"Update forwarding pipeline","description":"Update forwarding pipeline | Updates a forwarding pipeline identified by `ref.slug`. The request body must include the full `spec` (source, destination, enabled). Use this to retarget a pipeline, enable or disable forwarding, or temporarily pause delivery. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"source":{"type":"object","description":"body.source (object field from the documented request schema)","properties":{"slug":{"type":"string","description":"body.source.slug (string field from the documented request schema)"}}},"destination":{"type":"object","description":"ForwardingEndpointRef uniquely identifies a forwarding endpoint within an organization.\n Endpoints are referenced by a human-readable slug that must be unique per organization.","properties":{"slug":{"type":"string","description":"slug is a unique identifier for the endpoint within the organization.\n Must be 3-32 characters, start with alphanumeric, and contain only alphanumeric and hyphens.","required":true}}},"enabled":{"type":"boolean","description":"body.enabled (boolean field from the documented request schema)","enum":[true,false]}}},"example":{"source":[{"slug":"string"}],"destination":[{"slug":"string"}],"enabled":[false]}}}}}},"/v1beta1/telemetryrelay/endpoints/{ref.slug}:check":{"get":{"tags":["TelemetryRelayService"],"parameters":[{"name":"ref.slug","in":"path","description":"ref.slug (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#TelemetryRelayService_CheckEndpoint","api_endpoint":"https://api.coreweave.com/v1beta1/telemetryrelay/endpoints/{ref.slug}:check"},"summary":"Get forwarding endpoint status","description":"Get forwarding endpoint status | Returns the last-known `ForwardingEndpointStatus` for a forwarding endpoint identified by `ref.slug`. This reads persisted state. It is not a live connectivity probe and does not verify TLS, authentication, or reachability against the destination. Live liveness checking is planned for a future release. The `zones_active` field in the response may be empty regardless of actual endpoint usage. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1beta1/telemetryrelay/streams/{ref.slug}":{"get":{"tags":["TelemetryRelayService"],"parameters":[{"name":"ref.slug","in":"path","description":"ref.slug (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#TelemetryRelayService_GetStream","api_endpoint":"https://api.coreweave.com/v1beta1/telemetryrelay/streams/{ref.slug}"},"summary":"Get telemetry stream","description":"Get telemetry stream | Returns a single telemetry stream by its `ref.slug`. Includes the stream's `spec` (display name, kind, label-selector filter) and `status` (current state and active zones). | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1beta1/telemetryrelay/streams":{"get":{"tags":["TelemetryRelayService"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#TelemetryRelayService_ListStreams","api_endpoint":"https://api.coreweave.com/v1beta1/telemetryrelay/streams"},"summary":"List telemetry streams","description":"List telemetry streams | Returns every telemetry stream available to the caller's organization. Streams are pre-defined categories of platform telemetry (for example, audit logs) that can be forwarded by binding them to an endpoint via a pipeline. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1beta1/cks/clusters":{"post":{"tags":["ClusterService"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#ClusterService_CreateCluster","api_endpoint":"https://api.coreweave.com/v1beta1/cks/clusters"},"summary":"Create cluster","description":"Create cluster | Creates a new CKS cluster in the specified Availability Zone. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"The name of the cluster. Must be 1-30 characters and match the regex `^[a-z0-9]([-a-z0-9]*[a-z0-9])?$` (lowercase alphanumeric and hyphens; cannot start or end with a hyphen).","required":true},"zone":{"type":"string","description":"The [Availability Zone](https://docs.coreweave.com/platform/regions/about-regions-and-azs#complete-region-list) in which the cluster is located.","required":true},"vpcId":{"type":"string","description":"The ID of the VPC in which the cluster is located. The VPC must be in the same Availability Zone as the cluster.","required":true},"public":{"type":"boolean","description":"Whether the cluster's api-server is publicly accessible from the Internet.","enum":[true,false]},"version":{"type":"string","description":"The version of Kubernetes to run on the cluster, in minor version format (for example, `v1.32`). Patch versions are applied automatically by CKS as they are released.","required":true},"network":{"type":"object","description":"The Kubernetes overlay network configuration for a cluster, including pod, service, and internal load balancer CIDR ranges.","required":true,"properties":{"podCidrName":{"type":"string","description":"The name of the VPC prefix to use as the pod CIDR range. The prefix must exist in the cluster's VPC.","required":true},"serviceCidrName":{"type":"string","description":"The name of the VPC prefix to use as the service CIDR range. The prefix must exist in the cluster's VPC.","required":true},"internalLbCidrNames":{"type":"array","description":"The names of the VPC prefixes to use as internal load balancer CIDR ranges. Internal load balancers are reachable within the VPC but not accessible from the Internet. The prefixes must exist in the cluster's VPC. This field is append-only.","required":true},"serviceNodePortRange":{"type":"object","description":"An inclusive port range. `end` must be greater than or equal to `start`, and both must be in `1-65535`."}}},"oidc":{"type":"object","description":"OpenID Connect (OIDC) configuration for authentication to the cluster's api-server. The whole object is optional on the cluster, but when supplied, `issuerUrl` and `clientId` are required within it.","properties":{"issuerUrl":{"type":"string","description":"The URL of the OIDC issuer. Required when `oidc` is configured on a cluster.","required":true},"clientId":{"type":"string","description":"The client ID for the OIDC client. Required when `oidc` is configured on a cluster.","required":true},"usernameClaim":{"type":"string","description":"The claim to use as the username."},"usernamePrefix":{"type":"string","description":"The prefix to apply to the username."},"groupsClaim":{"type":"string","description":"The claim to use as the groups."},"groupsPrefix":{"type":"string","description":"The prefix to apply to the groups."},"ca":{"type":"string","description":"The CA certificate for the OIDC issuer. Must be a base64-encoded PEM-encoded certificate."},"requiredClaim":{"type":"string","description":"A claim that must be present on every token for authentication to succeed."},"adminGroupBinding":{"type":"string","description":"Optional OIDC group name to bind to the cluster-admin RBAC role in the cluster."},"signingAlgorithms":{"type":"array","description":"A list of signing algorithms that the OpenID Connect discovery endpoint uses."}}},"authzWebhook":{"type":"object","description":"Configuration for an authentication or authorization webhook server used by the cluster's api-server. Each webhook (`authzWebhook`, `authnWebhook`) is optional on the cluster, but when supplied, `server` is required within it.","properties":{"server":{"type":"string","description":"The URL of the webhook server. Required when the webhook is configured on a cluster.","required":true},"ca":{"type":"string","description":"The CA certificate for the webhook server. Must be a base64-encoded PEM-encoded certificate."}}},"authnWebhook":{"type":"object","description":"Configuration for an authentication or authorization webhook server used by the cluster's api-server. Each webhook (`authzWebhook`, `authnWebhook`) is optional on the cluster, but when supplied, `server` is required within it.","properties":{"server":{"type":"string","description":"The URL of the webhook server. Required when the webhook is configured on a cluster.","required":true},"ca":{"type":"string","description":"The CA certificate for the webhook server. Must be a base64-encoded PEM-encoded certificate."}}},"auditPolicy":{"type":"string","description":"Audit policy for the cluster. Must be provided as a base64-encoded JSON or YAML string."},"sharedStorageClusterId":{"type":"string","description":"The cluster ID (not name) of an existing CKS cluster whose shared storage this cluster should join. Set at create time only; this field is not present on `UpdateClusterRequest`, so it cannot be changed after the cluster is created."},"disableOidcInfoPublication":{"type":"boolean","description":"When `true`, suppresses publication of the `/.well-known/openid-configuration` and `/openid/v1/jwks` endpoints to `oidc.cks.coreweave.com/id/[CLUSTER-ID]`, so the cluster cannot be used as a public OIDC provider. Publishing these endpoints exposes the cluster's OIDC configuration and JWKS to the public Internet.","enum":[true,false]},"kubelet":{"type":"object","description":"A JSON object of selective overrides applied to every cluster Node's kubelet configuration. A Node reboot is required for changes to take effect. Unknown options are stored but ignored. See the [Kubernetes kubelet configuration reference](https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/) for supported options.","properties":{}},"additionalServerSans":{"type":"array","description":"Up to 10 additional Subject Alternative Names to include on the Kubernetes API server certificate. Each entry must be unique.","items":{"type":"string"}},"tailscale":{"type":"object","description":"Tailscale configuration for a cluster.","properties":{"clientId":{"type":"string","description":"Tailscale OAuth client ID. Maximum 255 characters."},"tailnetDomain":{"type":"string","description":"The Tailscale tailnet DNS name assigned to this cluster."}}}}},"example":{"name":["string"],"zone":["string"],"vpcId":["string"],"public":[false],"version":["string"],"network":[{"podCidrName":"string","serviceCidrName":"string","internalLbCidrNames":["string"],"serviceNodePortRange":{"start":0,"end":0}}],"oidc":[{"issuerUrl":"string","clientId":"string","usernameClaim":"string","usernamePrefix":"string","groupsClaim":"string","groupsPrefix":"string","ca":"string","requiredClaim":"string","adminGroupBinding":"string","signingAlgorithms":["string"]}],"authzWebhook":[{"server":"string","ca":"string"}],"authnWebhook":[{"server":"string","ca":"string"}],"auditPolicy":["string"],"sharedStorageClusterId":["string"],"disableOidcInfoPublication":[false],"kubelet":[{}],"additionalServerSans":[["string"]],"tailscale":[{"clientId":"string","tailnetDomain":"string"}]}}}}},"get":{"tags":["ClusterService"],"parameters":[{"name":"returnPartialSuccess","in":"query","description":"Setting this field to `true` will opt the request into returning the\n clusters in reachable zones and will populate unreachable zones in the\n [ListClustersResponse.unreachable] field. This can only be set to `true` if the request is made to the global endpoint.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#ClusterService_ListClusters","api_endpoint":"https://api.coreweave.com/v1beta1/cks/clusters"},"summary":"List clusters","description":"List clusters | Returns every CKS cluster across every Availability Zone that the caller can read. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1beta1/cks/clusters/{id}":{"delete":{"tags":["ClusterService"],"parameters":[{"name":"id","in":"path","description":"The ID of the cluster to delete.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#ClusterService_DeleteCluster","api_endpoint":"https://api.coreweave.com/v1beta1/cks/clusters/{id}"},"summary":"Delete cluster","description":"Delete cluster | Deletes a CKS cluster by ID. Returns the deleted cluster object on success. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"get":{"tags":["ClusterService"],"parameters":[{"name":"id","in":"path","description":"The ID of the cluster to get.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#ClusterService_GetCluster","api_endpoint":"https://api.coreweave.com/v1beta1/cks/clusters/{id}"},"summary":"Get cluster","description":"Get cluster | Retrieves a single CKS cluster by ID. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]},"patch":{"tags":["ClusterService"],"parameters":[{"name":"id","in":"path","description":"The ID of the cluster to update.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#ClusterService_UpdateCluster","api_endpoint":"https://api.coreweave.com/v1beta1/cks/clusters/{id}"},"summary":"Update cluster","description":"Update cluster | Updates a CKS cluster by ID. Use `updateMask` to target specific fields. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"updateMask":{"type":"string","description":"A field mask specifying which fields to update. When omitted, all fields in the request body are updated. See the PATCH operation documentation for the preliminary list of valid paths and [Google AIP-157](https://google.aip.dev/157) for field-mask syntax."},"id":{"type":"string","description":"The unique identifier for the cluster to update.","required":true},"public":{"type":"boolean","description":"Whether the cluster's api-server is publicly accessible from the Internet.","enum":[true,false]},"version":{"type":"string","description":"The version of Kubernetes to run on the cluster, in minor version format (for example, `v1.32`). Patch versions are applied automatically by CKS as they are released.","required":true},"oidc":{"type":"object","description":"OpenID Connect (OIDC) configuration for authentication to the cluster's api-server. The whole object is optional on the cluster, but when supplied, `issuerUrl` and `clientId` are required within it.","properties":{"issuerUrl":{"type":"string","description":"The URL of the OIDC issuer. Required when `oidc` is configured on a cluster.","required":true},"clientId":{"type":"string","description":"The client ID for the OIDC client. Required when `oidc` is configured on a cluster.","required":true},"usernameClaim":{"type":"string","description":"The claim to use as the username."},"usernamePrefix":{"type":"string","description":"The prefix to apply to the username."},"groupsClaim":{"type":"string","description":"The claim to use as the groups."},"groupsPrefix":{"type":"string","description":"The prefix to apply to the groups."},"ca":{"type":"string","description":"The CA certificate for the OIDC issuer. Must be a base64-encoded PEM-encoded certificate."},"requiredClaim":{"type":"string","description":"A claim that must be present on every token for authentication to succeed."},"adminGroupBinding":{"type":"string","description":"Optional OIDC group name to bind to the cluster-admin RBAC role in the cluster."},"signingAlgorithms":{"type":"array","description":"A list of signing algorithms that the OpenID Connect discovery endpoint uses."}}},"authzWebhook":{"type":"object","description":"Configuration for an authentication or authorization webhook server used by the cluster's api-server. Each webhook (`authzWebhook`, `authnWebhook`) is optional on the cluster, but when supplied, `server` is required within it.","properties":{"server":{"type":"string","description":"The URL of the webhook server. Required when the webhook is configured on a cluster.","required":true},"ca":{"type":"string","description":"The CA certificate for the webhook server. Must be a base64-encoded PEM-encoded certificate."}}},"authnWebhook":{"type":"object","description":"Configuration for an authentication or authorization webhook server used by the cluster's api-server. Each webhook (`authzWebhook`, `authnWebhook`) is optional on the cluster, but when supplied, `server` is required within it.","properties":{"server":{"type":"string","description":"The URL of the webhook server. Required when the webhook is configured on a cluster.","required":true},"ca":{"type":"string","description":"The CA certificate for the webhook server. Must be a base64-encoded PEM-encoded certificate."}}},"auditPolicy":{"type":"string","description":"Audit policy for the cluster. Must be provided as a base64-encoded JSON or YAML string."},"network":{"type":"object","description":"Mutable subset of the cluster's network configuration accepted by the PATCH endpoint.","properties":{"internalLbCidrNames":{"type":"array","description":"The names of the VPC prefixes to use as internal load balancer CIDR ranges. Internal load balancers are reachable within the VPC but not accessible from the Internet. The prefixes must exist in the cluster's VPC. This field is append-only."},"serviceNodePortRange":{"type":"object","description":"An inclusive port range. `end` must be greater than or equal to `start`, and both must be in `1-65535`."}}},"disableOidcInfoPublication":{"type":"boolean","description":"When `true`, suppresses publication of the `/.well-known/openid-configuration` and `/openid/v1/jwks` endpoints to `oidc.cks.coreweave.com/id/[CLUSTER-ID]`, so the cluster cannot be used as a public OIDC provider. Publishing these endpoints exposes the cluster's OIDC configuration and JWKS to the public Internet.","enum":[true,false]},"kubelet":{"type":"object","description":"A JSON object of selective overrides applied to every cluster Node's kubelet configuration. A Node reboot is required for changes to take effect. Unknown options are stored but ignored. See the [Kubernetes kubelet configuration reference](https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/) for supported options.","properties":{}},"additionalServerSans":{"type":"array","description":"Up to 10 additional Subject Alternative Names to include on the Kubernetes API server certificate. Each entry must be unique.","items":{"type":"string"}},"tailscale":{"type":"object","description":"Tailscale configuration for a cluster.","properties":{"clientId":{"type":"string","description":"Tailscale OAuth client ID. Maximum 255 characters."},"tailnetDomain":{"type":"string","description":"The Tailscale tailnet DNS name assigned to this cluster."}}}}},"example":{"updateMask":["string"],"id":["string"],"public":[false],"version":["string"],"oidc":[{"issuerUrl":"string","clientId":"string","usernameClaim":"string","usernamePrefix":"string","groupsClaim":"string","groupsPrefix":"string","ca":"string","requiredClaim":"string","adminGroupBinding":"string","signingAlgorithms":["string"]}],"authzWebhook":[{"server":"string","ca":"string"}],"authnWebhook":[{"server":"string","ca":"string"}],"auditPolicy":["string"],"network":[{"internalLbCidrNames":["string"],"serviceNodePortRange":{"start":0,"end":0}}],"disableOidcInfoPublication":[false],"kubelet":[{}],"additionalServerSans":[["string"]],"tailscale":[{"clientId":"string","tailnetDomain":"string"}]}}}}}},"/v1alpha1/inference/capacityclaims":{"post":{"tags":["CapacityClaimService"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CapacityClaimService_CreateCapacityClaim","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/capacityclaims"},"summary":"Create capacity claim","description":"Create capacity claim | Creates a new CapacityClaim that reserves GPU hardware for inference deployments. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"id":{"type":"string","description":"The unique identifier of the CapacityClaim, UUID format"},"name":{"type":"string","description":"The human readable name of the CapacityClaim"},"resources":{"type":"object","description":"Resources to reserve within a CapacityClaim","required":true,"properties":{"instanceId":{"type":"string","description":"The instance type to reserve, by ID specifier (for example, `gb200-4x`). Identifiers are case-sensitive and must use the lowercase form. Must be a valid instance type within at least one of the specified `zones`.","required":true},"instanceCount":{"type":"number","description":"The number of instances to reserve.","required":true},"capacityType":{"type":"string","description":"The capacity type for the CapacityClaim. `CAPACITY_TYPE_MANAGED` reserves instances from CoreWeave's managed capacity pool and is the only value accepted when creating or updating a claim. `CAPACITY_TYPE_CUSTOMER` is deprecated; it is not accepted on create or update, but can still appear when reading older claims. This field cannot be changed after the claim is created.","required":true},"zones":{"type":"array","description":"The Availability Zones the CapacityClaim may use resources from. Zone identifiers are case-sensitive and must use the uppercase canonical form (for example, `US-WEST-04A`). The order of `zones` implies an allocation preference; earlier entries are preferred.","required":true}}}}},"example":{"id":["string"],"name":["string"],"resources":[{"instanceId":"string","instanceCount":0,"capacityType":"CAPACITY_TYPE_CUSTOMER","zones":["string"]}]}}}}},"get":{"tags":["CapacityClaimService"],"parameters":[{"name":"updatedAfter","in":"query","description":"Filter by those updated after this timestamp","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CapacityClaimService_ListCapacityClaims","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/capacityclaims"},"summary":"List capacity claims","description":"List capacity claims | Returns every CapacityClaim that the caller can read. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1alpha1/inference/capacityclaims/{id}":{"delete":{"tags":["CapacityClaimService"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the CapacityClaim to delete, UUID format","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CapacityClaimService_DeleteCapacityClaim","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/capacityclaims/{id}"},"summary":"Delete capacity claim","description":"Delete capacity claim | Deletes a CapacityClaim by ID. Returns the deleted CapacityClaim. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"get":{"tags":["CapacityClaimService"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the CapacityClaim to get, UUID format","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CapacityClaimService_GetCapacityClaim","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/capacityclaims/{id}"},"summary":"Get capacity claim","description":"Get capacity claim | Retrieves a single CapacityClaim by its UUID. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]},"patch":{"tags":["CapacityClaimService"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the CapacityClaim to update, UUID format","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CapacityClaimService_UpdateCapacityClaim","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/capacityclaims/{id}"},"summary":"Update capacity claim","description":"Update capacity claim | Updates an existing CapacityClaim. The full `resources` block is required and replaces the existing reservation. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"id":{"type":"string","description":"The unique identifier of the CapacityClaim to update, UUID format","required":true},"resources":{"type":"object","description":"Resources to reserve within a CapacityClaim","required":true,"properties":{"instanceId":{"type":"string","description":"The instance type to reserve, by ID specifier (for example, `gb200-4x`). Identifiers are case-sensitive and must use the lowercase form. Must be a valid instance type within at least one of the specified `zones`.","required":true},"instanceCount":{"type":"number","description":"The number of instances to reserve.","required":true},"capacityType":{"type":"string","description":"The capacity type for the CapacityClaim. `CAPACITY_TYPE_MANAGED` reserves instances from CoreWeave's managed capacity pool and is the only value accepted when creating or updating a claim. `CAPACITY_TYPE_CUSTOMER` is deprecated; it is not accepted on create or update, but can still appear when reading older claims. This field cannot be changed after the claim is created.","required":true},"zones":{"type":"array","description":"The Availability Zones the CapacityClaim may use resources from. Zone identifiers are case-sensitive and must use the uppercase canonical form (for example, `US-WEST-04A`). The order of `zones` implies an allocation preference; earlier entries are preferred.","required":true}}}}},"example":{"id":["string"],"resources":[{"instanceId":"string","instanceCount":0,"capacityType":"CAPACITY_TYPE_CUSTOMER","zones":["string"]}]}}}}}},"/v1alpha1/inference/capacityclaims/parameters":{"get":{"tags":["CapacityClaimService"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CapacityClaimService_GetCapacityClaimParameters","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/capacityclaims/parameters"},"summary":"Get capacity claim parameters","description":"Get capacity claim parameters | Returns the available instance types per Availability Zone for use when creating a CapacityClaim. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1alpha1/inference/deployments":{"post":{"tags":["DeploymentService"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#DeploymentService_CreateDeployment","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/deployments"},"summary":"Create deployment","description":"Create deployment | Creates a new model deployment associated with one or more gateways. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"id":{"type":"string","description":"The unique identifier of the deployment, UUID format"},"name":{"type":"string","description":"The name of the deployment","required":true},"gatewayIds":{"type":"array","description":"The gateways to associate the deployment with","required":true,"items":{"type":"string"}},"runtime":{"type":"object","description":"Runtime selection and configuration for deployments","required":true,"properties":{"engine":{"type":"string","description":"The inference engine to use (for example, `vllm`). The available engines are returned by `GET /v1alpha1/inference/deployments/parameters`.","required":true},"version":{"type":"string","description":"The version of the engine. Defaults to `latest` when unset. Must be one of the engine's available versions returned by the parameters endpoint.","required":true},"engineConfig":{"type":"object","description":"Engine-specific configuration arguments. The allowed keys per engine are returned under `runtimeParameters.runtimeConfigOptions` by the parameters endpoint."},"engineEnv":{"type":"object","description":"Map of engine-specific environment variables to inject into the model runtime container"}}},"resources":{"type":"object","description":"Resource configuration for the deployment","required":true,"properties":{"instanceType":{"type":"string","description":"The instance type to use for the deployment. The available values are returned by `GET /v1alpha1/inference/deployments/parameters`.","required":true},"gpuCount":{"type":"number","description":"Number of GPUs needed per instance. CPU and RAM are automatically assigned based on the chosen GPU count.","required":true}}},"model":{"type":"object","description":"Configuration of the model","required":true,"properties":{"name":{"type":"string","description":"The model name used in inference requests (and returned by the gateway's `/models` endpoint). When multiple deployments on the same gateway share a name, traffic is split between them by `traffic.weight`.","required":true},"bucket":{"type":"string","description":"The CoreWeave AI Object Storage (CAIOS) bucket the model is stored in.","required":true},"path":{"type":"string","description":"The path within `bucket` to the model and its configuration files.","required":true}}},"autoscaling":{"type":"object","description":"Autoscaling configuration for the deployment","required":true,"properties":{"min":{"type":"number","description":"The minimum number of replicas. Must be at least `1`; scale-to-zero is not supported.","required":true},"max":{"type":"number","description":"The maximum number of replicas. Must be greater than or equal to `min`. Set equal to `min` to disable autoscaling.","required":true},"priority":{"type":"number","description":"Scaling priority relative to other deployments, from `0` to `1000`. Higher values receive scaling preference during resource contention."},"capacityClasses":{"type":"array","description":"The capacity classes the autoscaler may use for this deployment. Set `CAPACITY_CLASS_RESERVED` to schedule replicas onto capacity reserved by a CapacityClaim; set `CAPACITY_CLASS_ON_DEMAND` to use shared on-demand capacity. Omit the zero value `CAPACITY_CLASS_UNSPECIFIED` rather than sending it."},"concurrency":{"type":"number","description":"Target concurrent requests per replica. Lower values reduce latency; higher values increase throughput. Must be at least `1`."}}},"traffic":{"type":"object","description":"Configuration for traffic control to the deployment","required":true,"properties":{"weight":{"type":"number","description":"The relative weight of traffic routed to this deployment compared to other deployments with the same model name on the same gateway. Weights are normalized into percentages."}}},"disabled":{"type":"boolean","description":"Disable the deployment","enum":[true,false]}}},"example":{"id":["string"],"name":["string"],"gatewayIds":[["string"]],"runtime":[{"engine":"string","version":"string","engineConfig":{},"engineEnv":{}}],"resources":[{"instanceType":"string","gpuCount":0}],"model":[{"name":"string","bucket":"string","path":"string"}],"autoscaling":[{"min":0,"max":0,"priority":0,"capacityClasses":["CAPACITY_CLASS_RESERVED"],"concurrency":0}],"traffic":[{"weight":0}],"disabled":[false]}}}}},"get":{"tags":["DeploymentService"],"parameters":[{"name":"parentGatewayId","in":"query","description":"The ID of the parent gateway to filter deployments by","required":false,"schema":{"type":"string","example":""}},{"name":"updatedAfter","in":"query","description":"Filter by those updated after this timestamp","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#DeploymentService_ListDeployments","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/deployments"},"summary":"List deployments","description":"List deployments | Returns every deployment that the caller can read, optionally filtered by parent gateway or update timestamp. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1alpha1/inference/deployments/{id}":{"delete":{"tags":["DeploymentService"],"parameters":[{"name":"id","in":"path","description":"The ID of the deployment to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#DeploymentService_DeleteDeployment","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/deployments/{id}"},"summary":"Delete deployment","description":"Delete deployment | Deletes a deployment by ID. Returns the deleted deployment. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"get":{"tags":["DeploymentService"],"parameters":[{"name":"id","in":"path","description":"The ID of the deployment to get","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#DeploymentService_GetDeployment","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/deployments/{id}"},"summary":"Get deployment","description":"Get deployment | Retrieves a single deployment by ID. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]},"patch":{"tags":["DeploymentService"],"parameters":[{"name":"id","in":"path","description":"The ID of the deployment to update","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#DeploymentService_UpdateDeployment","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/deployments/{id}"},"summary":"Update deployment","description":"Update deployment | Updates an existing deployment. The request body replaces the deployment's spec; this endpoint does not accept a field mask. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"id":{"type":"string","description":"The ID of the deployment to update","required":true},"name":{"type":"string","description":"The name of the deployment","required":true},"gatewayIds":{"type":"array","description":"The gateways to associate the deployment with","required":true,"items":{"type":"string"}},"runtime":{"type":"object","description":"Runtime selection and configuration for deployments","required":true,"properties":{"engine":{"type":"string","description":"The inference engine to use (for example, `vllm`). The available engines are returned by `GET /v1alpha1/inference/deployments/parameters`.","required":true},"version":{"type":"string","description":"The version of the engine. Defaults to `latest` when unset. Must be one of the engine's available versions returned by the parameters endpoint.","required":true},"engineConfig":{"type":"object","description":"Engine-specific configuration arguments. The allowed keys per engine are returned under `runtimeParameters.runtimeConfigOptions` by the parameters endpoint."},"engineEnv":{"type":"object","description":"Map of engine-specific environment variables to inject into the model runtime container"}}},"resources":{"type":"object","description":"Resource configuration for the deployment","required":true,"properties":{"instanceType":{"type":"string","description":"The instance type to use for the deployment. The available values are returned by `GET /v1alpha1/inference/deployments/parameters`.","required":true},"gpuCount":{"type":"number","description":"Number of GPUs needed per instance. CPU and RAM are automatically assigned based on the chosen GPU count.","required":true}}},"model":{"type":"object","description":"Configuration of the model","required":true,"properties":{"name":{"type":"string","description":"The model name used in inference requests (and returned by the gateway's `/models` endpoint). When multiple deployments on the same gateway share a name, traffic is split between them by `traffic.weight`.","required":true},"bucket":{"type":"string","description":"The CoreWeave AI Object Storage (CAIOS) bucket the model is stored in.","required":true},"path":{"type":"string","description":"The path within `bucket` to the model and its configuration files.","required":true}}},"autoscaling":{"type":"object","description":"Autoscaling configuration for the deployment","required":true,"properties":{"min":{"type":"number","description":"The minimum number of replicas. Must be at least `1`; scale-to-zero is not supported.","required":true},"max":{"type":"number","description":"The maximum number of replicas. Must be greater than or equal to `min`. Set equal to `min` to disable autoscaling.","required":true},"priority":{"type":"number","description":"Scaling priority relative to other deployments, from `0` to `1000`. Higher values receive scaling preference during resource contention."},"capacityClasses":{"type":"array","description":"The capacity classes the autoscaler may use for this deployment. Set `CAPACITY_CLASS_RESERVED` to schedule replicas onto capacity reserved by a CapacityClaim; set `CAPACITY_CLASS_ON_DEMAND` to use shared on-demand capacity. Omit the zero value `CAPACITY_CLASS_UNSPECIFIED` rather than sending it."},"concurrency":{"type":"number","description":"Target concurrent requests per replica. Lower values reduce latency; higher values increase throughput. Must be at least `1`."}}},"traffic":{"type":"object","description":"Configuration for traffic control to the deployment","required":true,"properties":{"weight":{"type":"number","description":"The relative weight of traffic routed to this deployment compared to other deployments with the same model name on the same gateway. Weights are normalized into percentages."}}},"disabled":{"type":"boolean","description":"Disable the deployment","enum":[true,false]}}},"example":{"id":["string"],"name":["string"],"gatewayIds":[["string"]],"runtime":[{"engine":"string","version":"string","engineConfig":{},"engineEnv":{}}],"resources":[{"instanceType":"string","gpuCount":0}],"model":[{"name":"string","bucket":"string","path":"string"}],"autoscaling":[{"min":0,"max":0,"priority":0,"capacityClasses":["CAPACITY_CLASS_RESERVED"],"concurrency":0}],"traffic":[{"weight":0}],"disabled":[false]}}}}}},"/v1alpha1/inference/deployments/parameters":{"get":{"tags":["DeploymentService"],"parameters":[{"name":"gatewayIds","in":"query","description":"Optional set of gateway IDs to scope the returned parameters to. When provided, the response\n enumerates only the values valid across every listed gateway, so a deployment targeting this\n exact set and using only the returned values passes validation. Empty means all of the\n organization's gateways (the values are enumerated across them without the cross-gateway\n intersection).","required":false,"schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#DeploymentService_GetDeploymentParameters","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/deployments/parameters"},"summary":"Get deployment parameters","description":"Get deployment parameters | Returns the available gateways, runtime engines and versions, runtime config keys, and instance types for use when creating a deployment. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1alpha1/inference/gateways":{"post":{"tags":["GatewayService"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#GatewayService_CreateGateway","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/gateways"},"summary":"Create gateway","description":"Create gateway | Creates a new inference gateway. Each gateway must be configured with exactly one authentication type and exactly one routing strategy. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"id":{"type":"string","description":"The unique identifier of the gateway, UUID format"},"name":{"type":"string","description":"The human readable name of the gateway. Capped at 38 characters so the derived\n production FQDN (..gw.cwinference.com) fits within the 64-character\n X.509 Common Name limit.","required":true},"zones":{"type":"array","description":"The zones to make the gateway available in, limits where deployments associated with the gateway may exist, no\n zones means all may be used.","items":{"type":"string"}},"coreWeaveAuth":{"type":"object","description":"Use CoreWeave IAM authentication, no additional configuration","properties":{}},"weightsAndBiasesAuth":{"type":"object","description":"Use W&B auth","properties":{"apiKey":{"type":"string","description":"The W&B organization API key. Required if `serverUrl` is set."},"serverUrl":{"type":"string","description":"Optional W&B server URL. Defaults to the W&B shared SaaS instance."},"enableUsageReports":{"type":"boolean","description":"Send inference usage data to W&B for tracking.","enum":[true,false]},"enableRateLimiting":{"type":"boolean","description":"Enable W&B-controlled rate limiting for inference requests.","enum":[true,false]}}},"endpointConfiguration":{"type":"object","description":"Configuration options for the gateway endpoint, DNS, TLS, etc.","properties":{"additionalDns":{"type":"array","description":"Additional DNS configurations, these DNS need to be configured to point to the gateway endpoint manually"},"edgeProxyMode":{"type":"string","description":"How client traffic reaches the gateway. `EDGE_PROXY_MODE_MANAGED` proxies traffic through CoreWeave's managed edge network: DDoS mitigation and WAF, with TLS terminated at the edge and the origin address kept out of public DNS. `EDGE_PROXY_MODE_DIRECT` connects clients straight to the gateway's load balancer, with no edge filtering and the load balancer address published in DNS. `EDGE_PROXY_MODE_UNSPECIFIED` (or omitting the field) applies the platform default, currently managed."},"allowedSourceIpRanges":{"type":"array","description":"Client source IP ranges permitted to reach the gateway, in CIDR notation (IPv4 or IPv6), up to\n 50 entries. An empty list applies no source restriction. Use a full-length prefix for a single\n address (e.g. \"203.0.113.5/32\")."}}},"bodyBasedRouting":{"type":"object","description":"Body based routing configuration","properties":{"apiType":{"type":"string","description":"Well-known API type for routing. `API_TYPE_OPENAI` extracts the model name from the `model` field in the JSON request body (OpenAI-compatible behavior). The zero value `API_TYPE_UNSPECIFIED` is never valid to send.","required":true}}},"headerBasedRouting":{"type":"object","description":"Header based routing configuration, uses a header value to route requests to the model by name","properties":{"headerName":{"type":"string","description":"The HTTP header to read the model name from on each inference request. Must be 1-100 characters.","required":true}}},"pathBasedRouting":{"type":"object","description":"Path-based routing configuration. The model name is read from the first segment of the URL path (for example, `/my-model/v1/chat/completions`). URL-encode model names that contain special characters.","properties":{}}}},"example":{"id":["string"],"name":["string"],"zones":[["string"]],"coreWeaveAuth":[{}],"weightsAndBiasesAuth":[{"apiKey":"string","serverUrl":"string","enableUsageReports":false,"enableRateLimiting":false}],"endpointConfiguration":[{"additionalDns":["string"],"edgeProxyMode":"EDGE_PROXY_MODE_UNSPECIFIED","allowedSourceIpRanges":["string"]}],"bodyBasedRouting":[{"apiType":"API_TYPE_OPENAI"}],"headerBasedRouting":[{"headerName":"string"}],"pathBasedRouting":[{}]}}}}},"get":{"tags":["GatewayService"],"parameters":[{"name":"updatedAfter","in":"query","description":"Filter by those updated after this timestamp","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#GatewayService_ListGateways","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/gateways"},"summary":"List gateways","description":"List gateways | Returns every inference gateway that the caller can read, optionally filtered by update timestamp. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1alpha1/inference/gateways/{id}":{"delete":{"tags":["GatewayService"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the gateway to delete, UUID format","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#GatewayService_DeleteGateway","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/gateways/{id}"},"summary":"Delete gateway","description":"Delete gateway | Deletes a gateway by ID. Returns the deleted gateway. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"get":{"tags":["GatewayService"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the reservation to get, UUID format","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#GatewayService_GetGateway","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/gateways/{id}"},"summary":"Get gateway","description":"Get gateway | Retrieves a single gateway by its UUID. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]},"patch":{"tags":["GatewayService"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the gateway to update, UUID format","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#GatewayService_UpdateGateway","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/gateways/{id}"},"summary":"Update gateway","description":"Update gateway | Updates an existing gateway. The request body replaces the gateway's spec; this endpoint does not accept a field mask. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"id":{"type":"string","description":"The unique identifier of the gateway to update, UUID format","required":true},"name":{"type":"string","description":"The human readable name of the gateway. Capped at 38 characters, matching\n CreateGatewayRequest.name.","required":true},"zones":{"type":"array","description":"The zones to make the gateway available in, limits where deployments associated with the gateway may exist, no\n zones means all may be used.","items":{"type":"string"}},"coreWeaveAuth":{"type":"object","description":"Use CoreWeave IAM authentication, no additional configuration","properties":{}},"weightsAndBiasesAuth":{"type":"object","description":"Use W&B auth","properties":{"apiKey":{"type":"string","description":"The W&B organization API key. Required if `serverUrl` is set."},"serverUrl":{"type":"string","description":"Optional W&B server URL. Defaults to the W&B shared SaaS instance."},"enableUsageReports":{"type":"boolean","description":"Send inference usage data to W&B for tracking.","enum":[true,false]},"enableRateLimiting":{"type":"boolean","description":"Enable W&B-controlled rate limiting for inference requests.","enum":[true,false]}}},"endpointConfiguration":{"type":"object","description":"Configuration options for the gateway endpoint, DNS, TLS, etc.","properties":{"additionalDns":{"type":"array","description":"Additional DNS configurations, these DNS need to be configured to point to the gateway endpoint manually"},"edgeProxyMode":{"type":"string","description":"How client traffic reaches the gateway. `EDGE_PROXY_MODE_MANAGED` proxies traffic through CoreWeave's managed edge network: DDoS mitigation and WAF, with TLS terminated at the edge and the origin address kept out of public DNS. `EDGE_PROXY_MODE_DIRECT` connects clients straight to the gateway's load balancer, with no edge filtering and the load balancer address published in DNS. `EDGE_PROXY_MODE_UNSPECIFIED` (or omitting the field) applies the platform default, currently managed."},"allowedSourceIpRanges":{"type":"array","description":"Client source IP ranges permitted to reach the gateway, in CIDR notation (IPv4 or IPv6), up to\n 50 entries. An empty list applies no source restriction. Use a full-length prefix for a single\n address (e.g. \"203.0.113.5/32\")."}}},"bodyBasedRouting":{"type":"object","description":"Body based routing configuration","properties":{"apiType":{"type":"string","description":"Well-known API type for routing. `API_TYPE_OPENAI` extracts the model name from the `model` field in the JSON request body (OpenAI-compatible behavior). The zero value `API_TYPE_UNSPECIFIED` is never valid to send.","required":true}}},"headerBasedRouting":{"type":"object","description":"Header based routing configuration, uses a header value to route requests to the model by name","properties":{"headerName":{"type":"string","description":"The HTTP header to read the model name from on each inference request. Must be 1-100 characters.","required":true}}},"pathBasedRouting":{"type":"object","description":"Path-based routing configuration. The model name is read from the first segment of the URL path (for example, `/my-model/v1/chat/completions`). URL-encode model names that contain special characters.","properties":{}}}},"example":{"id":["string"],"name":["string"],"zones":[["string"]],"coreWeaveAuth":[{}],"weightsAndBiasesAuth":[{"apiKey":"string","serverUrl":"string","enableUsageReports":false,"enableRateLimiting":false}],"endpointConfiguration":[{"additionalDns":["string"],"edgeProxyMode":"EDGE_PROXY_MODE_UNSPECIFIED","allowedSourceIpRanges":["string"]}],"bodyBasedRouting":[{"apiType":"API_TYPE_OPENAI"}],"headerBasedRouting":[{"headerName":"string"}],"pathBasedRouting":[{}]}}}}}},"/v1alpha1/inference/gateways/parameters":{"get":{"tags":["GatewayService"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#GatewayService_GetGatewayParameters","api_endpoint":"https://api.coreweave.com/v1alpha1/inference/gateways/parameters"},"summary":"Get gateway parameters","description":"Get gateway parameters | Returns the available Availability Zones for use when creating a gateway. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1beta1/networking/vpcs":{"post":{"tags":["VPCService"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#VPCService_CreateVPC","api_endpoint":"https://api.coreweave.com/v1beta1/networking/vpcs"},"summary":"Create VPC","description":"Create VPC | Creates a new VPC in the specified Availability Zone. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"The name of the VPC. Must not be longer than 30 characters.","required":true},"zone":{"type":"string","description":"The [Availability Zone](https://docs.coreweave.com/platform/regions/about-regions-and-azs#complete-region-list) in which the VPC is located.","required":true},"vpcPrefixes":{"type":"array","description":"An array of additional prefixes associated with the VPC. Must be given in CIDR notation. For example, CKS clusters use these prefixes for Pod and service CIDR ranges.","items":{"type":"object","properties":{"name":{"type":"string","description":"The user-specified name of the VPC Prefix. Must not be longer than 30 characters.","required":true},"value":{"type":"string","description":"The value of the prefix in IPv4 or IPv6 CIDR notation.","required":true},"createdAt":{"type":"string","description":"The time the prefix was created."},"updatedAt":{"type":"string","description":"The time the prefix was last updated."},"status":{"type":"string","description":"The current status of the prefix. The lifecycle is `STATUS_PENDING_ALLOCATION` → `STATUS_AVAILABLE` → `STATUS_ALLOCATED`. `STATUS_UNSPECIFIED` means the status has not been set."}}}},"hostPrefix":{"type":"string","description":"A single IPv4 CIDR range used to allocate host addresses when\nbooting compute into a VPC. Must meet the Availability Zone's\nminimum mask size (typically `/18` or larger). If unspecified,\na Zone-specific default is applied by the server. Immutable\nonce set.\n**Deprecated:** use `hostPrefixes` instead. Supports only one\nIPv4 prefix. Mutually exclusive with `hostPrefixes`; if neither\nfield is set, per-Zone defaults apply."},"hostPrefixes":{"type":"array","description":"The Host Prefixes of the VPC. If configured, each IPv4 prefix must meet the Availability Zone's minimum mask size (typically `/18` or larger, for example `/17` or `/16`), and each IPv6 prefix must be `/51` or larger (for example, `/50` or `/49`). If not explicitly configured, a Zone-specific default is applied by the server. This field is mutually exclusive with `hostPrefix` and is immutable once set.","items":{"type":"object","properties":{"name":{"type":"string","description":"The user-specified name of the Host Prefix.","required":true},"type":{"type":"string","description":"The host prefix's type, which controls network connectivity from the prefix to the host. Must be uppercase. Values are `PRIMARY`, `ROUTED`, and `ATTACHED`; omit the field rather than sending the zero value `UNSPECIFIED`. See the Create VPC operation for the full taxonomy.","required":true},"prefixes":{"type":"array","description":"The VPC-wide aggregates from which host-specific prefixes are allocated. May be IPv4 or IPv6.","required":true},"ipam":{"type":"object","description":"IP address management (IPAM) configuration for a secondary host prefix. The `gatewayAddressPolicy` field's values are `EUI64`, `FIRST_IP`, and `LAST_IP`. See the Create VPC operation for the full taxonomy."}}}},"ingress":{"type":"object","description":"The ingress configuration of the VPC.","properties":{"disablePublicServices":{"type":"boolean","description":"Disables ingress from the Internet at the VPC level when set to `true`. Defaults to `false`, so ingress from the Internet is enabled unless you change this field.","enum":[true,false]}}},"egress":{"type":"object","description":"The egress configuration of the VPC.","properties":{"disablePublicAccess":{"type":"boolean","description":"Disables egress from the Internet at the VPC level when set to `true`. Defaults to `false`, so egress from the Internet is enabled unless you change this field.","enum":[true,false]}}},"dhcp":{"type":"object","description":"DHCP configuration for the VPC.","properties":{"dns":{"type":"object","description":"Settings affecting DNS for DHCP within the VPC"}}}}},"example":{"name":["string"],"zone":["string"],"vpcPrefixes":[[{"name":"string","value":"string","createdAt":"string","updatedAt":"string","status":"STATUS_UNSPECIFIED"}]],"hostPrefix":["string"],"hostPrefixes":[[{"name":"string","type":"UNSPECIFIED","prefixes":["string"],"ipam":{"prefixLength":0,"gatewayAddressPolicy":"UNSPECIFIED"}}]],"ingress":[{"disablePublicServices":false}],"egress":[{"disablePublicAccess":false}],"dhcp":[{"dns":{"servers":["string"]}}]}}}}},"get":{"tags":["VPCService"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#VPCService_ListVPCs","api_endpoint":"https://api.coreweave.com/v1beta1/networking/vpcs"},"summary":"List VPCs","description":"List VPCs | Returns every VPC across every Availability Zone that the caller can read. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1beta1/networking/vpcs/{id}":{"delete":{"tags":["VPCService"],"parameters":[{"name":"id","in":"path","description":"The unique identifier for the VPC.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#VPCService_DeleteVPC","api_endpoint":"https://api.coreweave.com/v1beta1/networking/vpcs/{id}"},"summary":"Delete VPC","description":"Delete VPC | Deletes a VPC by ID. Returns the deleted VPC object on success. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"get":{"tags":["VPCService"],"parameters":[{"name":"id","in":"path","description":"The unique identifier for the VPC.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#VPCService_GetVPC","api_endpoint":"https://api.coreweave.com/v1beta1/networking/vpcs/{id}"},"summary":"Get VPC","description":"Get VPC | Retrieves a single VPC by ID. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]},"patch":{"tags":["VPCService"],"parameters":[{"name":"id","in":"path","description":"The unique identifier for the VPC.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#VPCService_UpdateVPC","api_endpoint":"https://api.coreweave.com/v1beta1/networking/vpcs/{id}"},"summary":"Update VPC","description":"Update VPC | Updates a VPC by ID. Use `updateMask` to target specific fields. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"updateMask":{"type":"string","description":"A field mask specifying which fields to update. Valid paths are `vpcPrefixes`, `ingress.disablePublicServices`, `egress.disablePublicAccess`, and `dhcp.dns.servers`. Any other path (including top-level paths like `ingress` or `dhcp`) is silently ignored. When omitted, all fields in the request body are updated. See [Google AIP-157](https://google.aip.dev/157)."},"id":{"type":"string","description":"The unique identifier for the VPC.","required":true},"vpcPrefixes":{"type":"array","description":"An array of additional prefixes associated with the VPC. Must be given in CIDR notation.","items":{"type":"object","properties":{"name":{"type":"string","description":"The user-specified name of the VPC Prefix. Must not be longer than 30 characters.","required":true},"value":{"type":"string","description":"The value of the prefix in IPv4 or IPv6 CIDR notation.","required":true},"createdAt":{"type":"string","description":"The time the prefix was created."},"updatedAt":{"type":"string","description":"The time the prefix was last updated."},"status":{"type":"string","description":"The current status of the prefix. The lifecycle is `STATUS_PENDING_ALLOCATION` → `STATUS_AVAILABLE` → `STATUS_ALLOCATED`. `STATUS_UNSPECIFIED` means the status has not been set."}}}},"ingress":{"type":"object","description":"The ingress configuration of the VPC.","properties":{"disablePublicServices":{"type":"boolean","description":"Disables ingress from the Internet at the VPC level when set to `true`. Defaults to `false`, so ingress from the Internet is enabled unless you change this field.","enum":[true,false]}}},"egress":{"type":"object","description":"The egress configuration of the VPC.","properties":{"disablePublicAccess":{"type":"boolean","description":"Disables egress from the Internet at the VPC level when set to `true`. Defaults to `false`, so egress from the Internet is enabled unless you change this field.","enum":[true,false]}}},"dhcp":{"type":"object","description":"DHCP configuration for the VPC.","properties":{"dns":{"type":"object","description":"Settings affecting DNS for DHCP within the VPC"}}}}},"example":{"updateMask":["string"],"id":["string"],"vpcPrefixes":[[{"name":"string","value":"string","createdAt":"string","updatedAt":"string","status":"STATUS_UNSPECIFIED"}]],"ingress":[{"disablePublicServices":false}],"egress":[{"disablePublicAccess":false}],"dhcp":[{"dns":{"servers":["string"]}}]}}}}}},"/v1/cwobject/auth/can-i":{"post":{"tags":["CWObject"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_AuthCanI","api_endpoint":"https://api.coreweave.com/v1/cwobject/auth/can-i"},"summary":"Check authorization","description":"Check authorization | Checks whether the caller is allowed to perform a set of actions on a set of resources. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"actions":{"type":"array","description":"The list of actions to check (for example, `cwobject:ListBucketInfo`).","items":{"type":"string"}},"resources":{"type":"array","description":"The list of resources to check the actions against. Use `[\"*\"]` to check against every resource.","items":{"type":"string"}}}},"example":{"actions":[["string"]],"resources":[["string"]]}}}}}},"/v1/cwobject/temporary-credentials/oidc/{orgId}":{"get":{"tags":["CWObject"],"parameters":[{"name":"orgId","in":"path","description":"orgId (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_CreateAccessKeyFromContainerCreds","api_endpoint":"https://api.coreweave.com/v1/cwobject/temporary-credentials/oidc/{orgId}"},"summary":"Create access key from container credentials","description":"Create access key from container credentials | AWS-style container-credentials provider. Returns short-lived access keys for in-cluster workloads using the workload's own OIDC token. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1/cwobject/temporary-credentials/oidc":{"post":{"tags":["CWObject"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_CreateAccessKeyFromOIDC","api_endpoint":"https://api.coreweave.com/v1/cwobject/temporary-credentials/oidc"},"summary":"Create access key from OIDC","description":"Create access key from OIDC | Exchanges an OIDC token from a configured Workload Identity Federation provider for a time-limited CoreWeave AI Object Storage access key. No CoreWeave bearer token is required. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"durationSeconds":{"type":"number","description":"Lifespan of the resulting access key in seconds. Must be `0-43200` (12 hours maximum).","required":true},"orgId":{"type":"string","description":"The CoreWeave organization ID to mint the access key for.","required":true},"oidcToken":{"type":"string","description":"The OIDC token from the configured Workload Identity Federation provider.","required":true},"attributes":{"type":"object","description":"Free-form caller-supplied attributes attached to the key (for example, `name`).","properties":{}}}},"example":{"durationSeconds":[0],"orgId":["string"],"oidcToken":["string"],"attributes":[{}]}}}}}},"/v1/cwobject/temporary-credentials/saml":{"post":{"tags":["CWObject"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_CreateAccessKeyFromSAML","api_endpoint":"https://api.coreweave.com/v1/cwobject/temporary-credentials/saml"},"summary":"Create access key from SAML","description":"Create access key from SAML | Exchanges a base64-encoded SAML assertion from a configured Workload Identity Federation provider for a time-limited CoreWeave AI Object Storage access key. No CoreWeave bearer token is required. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"durationSeconds":{"type":"number","description":"Lifespan of the resulting access key in seconds. Must be `0-43200` (12 hours maximum).","required":true},"orgId":{"type":"string","description":"The CoreWeave organization ID to mint the access key for.","required":true},"samlResponse":{"type":"string","description":"The SAML assertion, base64-encoded.","required":true},"attributes":{"type":"object","description":"Free-form caller-supplied attributes attached to the key (for example, `name`).","properties":{}},"configId":{"type":"string","description":"The Workload Identity Federation configuration ID that corresponds to the SAML provider. Configurations are created from the Cloud Console; see [Using Workload Identity Federation with SAML](/products/storage/object-storage/auth-access/workload-identity-federation/saml-workload-federation)."}}},"example":{"durationSeconds":[0],"orgId":["string"],"samlResponse":["string"],"attributes":[{}],"configId":["string"]}}}}}},"/v1/cwobject/access-key":{"post":{"tags":["CWObject"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_CreateAccessKeyFromJWT","api_endpoint":"https://api.coreweave.com/v1/cwobject/access-key"},"summary":"Create access key","description":"Create access key | Creates a CoreWeave AI Object Storage access key, exchanging a CoreWeave API access token (Cloud token) for object-storage credentials. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"durationSeconds":{"type":"number","description":"Lifespan of the resulting access key in seconds. Set to `0` to create a permanent key; set to a positive integer to create a temporary key with that lifespan. Required.","required":true},"attributes":{"type":"object","description":"Free-form caller-supplied attributes attached to the key (for example, `name`).","properties":{}}}},"example":{"durationSeconds":[0],"attributes":[{}]}}}}},"get":{"tags":["CWObject"],"parameters":[{"name":"offset","in":"query","description":"Zero-based offset into the result set. Used with `limit` for pagination.","required":false,"schema":{"type":"number","example":""}},{"name":"limit","in":"query","description":"Page size. Must be `1-1000`.","required":false,"schema":{"type":"number","example":""}},{"name":"status","in":"query","description":"Optional access-key status filter. When unset, access keys of every status are returned.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_ListAccessKeyInfo","api_endpoint":"https://api.coreweave.com/v1/cwobject/access-key"},"summary":"List access keys","description":"List access keys | Lists access keys in the caller's organization. Secret keys are never returned. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1/cwobject/access-policy/{name}":{"delete":{"tags":["CWObject"],"parameters":[{"name":"name","in":"path","description":"name (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_DeleteAccessPolicy","api_endpoint":"https://api.coreweave.com/v1/cwobject/access-policy/{name}"},"summary":"Delete access policy","description":"Delete access policy | Deletes an access policy by name. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/v1/cwobject/access-key/{accessKeyId}":{"get":{"tags":["CWObject"],"parameters":[{"name":"accessKeyId","in":"path","description":"accessKeyId (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_GetAccessKeyInfo","api_endpoint":"https://api.coreweave.com/v1/cwobject/access-key/{accessKeyId}"},"summary":"Get access key","description":"Get access key | Retrieves metadata for a specific access key by ID. The secret key is never returned. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1/cwobject/bucket-info/{bucketName}":{"get":{"tags":["CWObject"],"parameters":[{"name":"bucketName","in":"path","description":"bucketName (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_GetBucketInfo","api_endpoint":"https://api.coreweave.com/v1/cwobject/bucket-info/{bucketName}"},"summary":"Get bucket info","description":"Get bucket info | Retrieves information about a specific bucket, including details unavailable through the S3-compatible API. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1/cwobject/temporary-credentials/api-token":{"get":{"tags":["CWObject"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_CreateAccessKeyFromApiToken","api_endpoint":"https://api.coreweave.com/v1/cwobject/temporary-credentials/api-token"},"summary":"CWObject_CreateAccessKeyFromApiToken","description":"CWObject_CreateAccessKeyFromApiToken |  | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1/cwobject/access-policy":{"get":{"tags":["CWObject"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_ListAccessPolicies","api_endpoint":"https://api.coreweave.com/v1/cwobject/access-policy"},"summary":"List access policies","description":"List access policies | Lists every CoreWeave AI Object Storage access policy in the caller's organization. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1/cwobject/bucket-info":{"get":{"tags":["CWObject"],"parameters":[{"name":"offset","in":"query","description":"Zero-based offset into the result set. Used with `limit` for pagination.","required":false,"schema":{"type":"number","example":""}},{"name":"limit","in":"query","description":"Page size. Must be `1-1000`.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_ListBucketInfo","api_endpoint":"https://api.coreweave.com/v1/cwobject/bucket-info"},"summary":"List bucket info","description":"List bucket info | Lists information about every bucket in the caller's organization, including details unavailable through the S3-compatible API. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}]}},"/v1/cwobject/revoke-access-key/principal":{"post":{"tags":["CWObject"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_RevokeAccessKeysByPrincipal","api_endpoint":"https://api.coreweave.com/v1/cwobject/revoke-access-key/principal"},"summary":"Revoke a principal's access keys","description":"Revoke a principal's access keys | Revokes every access key owned by the named principal. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"principalName":{"type":"string","description":"The fully-qualified principal whose access keys should be revoked.","required":true}}},"example":{"principalName":["string"]}}}}}},"/v1/cwobject/revoke-access-key/access-key":{"post":{"tags":["CWObject"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_RevokeAccessKeyByAccessKey","api_endpoint":"https://api.coreweave.com/v1/cwobject/revoke-access-key/access-key"},"summary":"Revoke an access key","description":"Revoke an access key | Revokes a single access key by its access-key value. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"accessKey":{"type":"string","description":"The access-key value (not the ID) to revoke.","required":true}}},"example":{"accessKey":["string"]}}}}}},"/v1/cwobject/bucket/settings":{"put":{"tags":["CWObject"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_SetBucketSettings","api_endpoint":"https://api.coreweave.com/v1/cwobject/bucket/settings"},"summary":"Set bucket settings","description":"Set bucket settings | Configures bucket settings that aren't exposed by the S3-compatible API. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"bucketName":{"type":"string","description":"The name of the bucket to configure."},"settings":{"type":"object","description":"Per-bucket settings managed through the AI Object Storage API.","properties":{"auditLoggingEnabled":{"type":"boolean","description":"When `true`, audit logging is enabled for the bucket.","enum":[true,false]},"archiveEnabled":{"type":"boolean","description":"When true, idle STANDARD objects are archived to STANDARD_IA after\n archive_after_last_access_days without access. Org must be entitled to\n configure this setting.","enum":[true,false]},"archiveAfterLastAccessDays":{"type":"number","description":"Days since last access (or creation if never accessed) before a STANDARD\n object version is archived to STANDARD_IA. Required when archive_enabled\n is true. Ignored when archive_enabled is false."},"capacityCapBytes":{"type":"string","description":"Sets or replaces the capacity cap in bytes. Zero is a valid cap. Values\n greater than 9,223,372,036,854,775,807 bytes are rejected. The caller's\n organization must be entitled."},"configuredCapacityCapBytes":{"type":"string","description":"Read-only: the capacity cap currently configured on the bucket, populated\n on GetBucketInfo / ListBucketInfo / SetBucketSettings responses. Unset\n means no cap is configured. Ignored on SetBucketSettings requests; use\n capacity_cap_update to modify the cap."}}}}},"example":{"bucketName":["string"],"settings":[{"auditLoggingEnabled":false,"archiveEnabled":false,"archiveAfterLastAccessDays":0,"capacityCapBytes":"string","configuredCapacityCapBytes":"string"}]}}}}}},"/v1/cwobject/organization/settings":{"put":{"tags":["CWObject"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_SetOrganizationSettings","api_endpoint":"https://api.coreweave.com/v1/cwobject/organization/settings"},"summary":"Set organization settings","description":"Set organization settings | Configures organization-wide CoreWeave AI Object Storage settings such as default audit logging. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"settings":{"type":"object","description":"Organization-wide settings managed through the AI Object Storage API.","properties":{"controlPlaneAuditLoggingEnabled":{"type":"boolean","description":"When `true`, audit logging is enabled for control-plane operations.","enum":[true,false]},"bucketAuditLoggingEnabled":{"type":"boolean","description":"When `true`, audit logging is enabled by default for every bucket in the organization.","enum":[true,false]}}}}},"example":{"settings":[{"controlPlaneAuditLoggingEnabled":false,"bucketAuditLoggingEnabled":false}]}}}}}},"/v1/cwobject/access-key-status":{"put":{"tags":["CWObject"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.coreweave.com/reference-home#CWObject_UpdateAccessKeyStatus","api_endpoint":"https://api.coreweave.com/v1/cwobject/access-key-status"},"summary":"Update access key status","description":"Update access key status | Updates the status of every access key for a principal to `ACTIVE` or `SUSPENDED`. | Source: official OpenAPI spec at https://docs.coreweave.com/products/cks/reference/cks-api","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"principalName":{"type":"string","description":"The fully-qualified principal whose access-key status should change.","required":true},"status":{"type":"string","description":"The new status to apply to every access key for the principal. `ACTIVE` makes the keys usable; `SUSPENDED` prevents authentication without revoking them. The underlying enum also declares `INVALID` (its zero value), which is never valid to send.","required":true}}},"example":{"principalName":["string"],"status":["ACTIVE"]}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"security":[{"bearerAuth":[]}]}