> ## Documentation Index
> Fetch the complete documentation index at: https://docs.domino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Cancel a Domino Official Extension install or upgrade

> Cancels an in-progress install or upgrade. This is a destructive operation. The installer will stop at the earliest opportunity, revert any changes made to managed resources during this operation, and clean up the incomplete snapshot. For a new install or upgrade, the snapshot is deleted after revert. For a downgrade, the snapshot is reset to its prior completed state. If the installer completes the operation before processing the cancel request, the install will appear as completed.



## OpenAPI

````yaml /api-specs/cloud/public-api.yaml post /api/extensions/beta/official-installs/{id}/cancel
openapi: 3.0.3
info:
  title: Domino Public API
  description: Domino Public API Endpoints
  version: cloud
servers: []
security:
  - DominoApiKey: []
  - BearerAuthentication: []
tags:
  - name: AIGateway
  - name: AppInstances
  - name: AppVersions
  - name: Apps
  - name: AsyncPredictions
  - name: AuditTrail
  - name: BillingTag
  - name: BillingTagSettings
  - name: Cost
  - name: CustomMetrics
  - name: DataSource
  - name: DatasetRw
  - name: DeploymentTargets
  - name: Environments
  - name: Extensions
  - name: GenAI
  - name: HardwareTier
  - name: Jobs
  - name: ModelAPI
  - name: ModelAPIVersion
  - name: ModelDeployment
  - name: Organizations
  - name: PPM
  - name: PersonalAccessToken
  - name: ProjectSharedDatasets
  - name: ProjectTemplates
  - name: Projects
  - name: ProjectsCommits
  - name: ProjectsFiles
  - name: RegisteredModels
  - name: ServiceAccounts
  - name: Users
  - name: Workspaces
paths:
  /api/extensions/beta/official-installs/{id}/cancel:
    post:
      tags:
        - Extensions
      summary: Cancel a Domino Official Extension install or upgrade
      description: >-
        Cancels an in-progress install or upgrade. This is a destructive
        operation. The installer will stop at the earliest opportunity, revert
        any changes made to managed resources during this operation, and clean
        up the incomplete snapshot. For a new install or upgrade, the snapshot
        is deleted after revert. For a downgrade, the snapshot is reset to its
        prior completed state. If the installer completes the operation before
        processing the cancel request, the install will appear as completed.
      operationId: cancelOfficialExtensionInstall
      parameters:
        - description: The id of the OfficialExtensionInstall record.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfficialExtensionInstallEntry'
          description: Success
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
components:
  schemas:
    OfficialExtensionInstallEntry:
      properties:
        availableVersions:
          description: >-
            Versions from the repo's extension_versions.json with compatibility
            metadata.
          items:
            $ref: '#/components/schemas/ExtensionAvailableVersion'
          type: array
        currentInstall:
          allOf:
            - $ref: '#/components/schemas/ExtensionInstallSnapshot'
          description: >-
            The last successfully completed install or upgrade. Null if no
            install has completed.
          nullable: true
        description:
          description: The GitHub repository description.
          nullable: true
          type: string
        id:
          description: >-
            The id of the OfficialExtensionInstall record. Null if this
            extension has not been installed yet.
          nullable: true
          type: string
        incompleteInstall:
          allOf:
            - $ref: '#/components/schemas/ExtensionInstallSnapshot'
          description: The currently in-progress or failed install/upgrade. Null if none.
          nullable: true
        installDisplayName:
          description: Display name for the install card, from extension_versions.json.
          nullable: true
          type: string
        remoteRepo:
          description: The URL of the GitHub repository for this official extension.
          type: string
        versionsFetchFailed:
          description: >-
            True if fetching extension_versions.json from the remote repo
            failed.
          type: boolean
        versionsFetchFailedReason:
          description: Why the fetch failed. Only set when versionsFetchFailed is true.
          nullable: true
          type: string
      required:
        - remoteRepo
        - availableVersions
        - versionsFetchFailed
      type: object
    ExtensionAvailableVersion:
      properties:
        extensionVersion:
          description: The human-readable semver version string.
          type: string
        isCompatible:
          description: >-
            Whether this version is compatible with the current Domino
            deployment version.
          type: boolean
        manifestSchemaVersion:
          description: The schema version of the extension manifest for this version.
          type: integer
        maxDominoVersion:
          description: >-
            Maximum Domino version this extension version supports (inclusive).
            Null if no known upper bound.
          nullable: true
          type: string
        minDominoVersion:
          description: >-
            Minimum Domino version required to run this extension version
            (inclusive).
          type: string
        releaseTag:
          description: The git tag in the extension repo for this version.
          type: string
        testedWithDominoVersions:
          description: >-
            Specific Domino versions this extension version has been verified
            against.
          items:
            type: string
          nullable: true
          type: array
      required:
        - extensionVersion
        - releaseTag
        - manifestSchemaVersion
        - isCompatible
        - minDominoVersion
      type: object
    ExtensionInstallSnapshot:
      properties:
        cancelRequested:
          description: >
            If true, a cancellation has been requested for this operation.  The
            installer will stop at the earliest opportunity, revert any changes
            made to pre-existing managed resources (if the operation is an
            upgrade), and archive/delete any resources created for this
            operation.
          nullable: true
          type: boolean
        completedAt:
          description: >-
            Set when this operation completed successfully; null if still in
            progress, failed, or cancelled.
          format: date-time
          nullable: true
          type: string
        extensionInstallId:
          description: The id of the parent ExtensionInstall record.
          type: string
        extensionReleaseTag:
          description: The Git release tag for this version (e.g. "v1.2.3").
          type: string
        extensionVersion:
          description: The semver version string being installed or upgraded to.
          type: string
        id:
          description: Unique identifier for this snapshot.
          type: string
        isComplete:
          description: >-
            True only when this install/upgrade operation completed
            successfully. False if in progress, failed, or cancelled.
          type: boolean
        managedDominoEntitiesV1:
          allOf:
            - $ref: '#/components/schemas/ExtensionInstallManagedDominoEntitiesV1'
          nullable: true
        manifestSchemaVersion:
          description: The manifest schema version that was used for this install/upgrade.
          type: integer
        manifestV1:
          allOf:
            - $ref: '#/components/schemas/ExtensionManifestV1'
          nullable: true
        retryRequested:
          allOf:
            - $ref: '#/components/schemas/RetryOfficialExtensionInstallMode'
          description: >-
            If set, a retry has been requested for this operation. The installer
            will retry at the earliest opportunity. Null if no retry is pending.
          nullable: true
        startedAt:
          description: When this operation was started.
          format: date-time
          type: string
        startedBy:
          allOf:
            - $ref: '#/components/schemas/UserSummary'
          description: The user who initiated this operation.
        steps:
          description: >-
            The ordered list of install/upgrade steps and their transition
            history.
          items:
            $ref: '#/components/schemas/ExtensionInstallStep'
          type: array
        uninstallAttempts:
          description: >-
            The number of uninstall attempts made for this snapshot. Null if
            uninstall has not been attempted.
          nullable: true
          type: integer
        uninstallRequested:
          description: >
            If true, an uninstall has been requested. This snapshot is excluded
            from normal install operations and will have its managed resources
            deleted or archived. Null if no uninstall is pending.
          nullable: true
          type: boolean
      required:
        - id
        - extensionInstallId
        - manifestSchemaVersion
        - extensionVersion
        - extensionReleaseTag
        - isComplete
        - startedAt
        - startedBy
        - steps
      type: object
    FailureEnvelopeV1:
      properties:
        errors:
          description: Errors that caused a request to fail
          items:
            type: string
          type: array
        requestId:
          description: Id used to correlate a request with server actions.
          example: bbd78579-93c4-45ee-a983-0d5c8da6d5b1
          type: string
      required:
        - requestId
        - errors
      type: object
    ExtensionInstallManagedDominoEntitiesV1:
      description: >-
        The Domino entities created or managed during an extension
        install/upgrade.
      properties:
        appId:
          description: The id of the Domino app associated with this operation.
          nullable: true
          type: string
        appVersionId:
          description: The id of the app version associated with this operation.
          nullable: true
          type: string
        environmentId:
          description: The id of the compute environment associated with this operation.
          nullable: true
          type: string
        environmentRevisionId:
          description: >-
            The id of the compute environment revision associated with this
            operation.
          nullable: true
          type: string
        extensionId:
          description: The id of the Extension record associated with this operation.
          nullable: true
          type: string
        manifestSchemaVersion:
          description: >
            The schema version for the manifest associated with the managed
            entities. Will always be 1. Remains as part of the spec to provide
            parity with raw manifest json stored in extension repos.
          type: integer
        projectId:
          description: The id of the Domino project associated with this operation.
          nullable: true
          type: string
      required:
        - manifestSchemaVersion
      type: object
    ExtensionManifestV1:
      properties:
        app:
          $ref: '#/components/schemas/ManifestV1App'
          description: >-
            Configuration for the Domino App created and managed for this
            extension.
        extension:
          $ref: '#/components/schemas/ManifestV1Extension'
          description: >-
            Configuration for the Extension itself, including its name,
            description, and UI mount point configuration.
        manifestSchemaVersion:
          description: >
            The schema version for the manifest. Will always be 1. Remains as
            part of the spec to provide parity with raw manifest json stored in
            extension repos.
          type: integer
        project:
          $ref: '#/components/schemas/ManifestV1Project'
          description: >-
            Configuration for the Domino project created and managed for this
            extension.
      required:
        - manifestSchemaVersion
        - project
        - app
        - extension
      type: object
    RetryOfficialExtensionInstallMode:
      description: >-
        The retry mode. `fromFailed` retries the install from the first failed
        step; `clean` retries from the beginning.
      enum:
        - clean
        - fromFailed
      type: string
    UserSummary:
      description: Information about a Domino user including id and names.
      properties:
        firstName:
          description: The first name of the user.
          type: string
        id:
          description: The id of the user.
          type: string
        lastName:
          description: The last name of the user.
          type: string
        userName:
          description: The username of the user.
          type: string
      required:
        - id
        - firstName
        - lastName
        - userName
      type: object
    ExtensionInstallStep:
      properties:
        logs:
          description: Ordered log messages appended during this step's execution.
          items:
            type: string
          type: array
        name:
          $ref: '#/components/schemas/ExtensionInstallStepName'
        startedAt:
          description: When this step started. Null if not yet started.
          format: date-time
          nullable: true
          type: string
        transitions:
          description: >-
            Ordered history of status transitions for this step. Current status
            is the last entry. Empty if the step has not yet started.
          items:
            $ref: '#/components/schemas/ExtensionInstallStepTransition'
          type: array
      required:
        - name
        - transitions
        - logs
      type: object
    ManifestV1App:
      properties:
        appDescription:
          description: A description of the app shown in the Domino UI.
          type: string
        appName:
          description: The display name of the app shown in the Domino UI.
          type: string
        appVersionDescription:
          description: A description of this particular version of the app.
          type: string
        autoscalingSpec:
          allOf:
            - $ref: '#/components/schemas/ManifestV1AutoscalingSpec'
          description: >-
            Autoscaling configuration for the app. If absent, the app will not
            use autoscaling.
          nullable: true
        computeEnvironment:
          $ref: '#/components/schemas/ManifestV1ComputeEnvironment'
          description: The compute environment to use for the extension's app.
        discoverable:
          description: >-
            Whether the app appears in Domino's app discovery listing. If
            absent, defaults to true.
          nullable: true
          type: boolean
        enableDeepLinking:
          description: >-
            Whether deep linking into the app is enabled. If absent, defaults to
            true.
          nullable: true
          type: boolean
        entryPoint:
          description: The command or script used to start the app (e.g. "app.sh").
          type: string
        externalVolumeMounts:
          description: >-
            IDs of external volume mounts to attach to the app. If absent,
            defaults to none.
          items:
            type: string
          nullable: true
          type: array
        hardwareTierIdSuggestion:
          description: >-
            Suggested hardware tier ID for running the app (e.g. "small-k8s").
            If no match or if absent, the app will use the deployment-wide
            default hardware tier.
          nullable: true
          type: string
        mountDatasets:
          description: >-
            Whether datasets are mounted into the app's runtime environment. If
            absent, defaults to false.
          nullable: true
          type: boolean
        vanityUrl:
          description: The vanity URL slug used to access the app.
          type: string
        visibility:
          allOf:
            - $ref: '#/components/schemas/ManifestV1AppVisibility'
          description: App visibility. If absent, defaults to Authenticated.
          nullable: true
      required:
        - computeEnvironment
        - appName
        - appDescription
        - appVersionDescription
        - vanityUrl
        - entryPoint
      type: object
    ManifestV1Extension:
      properties:
        description:
          description: >-
            The description of the Extension. If absent, the extension has no
            description.
          nullable: true
          type: string
        enabled:
          description: >-
            Whether the Extension is globally enabled or disabled after
            installation. If absent, defaults to true.
          nullable: true
          type: boolean
        name:
          description: >-
            The name of the Extension. If absent, defaults to the value of
            `project.name`.
          nullable: true
          type: string
        uiMountPointTypeConfigs:
          allOf:
            - $ref: '#/components/schemas/ManifestV1UiMountPointTypeConfigs'
          description: >-
            Configuration for each UI mount point type the extension occupies.
            If absent, the extension has no UI mount points.
          nullable: true
      type: object
    ManifestV1Project:
      properties:
        description:
          description: The description of the Domino project.
          type: string
        name:
          description: The name of the Domino project to create for this extension.
          type: string
        visibility:
          allOf:
            - $ref: '#/components/schemas/ManifestV1ProjectVisibility'
          description: The visibility of the Domino project created for this extension.
      required:
        - name
        - description
        - visibility
      type: object
    ExtensionInstallStepName:
      description: The name of an install/upgrade step.
      enum:
        - ManageProject
        - ManageEnvironment
        - ManageApp
        - ManageExtension
      type: string
    ExtensionInstallStepTransition:
      properties:
        changedAt:
          description: When this status transition occurred.
          format: date-time
          type: string
        error:
          description: Error details if this transition is a Failed status. Null otherwise.
          nullable: true
          type: string
        status:
          $ref: '#/components/schemas/ExtensionInstallStepStatus'
        statusString:
          description: Human-readable progress message for display in the UI.
          nullable: true
          type: string
      required:
        - status
        - changedAt
      type: object
    ManifestV1AutoscalingSpec:
      properties:
        enabled:
          description: Whether autoscaling is enabled for the app.
          type: boolean
        maxReplicas:
          description: >-
            Maximum number of running replicas when autoscaling is enabled. If
            absent, the platform default applies.
          nullable: true
          type: integer
        minReplicas:
          description: >-
            Minimum number of running replicas when autoscaling is enabled. If
            absent, the platform default applies.
          nullable: true
          type: integer
        scaleDownStabilizationWindowSeconds:
          description: >-
            Time window in seconds over which scale-down decisions are
            stabilized to prevent rapid fluctuations. If absent, the platform
            default applies.
          nullable: true
          type: integer
        scaleUpStabilizationWindowSeconds:
          description: >-
            Time window in seconds over which scale-up decisions are stabilized.
            If absent, the platform default applies.
          nullable: true
          type: integer
        targetCpuAvgUtilizationPct:
          description: >-
            Target average CPU utilization percentage across replicas used to
            trigger scaling decisions. If absent, the platform default applies.
          nullable: true
          type: integer
        targetMemoryAvgUtilizationPct:
          description: >-
            Target average memory utilization percentage across replicas used to
            trigger scaling decisions. If absent, the platform default applies.
          nullable: true
          type: integer
        useSessionAffinity:
          description: >-
            Whether session affinity (sticky sessions) is enabled, routing a
            given user to the same replica. If absent, the platform default
            applies (see the apps API docs).
          nullable: true
          type: boolean
      required:
        - enabled
      type: object
    ManifestV1ComputeEnvironment:
      properties:
        customEnvironment:
          allOf:
            - $ref: '#/components/schemas/ManifestV1CustomEnvironment'
          description: >-
            Custom environment definition. Required when type is "Custom";
            ignored otherwise.
          nullable: true
        type:
          allOf:
            - $ref: '#/components/schemas/ManifestV1ComputeEnvironmentType'
          description: The type of compute environment.
      required:
        - type
      type: object
    ManifestV1AppVisibility:
      description: The visibility of the app created for this extension.
      enum:
        - Authenticated
        - GrantBased
      type: string
    ManifestV1UiMountPointTypeConfigs:
      properties:
        adminPanel:
          allOf:
            - $ref: '#/components/schemas/ManifestV1AdminPanelConfig'
          description: >-
            Configuration for the admin panel mount point. If absent, the
            extension is not mounted there.
          nullable: true
        dataset:
          allOf:
            - $ref: '#/components/schemas/ManifestV1DatasetConfig'
          description: >-
            Configuration for the dataset page mount point. If absent, the
            extension is not mounted there.
          nullable: true
        datasetFileContext:
          allOf:
            - $ref: '#/components/schemas/ManifestV1DatasetFileContextConfig'
          description: >-
            Configuration for the dataset file context menu mount point. If
            absent, the extension is not mounted there.
          nullable: true
        modelDetails:
          allOf:
            - $ref: '#/components/schemas/ManifestV1ModelDetailsConfig'
          description: >-
            Configuration for the model details page mount point. If absent, the
            extension is not mounted there.
          nullable: true
        projectSidebar:
          allOf:
            - $ref: '#/components/schemas/ManifestV1ProjectSidebarConfig'
          description: >-
            Configuration for the project sidebar mount point. If absent, the
            extension is not mounted there.
          nullable: true
        topBar:
          allOf:
            - $ref: '#/components/schemas/ManifestV1TopBarConfig'
          description: >-
            Configuration for the top navigation bar mount point. If absent, the
            extension is not mounted there.
          nullable: true
      type: object
    ManifestV1ProjectVisibility:
      description: The visibility of the Domino project created for this extension.
      enum:
        - Public
        - Searchable
        - Private
      type: string
    ExtensionInstallStepStatus:
      description: A status value recorded in a step's transition history.
      enum:
        - Pending
        - InProgress
        - Completed
        - Failed
        - Reverting
      type: string
    ManifestV1CustomEnvironment:
      properties:
        autoCompatibleWithDomino:
          description: >-
            Whether the environment should automatically mark itself compatible
            with the current Domino version on each build. If absent, defaults
            to false.
          nullable: true
          type: boolean
        baseImage:
          description: Base Docker image used to build the environment.
          type: string
        buildArgs:
          additionalProperties:
            type: string
          description: >-
            Docker build arguments passed to the build, as key-value pairs. If
            absent, no build arguments are passed.
          nullable: true
          type: object
        dockerfilePath:
          description: >-
            Path to the Dockerfile within the extension repo, relative to the
            repo root.
          type: string
        name:
          description: >-
            Display name for the environment. If absent, defaults to the value
            of `project.name`.
          nullable: true
          type: string
        visibility:
          allOf:
            - $ref: '#/components/schemas/ManifestV1CustomEnvironmentVisibility'
          description: Visibility of the environment. If absent, defaults to Global.
          nullable: true
      required:
        - dockerfilePath
        - baseImage
      type: object
    ManifestV1ComputeEnvironmentType:
      description: The type of compute environment.
      enum:
        - DCE
        - DSE
        - Custom
      type: string
    ManifestV1AdminPanelConfig:
      properties:
        enabled:
          description: >-
            If true, the Extension is mounted in the admin panel of the Domino
            UI.
          type: boolean
        urlConfig:
          allOf:
            - $ref: '#/components/schemas/ManifestV1UrlConfig'
          description: >-
            URL routing configuration for this mount point. If absent, the mount
            point links to the app root with no query parameters.
          nullable: true
      required:
        - enabled
      type: object
    ManifestV1DatasetConfig:
      properties:
        enabled:
          description: >-
            If true, the Extension is mounted in the dataset view of the Domino
            UI.
          type: boolean
        urlConfig:
          allOf:
            - $ref: '#/components/schemas/ManifestV1UrlConfig'
          description: >-
            URL routing configuration for this mount point. If absent, the mount
            point links to the app root with no query parameters.
          nullable: true
      required:
        - enabled
      type: object
    ManifestV1DatasetFileContextConfig:
      properties:
        allProjects:
          description: >-
            If true, the Extension will be mounted for all projects. If false or
            absent, the extension will only be mounted for the projects
            specified by each mount point's projectId.
          nullable: true
          type: boolean
        enabled:
          description: >-
            If true, the Extension is mounted in the dataset file context of the
            Domino UI.
          type: boolean
        fileTypes:
          description: >-
            The file types that the Extension should be mounted for in the
            dataset file context. If absent, the extension is mounted for all
            file types.
          items:
            type: string
          nullable: true
          type: array
        urlConfig:
          allOf:
            - $ref: '#/components/schemas/ManifestV1UrlConfig'
          description: >-
            URL routing configuration for this mount point. If absent, the mount
            point links to the app root with no query parameters.
          nullable: true
      required:
        - enabled
      type: object
    ManifestV1ModelDetailsConfig:
      properties:
        enabled:
          description: >-
            If true, the Extension is mounted in places in the Domino UI that
            show model details.
          type: boolean
        urlConfig:
          allOf:
            - $ref: '#/components/schemas/ManifestV1UrlConfig'
          description: >-
            URL routing configuration for this mount point. If absent, the mount
            point links to the app root with no query parameters.
          nullable: true
      required:
        - enabled
      type: object
    ManifestV1ProjectSidebarConfig:
      properties:
        allProjects:
          description: >-
            If true, the Extension will be mounted for all projects. If false or
            absent, the extension will only be mounted for the projects
            specified by each mount point's projectId.
          nullable: true
          type: boolean
        enabled:
          description: >-
            If true, the Extension is mounted in the project sidebar of the
            Domino UI.
          type: boolean
        urlConfig:
          allOf:
            - $ref: '#/components/schemas/ManifestV1UrlConfig'
          description: >-
            URL routing configuration for this mount point. If absent, the mount
            point links to the app root with no query parameters.
          nullable: true
      required:
        - enabled
      type: object
    ManifestV1TopBarConfig:
      properties:
        enabled:
          description: >-
            If true, the Extension is mounted in the top navigation bar of the
            Domino UI.
          type: boolean
        urlConfig:
          allOf:
            - $ref: '#/components/schemas/ManifestV1UrlConfig'
          description: >-
            URL routing configuration for this mount point. If absent, the mount
            point links to the app root with no query parameters.
          nullable: true
      required:
        - enabled
      type: object
    ManifestV1CustomEnvironmentVisibility:
      description: >-
        The visibility of the custom compute environment created for this
        extension. If absent, defaults to Global.
      enum:
        - Global
        - Private
      type: string
    ManifestV1UrlConfig:
      properties:
        contextualQueryParams:
          description: >-
            Query parameters whose values should be derived by the client from
            the user's context and added to the link. If absent, no contextual
            query parameters are appended.
          items:
            type: string
          nullable: true
          type: array
        route:
          description: >-
            The route within the Extension's runtime (i.e. Domino App) to link
            to for this mount point type. If absent, the link is constructed to
            the app root.
          nullable: true
          type: string
      type: object
  responses:
    '400':
      content:
        application/json:
          schema:
            properties:
              error:
                type: string
            type: object
      description: Bad Request
    '401':
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/FailureEnvelopeV1'
      description: >-
        The current user cannot perform this operation because they are not
        logged in
    '403':
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/FailureEnvelopeV1'
      description: The current user is not authorized to perform this operation
    '404':
      content:
        application/json:
          schema:
            properties:
              error:
                type: string
            type: object
      description: Not Found
    '500':
      content:
        application/json:
          schema:
            properties:
              error:
                type: string
            type: object
      description: Internal Server Error
  securitySchemes:
    DominoApiKey:
      in: header
      name: X-Domino-Api-Key
      type: apiKey
    BearerAuthentication:
      in: header
      name: Authorization
      type: apiKey

````