Cast AI Operations API

The OperationsAPI API from Cast AI — 4 operation(s) for operationsapi.

Operations 4

GET /v1/kubernetes/external-clusters/operations/{id} GetOperation returns the operation object by ID #
GET /kent/v1alpha/organizations/{organizationId}/operations/{id} Gets the latest state of a long-running operation #
GET /omni-provisioner/v1beta/organizations/{organizationId}/operations/{id} Gets the latest state of a long-running operation #
GET /patching-engine/v1beta/organizations/{organizationId}/operations/{id} Gets the latest state of a long-running operation #

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-operationsapi-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-operationsapi-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kimchi Operations API
  version: '1.0'
  description: 'Operations tagged OperationsAPI across 4 of this provider''s published API definitions: kimchi-cast-ai-api-documentation-api-openapi.yml, kimchi-kent-api-openapi.yml, kimchi-omni-provisioner-api-openapi.yml, kimchi-patching-engine-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.cast.ai/
  description: US endpoint
- url: https://api.eu.cast.ai/
  description: EU endpoint
security:
- BearerAuth: []
- ApiKeyAuth: []
tags:
- name: OperationsAPI
paths:
  /v1/kubernetes/external-clusters/operations/{id}:
    get:
      operationId: OperationsAPI_GetOperation
      parameters:
      - description: ID of the operation.
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/castai.operations.v1beta1.Operation'
          description: Operation object.
      summary: GetOperation returns the operation object by ID
      tags:
      - OperationsAPI
    servers:
    - url: https://api.cast.ai/
      description: US endpoint
    - url: https://api.eu.cast.ai/
      description: EU endpoint
  /kent/v1alpha/organizations/{organizationId}/operations/{id}:
    get:
      tags:
      - OperationsAPI
      summary: Gets the latest state of a long-running operation
      description: Gets the latest state of a long-running operation. Can be used to poll the operation result.
      operationId: getKentV1alphaOrganizationsByOrganizationIdOperationsById
      parameters:
      - name: organizationId
        in: path
        description: ID of the organization.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: ID of the operation.
        required: true
        schema:
          type: string
      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'
      x-operation-id-source: normalized
      x-operation-id-original: OperationsAPI_GetOperation
    servers:
    - url: https://api.cast.ai/
      description: US endpoint
    - url: https://api.eu.cast.ai/
      description: EU endpoint
  /omni-provisioner/v1beta/organizations/{organizationId}/operations/{id}:
    get:
      tags:
      - OperationsAPI
      summary: Gets the latest state of a long-running operation
      description: Gets the latest state of a long-running operation. Can be used to poll the operation result.
      operationId: getOmniProvisionerV1betaOrganizationsByOrganizationIdOperationsById
      parameters:
      - name: organizationId
        in: path
        description: ID of the organization.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: ID of the operation.
        required: true
        schema:
          type: string
      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'
      x-operation-id-source: normalized
      x-operation-id-original: OperationsAPI_GetOperation
    servers:
    - url: https://api.cast.ai/
      description: US endpoint
    - url: https://api.eu.cast.ai/
      description: EU endpoint
  /patching-engine/v1beta/organizations/{organizationId}/operations/{id}:
    get:
      tags:
      - OperationsAPI
      summary: Gets the latest state of a long-running operation
      description: Gets the latest state of a long-running operation. Can be used to poll the operation result.
      operationId: getPatchingEngineV1betaOrganizationsByOrganizationIdOperationsById
      parameters:
      - name: organizationId
        in: path
        description: ID of the organization.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: ID of the operation.
        required: true
        schema:
          type: string
      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'
      x-operation-id-source: normalized
      x-operation-id-original: OperationsAPI_GetOperation
    servers:
    - url: https://api.cast.ai/
      description: US endpoint
    - url: https://api.eu.cast.ai/
      description: EU endpoint
components:
  schemas:
    castai.operations.v1beta1.OperationError:
      description: OperationError object.
      properties:
        reason:
          description: Reason is an operation specific failure code. Refer to documentation about possible outcomes.
          type: string
        details:
          description: Details is a concise human readable explanation for the error.
          type: string
      type: object
    castai.operations.v1beta1.Operation:
      description: Operation object.
      properties:
        id:
          description: ID of the operation.
          type: string
        done:
          description: 'Indicates whether the operation has finished or not. If ''false'', the operation is still in progress. If ''true'',

            the has finished.'
          type: boolean
        createdAt:
          description: Operation creation timestamp in RFC3339Nano format.
          format: date-time
          type: string
        finishedAt:
          description: Operation finish timestamp in RFC3339Nano format.
          format: date-time
          type: string
        error:
          $ref: '#/components/schemas/castai.operations.v1beta1.OperationError'
      type: object
    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).
    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.
    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.
    Zone:
      type: object
      properties:
        name:
          type: string
          description: Zone name related to an error.
        id:
          type: string
          description: Zone ID related to an error.
      description: Zone contains details required to identify error related zone.
    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.
    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.
    Zone_2:
      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.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
x-refined-from:
- kimchi-cast-ai-api-documentation-api-openapi.yml
- kimchi-kent-api-openapi.yml
- kimchi-omni-provisioner-api-openapi.yml
- kimchi-patching-engine-api-openapi.yml
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/analyticsapi_generateanalytics.md
  - https://docs.cast.ai/reference/analyticsapi_generatebillingmodelusagereport.md
  - https://docs.cast.ai/reference/analyticsapi_generatebreakdown.md
  - https://docs.cast.ai/reference/analyticsapi_generatelatestchatcompletionsummary.md
  - https://docs.cast.ai/reference/analyticsapi_generatelatestevaluationsummary.md
  - https://docs.cast.ai/reference/analyticsapi_generatelatestinferencesummaries.md
  - https://docs.cast.ai/reference/analyticsapi_generaterouterreport.md
  - https://docs.cast.ai/reference/analyticsapi_queryanalytics.md
  - https://docs.cast.ai/reference/apikeysapi_createapikey.md
  - https://docs.cast.ai/reference/apikeysapi_deleteapikeybudget.md
  - https://docs.cast.ai/reference/apikeysapi_deleteorganizationbudget.md
  - https://docs.cast.ai/reference/apikeysapi_deleteteambudget.md
  - https://docs.cast.ai/reference/apikeysapi_deleteuserbudget.md
  - https://docs.cast.ai/reference/apikeysapi_getapikeybudget.md
  - https://docs.cast.ai/reference/apikeysapi_getbudgetoverview.md
  - https://docs.cast.ai/reference/apikeysapi_getorganizationbudget.md
  - https://docs.cast.ai/reference/apikeysapi_getteambudget.md
  - https://docs.cast.ai/reference/apikeysapi_getuserbudget.md
  - https://docs.cast.ai/reference/apikeysapi_getuserbudgetstatus.md
  - https://docs.cast.ai/reference/apikeysapi_listapikeybudgets.md
  - https://docs.cast.ai/reference/apikeysapi_listorganizationbudgets.md
  - https://docs.cast.ai/reference/apikeysapi_listteambudgets.md
  - https://docs.cast.ai/reference/apikeysapi_listuserbudgets.md
  - https://docs.cast.ai/reference/apikeysapi_updateapikeybudget.md
  - https://docs.cast.ai/reference/apikeysapi_updateorganizationbudget.md
  - https://docs.cast.ai/reference/apikeysapi_updateteambudget.md
  - https://docs.cast.ai/reference/apikeysapi_updateuserbudget.md
  - https://docs.cast.ai/reference/apikeysapi_verifyapikey.md
  - https://docs.cast.ai/reference/apikeysapi_verifyinference.md
  - https://docs.cast.ai/reference/authorizeapi_authorizeaction.md
  - https://docs.cast.ai/reference/batchapi_cancelbatch.md
  - https://docs.cast.ai/reference/batchapi_createbatch.md
  - https://docs.cast.ai/reference/batchapi_getbatch.md
  - https://docs.cast.ai/reference/batchapi_listbatches.md
  - https://docs.cast.ai/reference/batchapi_reportbatcherror.md
  - https://docs.cast.ai/reference/batchapi_updatebatch.md
  - https://docs.cast.ai/reference/componentsapi_listcomponents.md
  - https://docs.cast.ai/reference/couponsapi_listredeemedcoupons.md
  - https://docs.cast.ai/reference/couponsapi_redeemcoupon.md
  - https://docs.cast.ai/reference/couponsapi_validatecoupon.md
  - https://docs.cast.ai/reference/embeddingsapi_createclusterembedding.md
  - https://docs.cast.ai/reference/embeddingsapi_createembedding.md
  - https://docs.cast.ai/reference/evaluationsapi_createclusterevaluation.md
  - https://docs.cast.ai/reference/evaluationsapi_createevaluation.md
  - https://docs.cast.ai/reference/hostedmodeleventsapi_listhostedmodelevents.md
  - https://docs.cast.ai/reference/hostedmodelsapi_createhostedmodel.md
  - https://docs.cast.ai/reference/hostedmodelsapi_deletehostedmodel.md
  - https://docs.cast.ai/reference/hostedmodelsapi_gethostedmodelpods.md
  - https://docs.cast.ai/reference/hostedmodelsapi_listhostedmodels.md
  - https://docs.cast.ai/reference/hostedmodelsapi_scalehostedmodel.md
  - https://docs.cast.ai/reference/hostedmodelsapi_updatehostedmodel.md
  - https://docs.cast.ai/reference/llmrequestsapi_listllmrequests.md
  - https://docs.cast.ai/reference/marketingapi_handlehubspotwebhook.md
  - https://docs.cast.ai/reference/mcpgatewayadminapi_createmcpconnection.md
  - https://docs.cast.ai/reference/mcpgatewayadminapi_deletemcpconnection.md
  - https://docs.cast.ai/reference/mcpgatewayadminapi_getmcpconnection.md
  - https://docs.cast.ai/reference/mcpgatewayadminapi_listmcpconnections.md
  - https://docs.cast.ai/reference/mcpgatewayadminapi_updatemcpconnection.md
  - https://docs.cast.ai/reference/modelaccessapi_getmodelaccesscatalog.md
  - https://docs.cast.ai/reference/modelaccessapi_getorganizationmodelaccess.md
  - https://docs.cast.ai/reference/modelaccessapi_getteammodelaccess.md
  - https://docs.cast.ai/reference/modelaccessapi_listteammodelaccess.md
  - https://docs.cast.ai/reference/modelaccessapi_updateorganizationmodelaccess.md
  - https://docs.cast.ai/reference/modelaccessapi_updateteammodelaccess.md
  - https://docs.cast.ai/reference/modelregistriesapi_createmodelregistry.md
  - https://docs.cast.ai/reference/modelregistriesapi_deletemodelregistry.md
  - https://docs.cast.ai/reference/modelregistriesapi_getmodelregistry.md
  - https://docs.cast.ai/reference/modelregistriesapi_getonboardingcommand.md
  - https://docs.cast.ai/reference/modelregistriesapi_getonboardingscript.md
  - https://docs.cast.ai/reference/modelregistriesapi_listmodelregistries.md
  - https://docs.cast.ai/reference/modelregistriesapi_listmodelregistrydirectories.md
  - https://docs.cast.ai/reference/modelspecsapi_createmodelspecs.md
  - https://docs.cast.ai/reference/modelspecsapi_deletemodelspecs.md
  - https://docs.cast.ai/reference/modelspecsapi_getmodelspecs.md
  - https://docs.cast.ai/reference/modelspecsapi_listmodelspecs.md
  - https://docs.cast.ai/reference/oauthappsapi_completeoauthlogin.md
  - https://docs.cast.ai/reference/oauthappsapi_createoauthapp.md
  - https://docs.cast.ai/reference/oauthappsapi_deleteoauthapp.md
  - https://docs.cast.ai/reference/oauthappsapi_disconnectoauthapp.md
  - https://docs.cast.ai/reference/oauthappsapi_getoauthapp.md
  - https://docs.cast.ai/reference/oauthappsapi_listoauthapps.md
  - https://docs.cast.ai/reference/oauthappsapi_registerdiscoveredoauthapp.md
  - https://docs.cast.ai/reference/oauthappsapi_startoauthlogin.md
  - https://docs.cast.ai/reference/oauthappsapi_updateoauthapp.md
  - https://docs.cast.ai/reference/onboardingapi_checkmodelscache.md
  - https://docs.cast.ai/reference/onboardingapi_getmodelscachescript.md
  - https://docs.cast.ai/reference/onboardingapi_getonboardingcommand.md
  - https://docs.cast.ai/reference/onboardingapi_getonboardingscript.md
  - https://docs.cast.ai/reference/onboardingapi_getonboardingstatus.md
  - https://docs.cast.ai/reference/onboardingapi_getsetupscript.md
  - https://docs.cast.ai/reference/onboardingapi_registermodelscache.md
  - https://docs.cast.ai/reference/otelapi_generateproductivitymetricstimeseries.md
  - https://docs.cast.ai/reference/otelapi_getproductivitymetrics.md
  - https://docs.cast.ai/reference/otelapi_ingestlogs.md
  - https://docs.cast.ai/reference/otelapi_ingestmetrics.md
  - https://docs.cast.ai/reference/playgroundchatcompletionsapi_streamplaygroundchatcompletion.md
  - https://docs.cast.ai/reference/policiesapi_createpolicy.md
  - https://docs.cast.ai/reference/policiesapi_deletepolicy.md
  - https://docs.cast.ai/reference/policiesapi_getpolicy.md
  - https://docs.cast.ai/reference/policiesapi_listpolicies.md
  - https://docs.cast.ai/reference/policiesapi_listpolicyversions.md
  - https://docs.cast.ai/reference/policiesapi_rollbackpolicy.md
  - https://docs.cast.ai/reference/policiesapi_syncpolicies.md
  - https://docs.cast.ai/reference/policiesapi_updatepolicy.md
  - https://docs.cast.ai/reference/prcostsapi_queryprcosts.md
  - https://docs.cast.ai/reference/prcostsapi_reportprcosts.md
  - https://docs.cast.ai/reference/quotaapi_deleteuserquotapolicy.md
  - https://docs.cast.ai/reference/quotaapi_getorgquotapolicy.md
  - https://docs.cast.ai/reference/quotaapi_getquotadefaults.md
  - https://docs.cast.ai/reference/quotaapi_getquotalimits.md
  - https://docs.cast.ai/reference/quotaapi_getquotausage.md
  - https://docs.cast.ai/reference/quotaapi_getuserquotapolicy.md
  - https://docs.cast.ai/reference/quotaapi_updateorgquotapolicy.md
  - https://docs.cast.ai/reference/quotaapi_updateuserquotapolicy.md
  - https://docs.cast.ai/reference/rerankingsapi_createclusterreranking.md
  - https://docs.cast.ai/reference/rerankingsapi_createreranking.md
  - https://docs.cast.ai/reference/secretsapi_createsecret.md
  - https://docs.cast.ai/reference/secretsapi_deletesecret.md
  - https://docs.cast.ai/reference/secretsapi_getsecret.md
  - https://docs.cast.ai/reference/secretsapi_listsecrets.md
  - https://docs.cast.ai/reference/secretsapi_setsecretmappings.md
  - https://docs.cast.ai/reference/secretsapi_updatesecret.md
  - https://docs.cast.ai/reference/sessionsapi_deletesession.md
  - https://docs.cast.ai/reference/sessionsapi_getsession.md
  - https://docs.cast.ai/reference/sessionsapi_listsessions.md
  - https://docs.cast.ai/reference/sessionsapi_resumesession.md
  - https://docs.cast.ai/reference/sessionsapi_suspendsession.md
  - https://docs.cast.ai/reference/sessionsapi_upsertsession.md
  - https://docs.cast.ai/reference/settingsapi_deleteapikeysettings.md
  - https://docs.cast.ai/reference/settingsapi_deleteteamsettings.md
  - https://docs.cast.ai/reference/settingsapi_getapikeysettings.md
  - https://docs.cast.ai/reference/settingsapi_getsettings.md
  - https://docs.cast.ai/reference/settingsapi_getteamsettings.md
  - https://docs.cast.ai/reference/settingsapi_listapikeysettings.md
  - https://docs.cast.ai/reference/settingsapi_listteamsettings.md
  - https://docs.cast.ai/reference/settingsapi_resolvesettings.md
  - https://docs.cast.ai/reference/settingsapi_updatesettings.md
  - https://docs.cast.ai/reference/settingsapi_updateteamsettings.md
  - https://docs.cast.ai/reference/settingsapi_upsertapikeysettings.md
  - https://docs.cast.ai/reference/subscriptionsapi_checkoutsubscription.md
  - https://docs.cast.ai/reference/subscriptionsapi_getplanpricepreview.md
  - https://docs.cast.ai/reference/subscriptionsapi_getsubscription.md
  - https://docs.cast.ai/reference/subscriptionsapi_handlewebhook.md
  - https://docs.cast.ai/reference/subscriptionsapi_managesubscription.md
  - https://docs.cast.ai/reference/surveysapi_getsurveystatus.md
  - https://docs.cast.ai/reference/surveysapi_updatesurveystatus.md
  - https://docs.cast.ai/reference/tagsapi_searchkeys.md
  - https://docs.cast.ai/reference/tagsapi_searchtags.md
  - https://docs.cast.ai/reference/tagsapi_searchvalues.md
  - https://docs.cast.ai/reference/teamsapi_addteammembers.md
  - https://docs.cast.ai/reference/teamsapi_createteam.md
  - https://docs.cast.ai/reference/teamsapi_deleteteam.md
  - https://docs.cast.ai/reference/teamsapi_getteam.md
  - https://docs.cast.ai/reference/teamsapi_listteammembers.md
  - https://docs.cast.ai/reference/teamsapi_listteams.md
  - https://docs.cast.ai/reference/teamsapi_removeteammember.md
  - https://docs.cast.ai/reference/teamsapi_updateteam.md
  - https://docs.cast.ai/reference/topupapi_listtopuppurchases.md
  - https://docs.cast.ai/reference/topupapi_purchasetopup.md
  - https://docs.cast.ai/reference/workspacesapi_createworkspace.md
  - https://docs.cast.ai/reference/workspacesapi_deleteworkspace.md
  - https://docs.cast.ai/reference/workspacesapi_getsecretmappings.md
  - https://docs.cast.ai/reference/workspacesapi_getworkspace.md
  - https://docs.cast.ai/reference/workspacesapi_getworkspacecost.md
  - https://docs.cast.ai/reference/workspacesapi_getworkspacecostprices.md
  - https://docs.cast.ai/reference/workspacesapi_getworkspacecostreport.md
  - https://docs.cast.ai/reference/workspacesapi_listworkspaces.md
  - https://docs.cast.ai/reference/workspacesapi_resumeworkspace.md
  - https://docs.cast.ai/reference/workspacesapi_suspendworkspace.md
  - https://docs.cast.ai/reference/workspacesapi_upsertworkspace.md
  - https://docs.cast.ai/reference/workspacesessionsapi_listworkspacesessions.md
  - https://docs.cast.ai/reference/workspacetemplatesapi_createworkspacetemplate.md
  - https://docs.cast.ai/reference/workspacetemplatesapi_deleteworkspacetemplate.md
  - https://docs.cast.ai/reference/workspacetemplatesapi_getworkspacetemplate.md
  - https://docs.cast.ai/reference/workspacetemplatesapi_listworkspacetemplates.md
  - https://docs.cast.ai/reference/workspacetemplatesapi_updateworkspacetemplate.md
  - https://docs.cast.ai/reference/workspacetokensapi_exchangeworkspacetoken.md
  - https://docs.cast.ai/reference/workspacetokensapi_keyverify.md
  merge:
    pages: 178
    deduped: 1003
    conflicts_kept_first: 0