Cast AI Edges V2Beta API
Provides an API to manage provisioning of Omni edges.
Provides an API to manage provisioning of Omni edges.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/kimchi:kimchi-edgesv2betaapi-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Omni provisioner Edges V2Beta API
version: 0.0.1
description: Provides an API to manage provisioning of Omni edges.
servers:
- url: https://api.cast.ai/
description: US endpoint
- url: https://api.eu.cast.ai/
description: EU endpoint
security:
- BearerAuth: []
- ApiKeyAuth: []
tags:
- name: EdgesV2BetaAPI
description: Provides an API to manage provisioning of Omni edges.
paths:
/omni-provisioner/v2beta/organizations/{organizationId}/clusters/{clusterId}/edge-locations/{edgeLocationId}/edges:
post:
tags:
- EdgesV2BetaAPI
summary: Creates an edge
description: Method to create an edge.
operationId: EdgesV2BetaAPI_CreateEdge
parameters:
- name: organizationId
in: path
description: The ID of the Organization.
required: true
schema:
type: string
- name: clusterId
in: path
description: The cluster ID.
required: true
schema:
type: string
- name: edgeLocationId
in: path
description: The edge location ID.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Edge'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEdgeResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/omni-provisioner/v2beta/organizations/{organizationId}/clusters/{clusterId}/edge-locations/{edgeLocationId}/edges/{id}:
delete:
tags:
- EdgesV2BetaAPI
summary: Deletes an edge
description: Method to delete an edge.
operationId: EdgesV2BetaAPI_DeleteEdge
parameters:
- name: organizationId
in: path
description: The ID of the Organization.
required: true
schema:
type: string
- name: clusterId
in: path
description: The cluster ID.
required: true
schema:
type: string
- name: edgeLocationId
in: path
description: The edge location ID.
required: true
schema:
type: string
- name: id
in: path
description: The ID of the edge to be deleted.
required: true
schema:
type: string
- name: force
in: query
description: "Force deletion without waiting for cluster to be in a stable state.\n This might leave hanging resources in the cluster. Use with caution."
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/LongRunningOperation'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
get:
tags:
- EdgesV2BetaAPI
summary: Gets an edge
description: Method to get an edge.
operationId: EdgesV2BetaAPI_GetEdge
parameters:
- name: organizationId
in: path
description: The ID of the Organization.
required: true
schema:
type: string
- name: clusterId
in: path
description: The cluster ID.
required: true
schema:
type: string
- name: edgeLocationId
in: path
description: The edge location ID.
required: true
schema:
type: string
- name: id
in: path
description: The ID of the edge to be retrieved.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Edge'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
patch:
tags:
- EdgesV2BetaAPI
summary: Updates an edge
description: Method to update an edge.
operationId: EdgesV2BetaAPI_UpdateEdge
parameters:
- name: organizationId
in: path
description: The ID of the Organization.
required: true
schema:
type: string
- name: clusterId
in: path
description: The cluster ID.
required: true
schema:
type: string
- name: edgeLocationId
in: path
description: The edge location ID.
required: true
schema:
type: string
- name: id
in: path
description: The ID of the edge to be updated.
required: true
schema:
type: string
- name: updateMask
in: query
description: Field mask specifying which fields to update.
schema:
type: string
format: field-mask
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EdgeUpdate'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Edge'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/omni-provisioner/v2beta/organizations/{organizationId}/clusters/{clusterId}/edges:
get:
tags:
- EdgesV2BetaAPI
summary: List edges in omni provider
description: Method to list edges in a clusterwith various filters.
operationId: EdgesV2BetaAPI_ListEdges
parameters:
- name: organizationId
in: path
description: The ID of the Organization.
required: true
schema:
type: string
- name: clusterId
in: path
description: The cluster ID.
required: true
schema:
type: string
- name: edgeLocationId
in: query
description: Filter by edge location ID.
schema:
type: string
- name: page.limit
in: query
description: Defines the number of items that should be returned
schema:
type: string
- name: page.cursor
in: query
description: "Cursor that defines token indicating where to start the next page.\n Empty value indicates to start from beginning of the dataset."
schema:
type: string
- name: clientRequestId
in: query
description: Filter by client_request_id.
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListEdgesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/omni-provisioner/v2beta/organizations/{organizationId}/clusters/{clusterId}/edges/{id}:getCloudInitScript:
get:
tags:
- EdgesV2BetaAPI
summary: Get edge init script
description: Method to generate the cloud init script for an edge.
operationId: EdgesV2BetaAPI_GetCloudInitScript
parameters:
- name: organizationId
in: path
description: The ID of the Organization.
required: true
schema:
type: string
- name: clusterId
in: path
description: The ID of the cluster.
required: true
schema:
type: string
- name: id
in: path
description: The ID of the edge.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
'*/*': {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/omni-provisioner/v2beta/organizations/{organizationId}/clusters/{clusterId}/edges/{id}:setJoinToken:
post:
tags:
- EdgesV2BetaAPI
summary: Sets edge join token
description: Sets edge join token.
operationId: EdgesV2BetaAPI_SetJoinToken
parameters:
- name: organizationId
in: path
description: The ID of the Organization.
required: true
schema:
type: string
- name: clusterId
in: path
description: The ID of the cluster.
required: true
schema:
type: string
- name: id
in: path
description: The ID of the edge.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetJoinTokenRequest_JoinToken'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SetJoinTokenResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/omni-provisioner/v2beta/organizations/{organizationId}/clusters/{clusterId}/edges/{id}:setPeeringInfo:
post:
tags:
- EdgesV2BetaAPI
summary: Sets peering info for an edge
description: Sets peering info of a given edge.
operationId: EdgesV2BetaAPI_SetPeeringInfo
parameters:
- name: organizationId
in: path
description: The ID of the Organization.
required: true
schema:
type: string
- name: clusterId
in: path
description: The ID of the cluster to be onboarded.
required: true
schema:
type: string
- name: id
in: path
description: The ID of the edge.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetPeeringInfoRequest_PeeringInfo'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SetPeeringInfoResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
components:
schemas:
SetPeeringInfoResponse:
type: object
properties: {}
description: SetPeeringInfoResponse message.
Zone:
type: object
properties:
id:
type: string
description: The ID of the zone.
name:
type: string
description: The name of the zone.
description: Zone represents the zone of the edge location.
GoogleProtobufAny:
type: object
properties:
'@type':
type: string
description: The type of the serialized message.
additionalProperties: true
description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
SetJoinTokenRequest_JoinToken:
required:
- tokenBase64
type: object
properties:
tokenBase64:
type: string
description: Join token.
description: Join token message.
LongRunningOperation:
type: object
properties:
id:
type: string
description: ID of the operation.
done:
type: boolean
description: Whether the operation is completed.
error:
allOf:
- $ref: '#/components/schemas/ErrorResponse'
description: Error returned of the operation.
resourceId:
type: string
description: Resource ID returned of the operation.
description: Operation represents the result of an asynchronous operation.
ListEdgesResponse:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Edge'
description: The list of edges.
nextPageCursor:
type: string
description: The pagination cursor to retrieve the next page of edges.
totalCount:
type: integer
description: The total number of items.
format: int32
description: Message of the response to list edges by edge location.
KubernetesTaint:
required:
- key
- effect
type: object
properties:
key:
type: string
description: The taint key.
value:
type: string
description: The taint value.
effect:
enum:
- TAINT_EFFECT_UNSPECIFIED
- NO_SCHEDULE
- PREFER_NO_SCHEDULE
- NO_EXECUTE
type: string
description: The taint effect.
format: enum
addTime:
type: string
description: The time at which the taint was added.
format: date-time
description: Represents a Kubernetes taint to be applied to a node.
Status:
type: object
properties:
code:
type: integer
description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
format: int32
message:
type: string
description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
details:
type: array
items:
$ref: '#/components/schemas/GoogleProtobufAny'
description: A list of messages that carry the error details. There is a common set of message types for APIs to use.
description: 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'
ErrorResponse:
type: object
properties:
message:
type: string
description: Error message.
fieldViolations:
type: array
items:
$ref: '#/components/schemas/FieldViolation'
description: Field violations.
reason:
type: string
description: Reason that categorizes an error.
retryable:
type: boolean
description: Whether error is retryable.
origin:
allOf:
- $ref: '#/components/schemas/CloudMetadata'
description: Origin contains details about error where it came from (like Cloud provider, region, etc.).
description: ErrorResponse is intended to be returned to external caller (e.g. REST).
SetJoinTokenResponse:
type: object
properties: {}
description: SetJoinTokenResponse message.
FieldViolation:
type: object
properties:
field:
type: string
description: Field name.
description:
type: string
description: Description of the violation.
description: FieldViolation contains validation result for single field.
Edge:
required:
- name
- instanceType
- schedulingType
- zone
- nodeArchitecture
type: object
properties:
name:
type: string
description: Name of the edge node.
clientRequestId:
type: string
description: Client request ID is an identifier you provide to ensure the idempotency of the request.
instanceType:
type: string
description: Instance type of the edge node.
schedulingType:
enum:
- SCHEDULING_TYPE_UNSPECIFIED
- ON_DEMAND
- SPOT
type: string
description: Scheduling type of edge node. Defaults to on-demand.
format: enum
zone:
type: string
description: The zone for edge node. Zone must be part of edge location.
gpuConfig:
allOf:
- $ref: '#/components/schemas/GPUConfig'
description: "GPU configuration that will be attached to edge node.\n Note, only certain providers/instance types support attaching GPU's to instance."
kubernetesLabels:
type: object
additionalProperties:
type: string
description: "Kubernetes labels to be added to the node.\n It overrides the labels from the edge configuration in case of a duplicate key."
kubernetesTaints:
type: array
items:
$ref: '#/components/schemas/KubernetesTaint'
description: "Kubernetes taints to be added to the node.\n It overrides the taints from the edge configuration in case of a duplicate key."
nodeArchitecture:
enum:
- ARCHITECTURE_UNSPECIFIED
- X86_64
- ARM64
type: string
description: Node architecture (e.g., "X86_64, ARM64").
format: enum
configurationId:
type: string
description: A reference to an edge configuration to be used for creating an edge; if not provided then a default one will be used.
version:
readOnly: true
type: integer
description: The version of the edge configuration used for creating an edge.
format: int32
id:
readOnly: true
type: string
description: The ID of the edge.
createTime:
readOnly: true
type: string
description: The creation timestamp.
format: date-time
updateTime:
readOnly: true
type: string
description: The last update timestamp.
format: date-time
deleteTime:
readOnly: true
type: string
description: The delete timestamp.
format: date-time
phase:
readOnly: true
enum:
- PHASE_UNSPECIFIED
- CREATING
- READY
- FAILED
- UNKNOWN
- DELETING
- DELETED
type: string
description: Status of the edge with details from agent/client side.
format: enum
bootDiskGib:
type: integer
description: Boot disk size in GiB.
format: uint32
imageId:
type: string
description: ImageID for edge node.
providerId:
readOnly: true
type: string
description: ProviderID for edge node. This will reflect providerID field in Kubernetes node spec.
kubernetesName:
readOnly: true
type: string
description: Kubernetes node name.
cloud:
readOnly: true
type: string
description: Cloud provider for edge node.
instanceLabels:
type: object
additionalProperties:
type: string
description: Instance labels that are added to the edge node. These are called tags on AWS, labels on GCP.
edgeLocationId:
readOnly: true
type: string
description: EdgeLocationID for edge node.
region:
readOnly: true
type: string
description: Region specific for a created edge.
zoneId:
readOnly: true
type: string
description: ZoneID specific for a created edge.
deleteProtection:
type: boolean
description: Delete protection prevents the edge from being deleted when enabled.
description: Message to describe edge provisioning details.
CloudMetadata:
type: object
properties:
provider:
type: string
description: Cloud provider that returned an error.
region:
type: string
description: Region related to an error.
zone:
allOf:
- $ref: '#/components/schemas/Zone'
description: Zone details related to an error.
instanceType:
type: string
description: Instance type (optional) that caused an error.
description: CloudMetadata contains details about where an error came from.
GPUConfig_TimeSharing:
type: object
properties:
replicas:
type: integer
description: "Replicas specifies the number of time-sliced GPU replicas to make available for\n shared access to GPUs of the specified resource type."
format: int32
description: Message to describe time sharing configuration for the GPU.
GPUConfig_MigConfig:
type: object
properties:
partitionSizes:
type: array
items:
type: string
description: PartitionSizes is the sizes of the MIG partitions.
memoryGb:
type: integer
description: MemoryGB is the amount of GPU memory in GB.
format: uint32
description: Message to describe MIG configuration for the GPU.
GPUConfig:
type: object
properties:
type:
type: string
description: Accelerator type, eg nvidia-tesla-t4.
count:
type: integer
description: Number of GPUs.
format: uint32
timeSharing:
allOf:
- $ref: '#/components/schemas/GPUConfig_TimeSharing'
description: TimeSharing configuration for the GPU.
mig:
allOf:
- $ref: '#/components/schemas/GPUConfig_MigConfig'
description: MIG configuration for the GPU.
draEnabled:
type: boolean
description: "DraEnabled enables Dynamic Resource Allocation (DRA).\n When enabled, the device plugin is disabled and GPU resources\n are advertised via K8s ResourceSlices for allocation through K8s ResourceClaims."
description: "GPUConfig describes instance GPU configuration.\n\n Use for:\n * Creating GCP N1 with customer quantity and type of GPUs attached.\n Eg.: n1-standard-2 with 8 x NVIDIA Tesla K80"
CreateEdgeResponse:
type: object
properties:
providerId:
readOnly: true
type: string
description: ProviderID for edge node. This will reflect providerID field in Kubernetes node spec.
id:
readOnly: true
type: string
description: The ID of the edge.
operation:
readOnly: true
allOf:
- $ref: '#/components/schemas/LongRunningOperation'
description: Long running operation to track the edge creation.
description: Message of the response to create an edge.
EdgeUpdate:
type: object
properties:
deleteProtection:
type: boolean
description: Enable or disable delete protection for the edge.
description: Subset of Edge fields allowed for updates.
SetPeeringInfoRequest_PeeringInfo:
required:
- edgeKubeconfigJsonBase64
- externalIp
type: object
properties:
edgeKubeconfigJsonBase64:
type: string
description: Edge kubeconfig in base64 so management cluster can establish peering.
format: bytes
externalIp:
type: string
description: External IP address of the edge.
description: Message to describe the info required to establish peering.
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
x-provenance:
method: searched
source: https://docs.cast.ai/reference
harvested: '2026-10-20'
tool: harvest-readme-openapi.py
note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
assembled_from:
- https://docs.cast.ai/reference/addonsapi_listaddons.md
- https://docs.cast.ai/reference/clustersapi_deletecluster.md
- https://docs.cast.ai/reference/clustersapi_getcluster.md
- https://docs.cast.ai/reference/clustersapi_listclusters.md
- https://docs.cast.ai/reference/clustersapi_onboardcluster.md
- https://docs.cast.ai/reference/clustersapi_onboardclusterscript.md
- https://docs.cast.ai/reference/clustersapi_registercluster.md
- https://docs.cast.ai/reference/clustersapi_renderomniagentcomponent.md
- https://docs.cast.ai/reference/clustersapi_reportstatus.md
- https://docs.cast.ai/reference/edgeconfigurationsapi_createedgeconfiguration.md
- https://docs.cast.ai/reference/edgeconfigurationsapi_deleteedgeconfiguration.md
- https://docs.cast.ai/reference/edgeconfigurationsapi_getedgeconfiguration.md
- https://docs.cast.ai/reference/edgeconfigurationsapi_listedgeconfigurations.md
- https://docs.cast.ai/reference/edgeconfigurationsapi_updateedgeconfiguration.md
- https://docs.cast.ai/reference/edgelocationsapi_createedgelocation.md
- https://docs.cast.ai/reference/edgelocationsapi_deleteedgelocation.md
- https://docs.cast.ai/reference/edgelocationsapi_getedgeinitdscript.md
- https://docs.cast.ai/reference/edgelocationsapi_getedgelocation.md
- https://docs.cast.ai/reference/edgelocationsapi_listedgelocations.md
- https://docs.cast.ai/reference/edgelocationsapi_offboardedgelocation.md
- https://docs.cast.ai/reference/edgelocationsapi_offboardedgelocationscript.md
- https://docs.cast.ai/reference/edgelocationsapi_onboardedgeinitd.md
- https://docs.cast.ai/reference/edgelocationsapi_onboardedgelocation.md
- https://docs.cast.ai/reference/edgelocationsapi_onboardedgelocationscript.md
- https://docs.cast.ai/reference/edgelocationsapi_updateedgelocation.md
- https://docs.cast.ai/reference/edgesv2betaapi_createedge.md
- https://docs.cast.ai/reference/edgesv2betaapi_deleteedge.md
- https://docs.cast.ai/reference/edgesv2betaapi_getcloudinitscript.md
- https://docs.cast.ai/reference/edgesv2betaapi_getedge.md
- https://docs.cast.ai/reference/edgesv2betaapi_listedges.md
- https://docs.cast.ai/reference/edgesv2betaapi_setjointoken.md
- https://docs.cast.ai/reference/edgesv2betaapi_setpeeringinfo.md
- https://docs.cast.ai/reference/edgesv2betaapi_updateedge.md
- https://docs.cast.ai/reference/operationsapi_getoperation-1.md
merge:
pages: 34
deduped: 297
conflicts_kept_first: 0