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

# Create a Revision of an Environment (V2)

> Create a revision of an environment, with support for selecting CPU architecture(s). Required permissions: `ManageEnvironments, EditEnvironment, UseFileStorage`.



## OpenAPI

````yaml /api-specs/cloud/public-api.json post /api/environments/v2/environments/{environmentId}/revisions
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/environments/v2/environments/{environmentId}/revisions:
    post:
      tags:
        - Environments
      summary: Create a Revision of an Environment (V2)
      description: >-
        Create a revision of an environment, with support for selecting CPU
        architecture(s). Required permissions: `ManageEnvironments,
        EditEnvironment, UseFileStorage`.
      operationId: createEnvironmentRevisionV2
      parameters:
        - description: Id of environment to create revision of
          in: path
          name: environmentId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewEnvironmentRevisionV2'
        description: Environment revision to create
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentRevisionEnvelopeV1'
          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'
      security:
        - DominoApiKey: []
        - BearerAuthentication: []
components:
  schemas:
    NewEnvironmentRevisionV2:
      properties:
        architectures:
          description: >-
            The CPU architectures this environment revision supports. Valid
            values are amd64 and arm64.
          items:
            $ref: '#/components/schemas/CpuArchitectureV1'
          type: array
        buildConfiguration:
          $ref: '#/components/schemas/EnvironmentBuildConfigurationV1'
        environmentVariables:
          items:
            $ref: '#/components/schemas/EnvironmentVariableV1'
          type: array
        image:
          description: Environment revision image. Required for creating a new environment
          type: string
        skipCache:
          type: boolean
        summary:
          type: string
        supportedClusters:
          items:
            $ref: '#/components/schemas/ClusterTypeV1'
          type: array
        tags:
          deprecated: true
          description: 'Deprecated: use taxonomy tags instead of free-form revision tags.'
          items:
            type: string
          type: array
        useVpn:
          type: boolean
        workspaceTools:
          items:
            $ref: '#/components/schemas/EnvironmentToolV1'
          type: array
      type: object
    EnvironmentRevisionEnvelopeV1:
      properties:
        environmentRevision:
          $ref: '#/components/schemas/EnvironmentRevisionV1'
        metadata:
          $ref: '#/components/schemas/MetadataV1'
      required:
        - environmentRevision
        - metadata
      type: object
    CpuArchitectureV1:
      description: A CPU architecture. Valid values are amd64 and arm64.
      enum:
        - amd64
        - arm64
      type: string
    EnvironmentBuildConfigurationV1:
      properties:
        dockerfileInstructions:
          type: string
        postRunScript:
          type: string
        postSetupScript:
          type: string
        preRunScript:
          type: string
        preSetupScript:
          type: string
      type: object
    EnvironmentVariableV1:
      description: Key-value pair that defines an environment variable name and value
      properties:
        key:
          example: USERNAME
          type: string
        value:
          example: my_name
          type: string
      required:
        - key
        - value
      type: object
    ClusterTypeV1:
      description: Type of compute cluster
      enum:
        - dask
        - mpi
        - ray
        - slurm
        - spark
      type: string
    EnvironmentToolV1:
      properties:
        iconUrl:
          description: Url to pull icon image from
          example: /assets/images/workspace-logos/Jupyter.svg
          type: string
        name:
          description: Name of environment tool
          example: Jupyter
          type: string
        proxyConfig:
          $ref: '#/components/schemas/ProxyConfigV1'
        startScripts:
          items:
            description: Scripts to run on workspace start.
            example: echo hello
            type: string
          type: array
        supportedFileExtensions:
          items:
            description: File extensions this tool supports.
            example: .ipynb
            type: string
          type: array
        title:
          description: Title of environment tool.
          example: Jupyter
          type: string
      required:
        - name
        - title
        - startScripts
      type: object
    EnvironmentRevisionV1:
      properties:
        architectures:
          description: >-
            The CPU architectures this environment revision supports. Valid
            values are amd64 and arm64.
          items:
            $ref: '#/components/schemas/CpuArchitectureV1'
          type: array
        availableTools:
          items:
            $ref: '#/components/schemas/EnvironmentToolV1'
          type: array
        id:
          description: Id of Environment Revision.
          example: 62313cfd7a0af0281c01a6a6
          type: string
        number:
          description: Revision number, increasing sequentially with each revision.
          example: 4
          type: integer
        status:
          $ref: '#/components/schemas/EnvironmentRevisionBuildStatusV1'
      required:
        - id
        - number
        - availableTools
      type: object
    MetadataV1:
      properties:
        notices:
          description: Notices relating to the request
          items:
            type: string
          type: array
        requestId:
          type: string
      required:
        - requestId
        - notices
      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
    ProxyConfigV1:
      properties:
        internalPath:
          description: Path to find workspace at. Used internally.
          example: >-
            /{{ownerUsername}}/{{projectName}}/{{sessionPathComponent}}/{{runId}}/{{#if
            pathToOpen}}tree/{{pathToOpen}}{{/if}}
          type: string
        port:
          description: Port to run this tool on.
          example: 8888
          type: integer
        requireSubdomain:
          description: >-
            Whether workspace requires subdomains. Subdomain workspaces only
            work if deployment is configured to support subdomains. Defaults to
            false.
          example: false
          type: boolean
        rewrite:
          description: If url rewriting is necessary for routing. Defaults to false
          example: false
          type: boolean
      required:
        - internalPath
        - port
      type: object
    EnvironmentRevisionBuildStatusV1:
      description: Status of the build for an Environment Revision.
      enum:
        - queued
        - starting
        - pulling
        - building
        - pushing
        - succeeded
        - failed
        - killed
      type: string
  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
    '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

- [Create an environment (V2)](/api-reference/environments/create-an-environment-v2.md)
- [Create a Domino Environment](/cloud/platform-capabilities/core-concepts/compute-environments/manage-compute-environments/3-create-an-environment.md)
- [Create a Revision of an Environment](/api-reference/environments/create-a-revision-of-an-environment.md)
- [Create an environment](/api-reference/environments/create-an-environment.md)
