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

> Create an App



## OpenAPI

````yaml /api-specs/6.3/public-api.yaml post /api/apps/beta/apps
openapi: 3.0.3
info:
  title: Domino Public API
  description: Domino Public API Endpoints
  version: 6.2.2
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: GenAI
  - name: HardwareTier
  - name: Jobs
  - name: ModelAPI
  - name: ModelAPIVersion
  - name: ModelDeployment
  - name: Organizations
  - name: PPM
  - name: ProjectSharedDatasets
  - name: ProjectTemplates
  - name: Projects
  - name: ProjectsFiles
  - name: RegisteredModels
  - name: ServiceAccounts
  - name: Users
  - name: Workspaces
paths:
  /api/apps/beta/apps:
    post:
      tags:
        - Apps
      summary: Create App
      description: Create an App
      operationId: createApp
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppCreationRequest'
        description: Request to create an app
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppResponse'
          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:
    AppCreationRequest:
      properties:
        accessStatuses:
          items:
            $ref: '#/components/schemas/AppAccessStatus'
          type: array
        configurationType:
          $ref: '#/components/schemas/AppConfigurationType'
        description:
          type: string
        discoverable:
          type: boolean
        entryPoint:
          type: string
        mountDatasets:
          type: boolean
        mountNetAppVolumes:
          type: boolean
        name:
          type: string
        projectId:
          type: string
        renderIFrame:
          type: boolean
        version:
          $ref: '#/components/schemas/AppVersionCreationRequest'
        visibility:
          enum:
            - AUTHENTICATED
            - GRANT_BASED
            - GRANT_BASED_STRICT
            - PUBLIC
          type: string
      required:
        - name
        - projectId
        - visibility
        - version
      type: object
    AppResponse:
      properties:
        accessStatuses:
          items:
            $ref: '#/components/schemas/AppAccessStatus'
          type: array
        configurationType:
          $ref: '#/components/schemas/AppConfigurationType'
        currentVersion:
          $ref: '#/components/schemas/AppVersionResponse'
        description:
          type: string
        discoverable:
          type: boolean
        entryPoint:
          type: string
        id:
          type: string
        mountDatasets:
          type: boolean
        mountNetAppVolumes:
          type: boolean
        name:
          type: string
        project:
          $ref: '#/components/schemas/AppProjectResponse'
        publisher:
          $ref: '#/components/schemas/AppUserResponse'
        renderIFrame:
          type: boolean
        thumbnailEtag:
          type: string
        updatedAt:
          format: epoch
          type: number
        url:
          type: string
        vanityUrl:
          type: string
        views:
          type: number
        visibility:
          enum:
            - AUTHENTICATED
            - GRANT_BASED
            - GRANT_BASED_STRICT
            - PUBLIC
          type: string
      required:
        - id
        - name
        - project
        - entryPoint
        - renderIFrame
        - url
        - visibility
        - accessStatuses
        - discoverable
        - mountDatasets
        - mountNetAppVolumes
        - views
        - configurationType
      type: object
    AppAccessStatus:
      properties:
        status:
          enum:
            - ALLOWED
            - DENIED
            - PENDING
          type: string
        userId:
          type: string
      required:
        - userId
        - status
      type: object
    AppConfigurationType:
      default: STANDARD
      description: >-
        Type of configuration for the app which determines different deployment
        resources and settings.
      enum:
        - STANDARD
        - AISYSTEM
      type: string
    AppVersionCreationRequest:
      properties:
        autoscalingSpecification:
          $ref: '#/components/schemas/AppAutoscalingSpecification'
        bundleId:
          type: string
        dfsCommitId:
          type: string
        entryScript:
          description: >-
            Optional inline script to execute instead of the app's entry point.
            If provided, this script will take precedence over the entry point.
          type: string
        environmentId:
          type: string
        environmentRevisionId:
          type: string
        extendedIdentityPropagationToAppsEnabled:
          default: false
          type: boolean
        externalVolumeMountIds:
          items:
            type: string
          type: array
        gitRef:
          $ref: '#/components/schemas/GitRef'
        hardwareTierId:
          type: string
        netAppVolumeIds:
          items:
            type: string
          type: array
        tags:
          items:
            $ref: '#/components/schemas/AppVersionTag'
          type: array
        vanityUrl:
          type: string
      type: object
    AppVersionResponse:
      properties:
        autoscalingSpecification:
          $ref: '#/components/schemas/AppAutoscalingSpecification'
        bundleId:
          type: string
        bundleName:
          type: string
        createdAt:
          format: epoch
          type: number
        currentInstance:
          $ref: '#/components/schemas/AppInstanceSummaryResponse'
        dfsCommitId:
          type: string
        entryScript:
          description: >-
            Optional inline script to execute instead of the app's entry point.
            If provided, this script will take precedence over the entry point.
          type: string
        environmentId:
          type: string
        environmentRevisionId:
          type: string
        extendedIdentityPropagationToAppsEnabled:
          type: boolean
        externalVolumeMountIds:
          items:
            type: string
          type: array
        gitRef:
          $ref: '#/components/schemas/GitRef'
        hardwareTierId:
          type: string
        id:
          type: string
        netAppVolumeIds:
          items:
            type: string
          type: array
        publisher:
          $ref: '#/components/schemas/AppUserResponse'
        tags:
          items:
            $ref: '#/components/schemas/AppVersionTag'
          type: array
        updatedAt:
          format: epoch
          type: number
        vanityUrl:
          type: string
      required:
        - id
        - environmentId
        - environmentRevisionId
        - hardwareTierId
        - externalVolumeMountIds
        - netAppVolumeIds
        - createdAt
        - updatedAt
        - tags
        - extendedIdentityPropagationToAppsEnabled
      type: object
    AppProjectResponse:
      properties:
        id:
          type: string
        name:
          type: string
        ownerId:
          type: string
        ownerUsername:
          type: string
        projectType:
          enum:
            - Analytic
            - Dataset
            - Template
          type: string
      required:
        - id
        - projectType
        - name
        - ownerId
        - ownerUsername
      type: object
    AppUserResponse:
      properties:
        id:
          type: string
        name:
          type: string
      required:
        - id
        - name
      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
    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
    GitRef:
      properties:
        type:
          enum:
            - head
            - commitId
            - branches
            - tags
            - custom
          type: string
        value:
          type: string
      required:
        - type
      type: object
    AppVersionTag:
      properties:
        key:
          type: string
        value:
          type: string
      required:
        - key
        - value
      type: object
    AppInstanceSummaryResponse:
      properties:
        createdAt:
          format: epoch
          type: number
        describeUrl:
          type: string
        id:
          type: string
        status:
          type: string
      required:
        - id
        - createdAt
        - status
      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

````