> ## 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.

# Update App Version (v1)

> Update version metadata. Only metadata fields (description, tags, bundleId) are accepted. Content and deployment fields return 422.




## OpenAPI

````yaml /api-specs/cloud/public-api.json patch /api/apps/v1/apps/{appId}/versions/{versionId}
openapi: 3.0.3
info:
  title: Domino Public API
  description: Reference for Domino's public REST API endpoints.
  version: 6.4.0
  x-catalog-key: nucleus
servers:
  - url: https://mycluster.domino.tech
    description: >-
      Replace 'mycluster.domino.tech' with your Domino cluster hostname. For
      Domino Cloud customers, that is `your-subdomain`.domino.tech (e.g.,
      acme.domino.tech). For self-hosted deployments, it is the hostname you
      reach the Domino UI at.
security: []
tags:
  - name: Projects
  - name: Project templates
  - name: Workspaces
  - name: Jobs
  - name: HPC Jobs
  - name: Environments
  - name: Hardware Tiers
  - name: Datasets
  - name: Data Sources
  - name: GenAI
  - name: AI Systems
  - name: Apps
  - name: App versions
  - name: App instances
  - name: Model APIs
  - name: Registered models
  - name: Model deployment
  - name: Extensions
  - name: Cost and billing
  - name: Users and organizations
  - name: Service accounts
  - name: Personal Access Tokens
  - name: Personal Access Tokens (admin)
  - name: Audit Trail
  - name: Custom metrics
  - name: PPM
  - name: Model Monitoring models
  - name: Model Monitoring drift and quality
  - name: Model Monitoring settings
  - name: Model Monitoring authentication
  - name: Governance bundles
  - name: Governance policies
  - name: Governance evidence and results
  - name: Governance operations
  - name: NetApp Volumes
  - name: NetApp Volumes snapshots
  - name: NetApp Volumes filesystems
  - name: NetApp Volumes transfers
  - name: Tags
  - name: Properties
externalDocs:
  description: OpenAPI
  url: https://swagger.io/resources/open-api/
paths:
  /api/apps/v1/apps/{appId}/versions/{versionId}:
    patch:
      tags:
        - App versions
      summary: Update App Version (v1)
      description: >
        Update version metadata. Only metadata fields (description, tags,
        bundleId) are accepted. Content and deployment fields return 422.
      operationId: updateAppVersionV1
      parameters:
        - in: path
          name: appId
          required: true
          schema:
            type: string
        - in: path
          name: versionId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppVersionUpdateRequestV1'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppVersionResponseV1'
          description: Success
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
        '500':
          $ref: '#/components/responses/500'
      security:
        - DominoApiKey: []
        - BearerAuthentication: []
components:
  schemas:
    AppVersionUpdateRequestV1:
      description: >
        Update a version. Only metadata fields (description, tags, bundleId) are
        accepted. Content and deployment fields return 422. workspaceId is
        accepted only when the parent App is a draft; if provided, associates
        the draft App with the given workspace. If the workspace is already
        linked to a different draft, that draft is deleted before the new link
        is established. Returns 422 if workspaceId is provided and the parent
        App is not a draft.
      properties:
        bundleId:
          description: >
            Guardrails bundle ID. Can only be set once per version. If the
            version already has a bundleId, the request fails. If the provided
            bundleId does not exist, the request fails.
          type: string
        description:
          type: string
        tags:
          items:
            $ref: '#/components/schemas/AppVersionTag'
          type: array
        workspaceId:
          description: >
            Draft only. ID of the apps-authoring workspace to associate with
            this draft version. If the workspace is already linked to a
            different draft, that draft is deleted first. Returns 422 if the
            parent App is not a draft.
          type: string
      type: object
    AppVersionResponseV1:
      properties:
        bundle:
          $ref: '#/components/schemas/AppVersionBundle'
        content:
          $ref: '#/components/schemas/AppVersionContent'
        createdAt:
          format: epoch
          type: number
        currentInstance:
          $ref: '#/components/schemas/AppInstanceSummaryResponseV1'
          description: The most recently created instance for this AppVersion.
        deployment:
          $ref: '#/components/schemas/AppVersionDeployment'
        description:
          type: string
        id:
          type: string
        tags:
          items:
            $ref: '#/components/schemas/AppVersionTag'
          type: array
        updatedAt:
          format: epoch
          type: number
        versionNumber:
          description: Monotonically increasing version number derived from creationOrder.
          format: int64
          type: integer
      required:
        - id
        - createdAt
        - updatedAt
        - tags
      type: object
    AppVersionTag:
      properties:
        key:
          type: string
        value:
          type: string
      required:
        - key
        - value
      type: object
    AppVersionBundle:
      properties:
        id:
          description: Guardrails bundle ID. Immutable after creation.
          type: string
        name:
          type: string
      type: object
    AppVersionContent:
      description: Reproducibility fields that define the version's content.
      properties:
        dataPlaneId:
          nullable: true
          type: string
        dfsCommitId:
          type: string
        entryScript:
          description: Effective entry point for the App version.
          type: string
        environmentId:
          type: string
        environmentRevisionId:
          type: string
        extendedIdentityPropagationToAppsEnabled:
          type: boolean
        externalVolumeMountIds:
          items:
            type: string
          type: array
        gitRef:
          $ref: '#/components/schemas/GitRef'
        importedGitRepoRefs:
          description: >
            Imported-git-repo references recorded on this version. A subset of
            `resolvedCommits.importedGitRepos` by `repoId`; entries omitted from
            this list use the project's currently-configured ref at run time.
            Sorted by `repoId`.
          items:
            $ref: '#/components/schemas/ImportedGitRepoRef'
          type: array
        mountDatasets:
          description: >-
            Whether to mount Domino Datasets into the App's runtime for this
            version.
          type: boolean
        netAppVolumeIds:
          items:
            type: string
          type: array
        resolvedCommits:
          $ref: '#/components/schemas/ResolvedCommits'
      required:
        - mountDatasets
      type: object
    AppInstanceSummaryResponseV1:
      properties:
        createdAt:
          format: epoch
          type: number
        describeUrl:
          type: string
        dfsCommitId:
          description: The DFS commit ID that was used for this instance's execution.
          type: string
        gitCommitId:
          description: The git commit SHA that was used for this instance's execution.
          type: string
        id:
          type: string
        lastSynced:
          allOf:
            - $ref: '#/components/schemas/AppInstanceLastSyncedState'
          description: >-
            The code state last successfully synced to the preview pod. Absent
            for non-preview instances or preview instances that have not yet
            been synced.
          nullable: true
        publisher:
          allOf:
            - $ref: '#/components/schemas/AppUserResponse'
          description: User who started this run.
          nullable: true
        status:
          type: string
      required:
        - id
        - createdAt
        - status
      type: object
    AppVersionDeployment:
      description: Execution settings for the version.
      properties:
        autoscalingSpecification:
          $ref: '#/components/schemas/AppAutoscalingSpecification'
        hardwareTierId:
          type: string
        vanityUrl:
          type: string
      type: object
    ErrorV1:
      properties:
        code:
          description: Machine-readable error code.
          example: NOT_FOUND
          type: string
        message:
          description: Human-readable description of the error.
          example: The requested HPC Job could not be found.
          type: string
      required:
        - message
      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
    GitRef:
      properties:
        type:
          enum:
            - head
            - commitId
            - branches
            - tags
            - custom
          type: string
        value:
          type: string
      required:
        - type
      type: object
    ImportedGitRepoRef:
      description: >
        Imported-git-repo reference recorded on a version. The companion list
        `resolvedCommits.importedGitRepos` covers the same `repoId` set (and may
        additionally cover `repoId`s absent here); entries omitted from this
        list use the project's currently-configured ref at run time.
      properties:
        gitRef:
          $ref: '#/components/schemas/GitRef'
        repoId:
          type: string
        repoName:
          type: string
      required:
        - repoId
        - repoName
        - gitRef
      type: object
    ResolvedCommits:
      description: >-
        Resolved commit and import snapshot information captured at version
        creation time.
      properties:
        dfsCommitId:
          description: The DFS commit ID resolved at version creation time.
          type: string
        gitCommitId:
          description: The git commit SHA resolved at version creation time.
          type: string
        importedGitRepos:
          description: Imported git repo snapshots resolved at version creation time.
          items:
            $ref: '#/components/schemas/ImportedGitRepoSnapshot'
          type: array
        importedProjects:
          description: Imported project snapshots resolved at version creation time.
          items:
            $ref: '#/components/schemas/ImportedProjectSnapshot'
          type: array
      type: object
    AppInstanceLastSyncedState:
      description: >-
        A snapshot of the commit state after a successful live sync to a running
        preview instance.
      properties:
        dfsCommitId:
          description: DFS commit SHA currently running in the preview pod.
          nullable: true
          type: string
        importedRepoCommits:
          description: >-
            Commit SHAs for each imported git repo currently running in the
            preview pod.
          items:
            $ref: '#/components/schemas/AppInstanceLastSyncedRepoCommit'
          type: array
        mainRepoCommitId:
          description: Main git repo commit SHA currently running in the preview pod.
          nullable: true
          type: string
        syncedAt:
          description: Epoch timestamp (ms) when the last successful sync completed.
          format: epoch
          type: number
      required:
        - syncedAt
      type: object
    AppUserResponse:
      type: object
      required:
        - id
        - name
      properties:
        id:
          type: string
        name:
          type: string
    AppAutoscalingSpecification:
      properties:
        enabled:
          type: boolean
        maxReplicas:
          maximum: 30
          minimum: 1
          type: integer
        minReplicas:
          maximum: 30
          minimum: 1
          type: integer
        scaleDownStabilizationWindowSeconds:
          maximum: 3600
          minimum: 0
          type: integer
        scaleUpStabilizationWindowSeconds:
          maximum: 3600
          minimum: 0
          type: integer
        targetCpuAvgUtilizationPct:
          maximum: 100
          minimum: 1
          type: integer
        targetMemoryAvgUtilizationPct:
          maximum: 100
          minimum: 1
          type: integer
        useSessionAffinity:
          type: boolean
      required:
        - enabled
      type: object
    ImportedGitRepoSnapshot:
      properties:
        ref:
          type: string
        repoId:
          type: string
        repoName:
          type: string
      required:
        - repoId
        - repoName
        - ref
      type: object
    ImportedProjectSnapshot:
      properties:
        commitId:
          type: string
        directoryName:
          type: string
        ownerId:
          type: string
        projectId:
          type: string
        projectName:
          type: string
        release:
          type: string
      required:
        - projectId
        - projectName
        - ownerId
        - directoryName
        - commitId
      type: object
    AppInstanceLastSyncedRepoCommit:
      properties:
        ref:
          description: The commit SHA currently running for this imported repo.
          type: string
        repoId:
          description: The imported git repo ID.
          type: string
      required:
        - repoId
        - ref
      type: object
  responses:
    '400':
      content:
        application/json:
          schema:
            properties:
              error:
                type: string
            type: object
      description: Bad Request
    '401':
      content:
        application/json:
          example:
            code: UNAUTHORIZED
            message: Authentication is required to access this resource.
          schema:
            $ref: '#/components/schemas/ErrorV1'
      description: Unauthorized - authentication is required or has failed.
    '403':
      content:
        application/json:
          example:
            code: FORBIDDEN
            message: You do not have permission to perform this action.
          schema:
            $ref: '#/components/schemas/ErrorV1'
      description: Forbidden - the caller lacks permission to perform this action.
    '404':
      content:
        application/json:
          schema:
            properties:
              error:
                type: string
            type: object
      description: Not Found
    '422':
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/FailureEnvelopeV1'
      description: >-
        The server understands the content type of the request entity, and the
        syntax of the request entity is correct, but it was unable to process
        the contained instructions.
    '500':
      content:
        application/json:
          schema:
            properties:
              error:
                type: string
            type: object
      description: Internal Server Error
  securitySchemes:
    DominoApiKey:
      type: apiKey
      in: header
      name: X-Domino-Api-Key
    BearerAuthentication:
      type: apiKey
      name: Authorization
      in: header

````

## Related topics

- [Update App (v1)](/api-reference/apps/update-app-v1.md)
- [Update App Version](/api-reference/app-versions/update-app-version.md)
- [Update App](/api-reference/apps/update-app.md)
- [Best practices for Domino Apps](/cloud/platform-capabilities/features/apps/best-practices-for-apps.md)
