Cast AI Edge Configurations API
Provides an API to manage edge configurations in a similar manner as node configuration allows configuring nodes.
Provides an API to manage edge configurations in a similar manner as node configuration allows configuring nodes.
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-edgeconfigurationsapi-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 Edge Configurations API
version: 0.0.1
description: Provides an API to manage edge configurations in a similar manner as node configuration allows configuring nodes.
servers:
- url: https://api.cast.ai/
description: US endpoint
- url: https://api.eu.cast.ai/
description: EU endpoint
security:
- BearerAuth: []
- ApiKeyAuth: []
tags:
- name: EdgeConfigurationsAPI
description: Provides an API to manage edge configurations in a similar manner as node configuration allows configuring nodes.
paths:
/omni-provisioner/v1beta/organizations/{organizationId}/clusters/{clusterId}/edge-configurations:
get:
tags:
- EdgeConfigurationsAPI
summary: List edge configurations
description: Method to list edge configurations.
operationId: EdgeConfigurationsAPI_ListEdgeConfigurations
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: edgeLocationId
in: query
description: The ID of the Edge Location configuration belongs to.
schema:
type: string
- name: page.limit
in: query
description: Defines the number of items that should be returned
schema:
type: string
- name: page.cursor
in: query
description: "Cursor that defines token indicating where to start the next page.\n Empty value indicates to start from beginning of the dataset."
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListEdgeConfigurationsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
? /omni-provisioner/v1beta/organizations/{organizationId}/clusters/{clusterId}/edge-locations/{edgeLocationId}/configurations
: post:
tags:
- EdgeConfigurationsAPI
summary: Create edge configuration
description: Method to create edge configuration.
operationId: EdgeConfigurationsAPI_CreateEdgeConfiguration
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: edgeLocationId
in: path
description: The ID of the edge location.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EdgeConfiguration'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EdgeConfiguration'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
? /omni-provisioner/v1beta/organizations/{organizationId}/clusters/{clusterId}/edge-locations/{edgeLocationId}/configurations/{id}
: delete:
tags:
- EdgeConfigurationsAPI
summary: Delete edge configuration
description: Method to delete edge configuration.
operationId: EdgeConfigurationsAPI_DeleteEdgeConfiguration
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: edgeLocationId
in: path
description: The ID of the edge location.
required: true
schema:
type: string
- name: id
in: path
description: The ID of the edge configuration.
required: true
schema:
type: string
responses:
'200':
description: OK
content: {}
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
get:
tags:
- EdgeConfigurationsAPI
summary: Get edge configuration details
description: Method to get edge configuration details.
operationId: EdgeConfigurationsAPI_GetEdgeConfiguration
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: edgeLocationId
in: path
description: The ID of the edge location.
required: true
schema:
type: string
- name: id
in: path
description: The ID of the edge configuration.
required: true
schema:
type: string
- name: version
in: query
description: The version of the edge configuration to be provided.
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EdgeConfiguration'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
patch:
tags:
- EdgeConfigurationsAPI
summary: Update edge configuration
description: Method to update edge configuration parameters.
operationId: EdgeConfigurationsAPI_UpdateEdgeConfiguration
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: edgeLocationId
in: path
description: The ID of the edge location.
required: true
schema:
type: string
- name: id
in: path
description: The ID of the edge configuration.
required: true
schema:
type: string
- name: updateMask
in: query
description: The list of fields to be updated.
schema:
type: string
format: field-mask
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EdgeConfigurationUpdate'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EdgeConfiguration'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
components:
schemas:
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).'
AWSConfiguration:
type: object
properties:
tags:
type: object
additionalProperties:
type: string
description: Instance/VM tags.
imageId:
type: string
description: "ImageID to be used for edge creation.\n It can be an AMI ID (for example 'ami-0abcdef1234567890') or a name filter (for example 'al2023-ami-ecs-hvm-*')."
bootDiskSizeGib:
type: integer
description: Boot disk size.
format: int32
description: AWS specific parameters present in edge configuration.
CustomCloudConfiguration:
type: object
properties: {}
description: Custom cloud specific parameters present in edge configuration.
EdgeConfigurationUpdate:
type: object
properties:
name:
type: string
description: The name of the edge configuration.
default:
type: boolean
description: Whether node configuration is the default one. When set, must be true.
gcp:
allOf:
- $ref: '#/components/schemas/GCPConfiguration'
description: GCP specific configuration.
aws:
allOf:
- $ref: '#/components/schemas/AWSConfiguration'
description: AWS specific configuration.
oci:
allOf:
- $ref: '#/components/schemas/OCIConfiguration'
description: OCI specific configuration.
nebius:
allOf:
- $ref: '#/components/schemas/NebiusConfiguration'
description: Nebius specific configuration.
custom:
allOf:
- $ref: '#/components/schemas/CustomCloudConfiguration'
description: Custom cloud specific configuration.
userDataBase64:
type: string
description: "Base64 encoded user data to run on the edge as part of bootstrap. The payload\n must start with either `#cloud-config` (cloud-init YAML) or `#!` (shell\n script with a shebang). On environments that support cloud-init both options are supported.\n\n For `#cloud-config`, cloud-init's default merge behavior can be\n customized inside the user-provided `#cloud-config` via the `merge_how`\n\n Example overriding the default merge strategy:\n\n #cloud-config\n merge_how:\n - name: list\n settings: [prepend]\n - name: dict\n settings: [no_replace, recurse_list]\n bootcmd:\n - echo \"configuring boot\"\n runcmd:\n - echo \"running user script\"\n\n Omni's internal `#cloud-config` part looks roughly like:\n\n #cloud-config\n cloud_final_modules:\n - [scripts-user, always]\n runcmd:\n - 'until curl --fail -H \"Authorization: Token <token>\" -sSL \"<api>/.../edges/<id>:getCloudInitScript\" -o /tmp/omni-cloud-init.sh; do sleep 5; done'\n - '<env> /bin/bash /tmp/omni-cloud-init.sh'\n\n For shebang (`#!`) user data, the script is executed as-is before Omni's internal bootstrap script runs."
cri:
allOf:
- $ref: '#/components/schemas/EdgeConfiguration_CRIConfiguration'
description: CRI configuration for the edge node.
sshPublicKey:
type: string
description: Base64 encoded ssh public key to be used for provisioned nodes.
description: Message to represent edge configuration update.
NebiusConfiguration:
type: object
properties:
labels:
type: object
additionalProperties:
type: string
description: Instance/VM labels.
imageId:
type: string
description: ImageID to be used for edge creation.
bootDiskSizeGib:
type: integer
description: Boot disk size.
format: int32
reservationIds:
type: array
items:
type: string
description: Capacity block reservation ids.
gpuCluster:
type: string
description: GPU cluster info
filesystems:
type: array
items:
$ref: '#/components/schemas/FilesystemAttachment'
description: Shared filesystems to attach to each VM created from this configuration.
description: Nebius specific parameters present in edge configuration.
EdgeConfiguration_CRIConfiguration:
type: object
properties:
socket:
type: string
description: "Path to an existing CRI socket. Set this when you want kubelet to\n connect to a container runtime you have set up explicitly on the node\n (e.g. a custom containerd build, a different version, or a non-default\n runtime). When set, you are responsible for installing, configuring, and\n running the runtime behind this socket before the node joins.\n Currently only containerd is officially supported.\n Example: \"unix:///run/containerd/containerd.sock`\""
description: Container Runtime Interface configuration for the edge node.
GCPConfiguration:
type: object
properties:
labels:
type: object
additionalProperties:
type: string
description: Instance/VM labels.
imageId:
type: string
description: "Exact image ID (for example 'projects/castai-public-339919/global/images/ubuntu-2404-lts-amd64-cuda') or image\n family (for example `projects/ubuntu-os-cloud/global/images/family/ubuntu-2404-lts-amd64`) to be used for edge creation."
bootDiskSizeGib:
type: integer
description: Boot disk size in GiB.
format: int32
description: GCP specific parameters present in edge configuration.
FilesystemAttachment:
required:
- filesystemId
- mountPath
type: object
properties:
filesystemId:
type: string
description: "ID of an existing Nebius shared filesystem.\n Example: computefilesystem-e00yt3n68egnzr50nz"
mountPath:
type: string
description: Mount path inside the VM.
description: Attachment of an existing Nebius shared filesystem to an edge VM.
OCIConfiguration:
type: object
properties:
tags:
type: object
additionalProperties:
type: string
description: Instance/VM tags.
imageId:
type: string
description: "ImageID to be used for edge creation.\n It can be an AMI ID (for example 'ami-0abcdef1234567890') or a name filter (for example 'al2023-ami-ecs-hvm-*')."
bootDiskSizeGib:
type: integer
description: Boot disk size.
format: int32
description: OCI specific parameters present in edge configuration.
EdgeConfiguration:
required:
- name
type: object
properties:
id:
readOnly: true
type: string
description: The ID of the edge configuration.
name:
type: string
description: The name of the edge configuration.
edgeLocationId:
readOnly: true
type: string
description: The ID of the Edge Location this Edge Configuration belongs to.
version:
readOnly: true
type: integer
description: The version of the edge configuration.
format: int32
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 deletion timestamp.
format: date-time
default:
type: boolean
description: Whether node configuration is the default one.
gcp:
allOf:
- $ref: '#/components/schemas/GCPConfiguration'
description: GCP specific configuration.
aws:
allOf:
- $ref: '#/components/schemas/AWSConfiguration'
description: AWS specific configuration.
oci:
allOf:
- $ref: '#/components/schemas/OCIConfiguration'
description: OCI specific configuration.
nebius:
allOf:
- $ref: '#/components/schemas/NebiusConfiguration'
description: Nebius specific configuration.
custom:
allOf:
- $ref: '#/components/schemas/CustomCloudConfiguration'
description: Custom cloud specific configuration.
edgeCount:
readOnly: true
type: integer
description: The number of edges using this configuration.
format: int32
userDataBase64:
type: string
description: "Base64 encoded user data to run on the edge as part of bootstrap. The payload\n must start with either `#cloud-config` (cloud-init YAML) or `#!` (shell\n script with a shebang). On environments that support cloud-init both options are supported.\n\n For `#cloud-config`, cloud-init's default merge behavior can be\n customized inside the user-provided `#cloud-config` via the `merge_how`\n\n Example overriding the default merge strategy:\n\n #cloud-config\n merge_how:\n - name: list\n settings: [prepend]\n - name: dict\n settings: [no_replace, recurse_list]\n bootcmd:\n - echo \"configuring boot\"\n runcmd:\n - echo \"running user script\"\n\n Omni's internal `#cloud-config` part looks roughly like:\n\n #cloud-config\n cloud_final_modules:\n - [scripts-user, always]\n runcmd:\n - 'until curl --fail -H \"Authorization: Token <token>\" -sSL \"<api>/.../edges/<id>:getCloudInitScript\" -o /tmp/omni-cloud-init.sh; do sleep 5; done'\n - '<env> /bin/bash /tmp/omni-cloud-init.sh'\n\n For shebang (`#!`) user data, the script is executed as-is before Omni's internal bootstrap script runs."
cri:
allOf:
- $ref: '#/components/schemas/EdgeConfiguration_CRIConfiguration'
description: CRI configuration for the edge node.
edgeLocationName:
readOnly: true
type: string
description: The Name of the Edge Location this Edge Configuration belongs to.
sshPublicKey:
type: string
description: "Base64 encoded ssh public key to be used for provisioned nodes.\n Example how to encode public key: cat ~/.ssh/id_ed25519.pub | base64 | tr -d '\\n'"
description: Message to represent edge configurations.
ListEdgeConfigurationsResponse:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/EdgeConfiguration'
description: The list of edge configurations.
nextPageCursor:
type: string
description: The pagination cursor to retrieve the next page of edge configurations.
totalCount:
type: integer
description: The total number of items.
format: int32
description: Message of the response to list edge configurations.
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.
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