Cast AI Edge Configurations API

Provides an API to manage edge configurations in a similar manner as node configuration allows configuring nodes.

Operations 5

GET /omni-provisioner/v1beta/organizations/{organizationId}/clusters/{clusterId}/edge-configurations List edge configurations #
POST /omni-provisioner/v1beta/organizations/{organizationId}/clusters/{clusterId}/edge-locations/{edgeLocationId}/configurations Create edge configuration #
DELETE /omni-provisioner/v1beta/organizations/{organizationId}/clusters/{clusterId}/edge-locations/{edgeLocationId}/configurations/{id} Delete edge configuration #
GET /omni-provisioner/v1beta/organizations/{organizationId}/clusters/{clusterId}/edge-locations/{edgeLocationId}/configurations/{id} Get edge configuration details #
PATCH /omni-provisioner/v1beta/organizations/{organizationId}/clusters/{clusterId}/edge-locations/{edgeLocationId}/configurations/{id} Update edge configuration #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kimchi:kimchi-edgeconfigurationsapi-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

kimchi-edgeconfigurationsapi-api-openapi.yml Raw ↑
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