> ## 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 an Extension

> Create an Extension given an App reference



## OpenAPI

````yaml /api-specs/6.3/public-api.json post /api/extensions/beta/extensions
openapi: 3.0.3
info:
  title: Domino Public API
  description: Reference for Domino's public REST API endpoints.
  version: 6.3.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: AIGateway
    x-displayName: AIGateway
  - name: AppInstances
    x-displayName: AppInstances
  - name: AppVersions
    x-displayName: AppVersions
  - name: Apps
    x-displayName: Apps
  - name: AsyncPredictions
    x-displayName: AsyncPredictions
  - name: AuditTrail
    x-displayName: AuditTrail
  - name: BillingTag
    x-displayName: BillingTag
  - name: BillingTagSettings
    x-displayName: BillingTagSettings
  - name: Cost
    x-displayName: Cost
  - name: CustomMetrics
    x-displayName: CustomMetrics
  - name: DataSource
    x-displayName: DataSource
  - name: DatasetRw
    x-displayName: DatasetRw
  - name: DeploymentTargets
    x-displayName: DeploymentTargets
  - name: Environments
    x-displayName: Environments
  - name: Extensions
    x-displayName: Extensions
  - name: GenAI
    x-displayName: GenAI
  - name: HPC Jobs
    x-displayName: HPC Jobs
  - name: HardwareTier
    x-displayName: HardwareTier
  - name: Jobs
    x-displayName: Jobs
  - name: ModelAPI
    x-displayName: ModelAPI
  - name: ModelAPIVersion
    x-displayName: ModelAPIVersion
  - name: ModelDeployment
    x-displayName: ModelDeployment
  - name: Organizations
    x-displayName: Organizations
  - name: PPM
    x-displayName: PPM
  - name: PersonalAccessToken
    x-displayName: PersonalAccessToken
  - name: ProjectSharedDatasets
    x-displayName: ProjectSharedDatasets
  - name: ProjectTemplates
    x-displayName: ProjectTemplates
  - name: Projects
    x-displayName: Projects
  - name: ProjectsCommits
    x-displayName: ProjectsCommits
  - name: ProjectsFiles
    x-displayName: ProjectsFiles
  - name: RegisteredModels
    x-displayName: RegisteredModels
  - name: ServiceAccounts
    x-displayName: ServiceAccounts
  - name: Users
    x-displayName: Users
  - name: Workspaces
    x-displayName: Workspaces
  - name: nucleus_other
    x-displayName: other
  - name: PersonalAccessTokenAdmin
    x-displayName: PersonalAccessTokenAdmin
  - name: Git Credentials
    x-displayName: Git Credentials
  - name: Activity
    x-displayName: Activity
  - name: Admin
    x-displayName: Admin
  - name: Notifications
    x-displayName: Notifications
  - name: Adminnotifications
    x-displayName: Adminnotifications
  - name: UserManagement
    x-displayName: UserManagement
  - name: WhiteLabel
    x-displayName: WhiteLabel
  - name: Authentication and Authorization
    x-displayName: Authentication and Authorization
  - name: Code
    x-displayName: Code
  - name: ComputeCluster
    x-displayName: ComputeCluster
  - name: Control Center
    x-displayName: Control Center
  - name: controlcenter
    x-displayName: controlcenter
  - name: DataSourceCredential
    x-displayName: DataSourceCredential
  - name: DataMount
    x-displayName: DataMount
  - name: DataPlane
    x-displayName: DataPlane
  - name: dataset
    x-displayName: dataset
  - name: Datasets
    x-displayName: Datasets
  - name: datasetrw.api
    x-displayName: datasetrw.api
  - name: DatasetObjectStore
    x-displayName: DatasetObjectStore
  - name: DevelopV1ProjectTemplates
    x-displayName: DevelopV1ProjectTemplates
  - name: DevelopV1Projects
    x-displayName: DevelopV1Projects
  - name: Execution Events
    x-displayName: Execution Events
  - name: Files
    x-displayName: Files
  - name: Frontend
    x-displayName: Frontend
  - name: Gateway
    x-displayName: Gateway
  - name: Runs
    x-displayName: Runs
  - name: Search
    x-displayName: Search
  - name: Git
    x-displayName: Git
  - name: Metadata
    x-displayName: Metadata
  - name: Gruz
    x-displayName: Gruz
  - name: Guardrails
    x-displayName: Guardrails
  - name: Hardware Tier
    x-displayName: Hardware Tier
  - name: ActionableInsights
    x-displayName: ActionableInsights
  - name: Socket
    x-displayName: Socket
  - name: Job
    x-displayName: Job
  - name: Tags
    x-displayName: Tags
  - name: JobComments
    x-displayName: JobComments
  - name: LogsWithProblemSuggestion
    x-displayName: LogsWithProblemSuggestion
  - name: JobResults
    x-displayName: JobResults
  - name: Layout
    x-displayName: Layout
  - name: Metrics
    x-displayName: Metrics
  - name: MLFlow
    x-displayName: MLFlow
  - name: ModelManager
    x-displayName: ModelManager
  - name: Model Products
    x-displayName: Model Products
  - name: Project Goals
    x-displayName: Project Goals
  - name: ProjectManagement
    x-displayName: ProjectManagement
  - name: Templates
    x-displayName: Templates
  - name: Project
    x-displayName: Project
  - name: Launchers
    x-displayName: Launchers
  - name: Scheduled Jobs
    x-displayName: Scheduled Jobs
  - name: Quota
    x-displayName: Quota
  - name: RemoteFileSystem
    x-displayName: RemoteFileSystem
  - name: Scheduled Runs
    x-displayName: Scheduled Runs
  - name: Workspace
    x-displayName: Workspace
  - name: Logs
    x-displayName: Logs
  - name: WorkspaceComments
    x-displayName: WorkspaceComments
  - name: WorkspaceResults
    x-displayName: WorkspaceResults
  - name: Resource
    description: The Data Plane Resource API
    x-displayName: Resource
  - name: authz
    x-displayName: authz
  - name: volumes
    x-displayName: volumes
  - name: data transfers
    x-displayName: data transfers
  - name: downloads
    x-displayName: downloads
  - name: filesystems
    x-displayName: filesystems
  - name: snapshots
    x-displayName: snapshots
  - name: tasks
    x-displayName: tasks
  - description: Manage taxonomy namespaces.
    name: Tagging - Namespaces
    x-displayName: Tagging - Namespaces
  - description: Manage tags within namespaces.
    name: Tagging - Tags
    x-displayName: Tagging - Tags
  - description: Assign, remove, and list tag assignments on entities.
    name: Tagging - Entity Tags
    x-displayName: Tagging - Entity Tags
  - description: Look up entities by tag.
    name: Tagging - Entities
    x-displayName: Tagging - Entities
  - description: Fetch the full namespace + tag hierarchy.
    name: Tagging - Taxonomy Tree
    x-displayName: Tagging - Taxonomy Tree
  - description: Validate and import taxonomy data from a file.
    name: Tagging - Import
    x-displayName: Tagging - Import
  - description: Export the current taxonomy to a file.
    name: Tagging - Export
    x-displayName: Tagging - Export
  - description: Internal-only endpoints for service-account callers.
    name: Tagging - Internal
    x-displayName: Tagging - Internal
  - description: Manage property definitions and their groups.
    name: Properties - Definitions
    x-displayName: Properties - Definitions
  - description: Read and update an entity's property values.
    name: Properties - Values
    x-displayName: Properties - Values
  - description: Internal-only endpoints for service-account callers (properties).
    name: Properties - Internal
    x-displayName: Properties - Internal
  - name: config
    x-displayName: config
  - name: Workloads
    description: Everything related to deploying and managingDomino Workloads
    x-displayName: Workloads
  - name: Executor
    description: Executor-related commands
    x-displayName: Executor
  - name: HPC
    description: HPC workload management
    x-displayName: HPC
  - name: Endpoints
    x-displayName: Endpoints
  - name: mlflow-proxy_other
    x-displayName: other
  - name: attachments
    x-displayName: attachments
  - name: bundle-stages
    x-displayName: bundle-stages
  - name: bundles
    x-displayName: bundles
  - name: findings
    x-displayName: findings
  - name: drafts
    x-displayName: drafts
  - name: evidence-templates
    x-displayName: evidence-templates
  - name: policies
    x-displayName: policies
  - name: policy-versions
    x-displayName: policy-versions
  - name: policy-enforcers
    x-displayName: policy-enforcers
  - name: results
    x-displayName: results
  - name: rpc
    x-displayName: rpc
  - name: approvals
    x-displayName: approvals
  - description: >-
      Create, query, bulk-update, and evaluate priority-based access control
      rules.
    name: rules
    x-displayName: rules
  - name: domino-connect_other
    x-displayName: other
  - name: events
    x-displayName: events
  - name: curated-central-configs
    x-displayName: curated-central-configs
  - name: nodepools
    x-displayName: nodepools
  - name: ip-allowlist
    x-displayName: ip-allowlist
externalDocs:
  description: OpenAPI
  url: https://swagger.io/resources/open-api/
paths:
  /api/extensions/beta/extensions:
    post:
      tags:
        - Extensions
      summary: Create an Extension
      description: Create an Extension given an App reference
      operationId: createExtension
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/nucleus_ExtensionCreationRequest'
        description: Request to create an extension
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/nucleus_ExtensionResponse'
          description: Success
        '400':
          $ref: '#/components/responses/nucleus_400'
        '401':
          $ref: '#/components/responses/nucleus_401'
        '403':
          $ref: '#/components/responses/nucleus_403'
        '404':
          $ref: '#/components/responses/nucleus_404'
        '500':
          $ref: '#/components/responses/nucleus_500'
      security:
        - nucleus_DominoApiKey: []
        - nucleus_BearerAuthentication: []
components:
  schemas:
    nucleus_ExtensionCreationRequest:
      properties:
        appId:
          description: The id of the App to associate the Extension with.
          type: string
        appVersionId:
          description: The version of the App to associate the Extension with.
          type: string
        description:
          description: The description of the Extension.
          type: string
        enabled:
          description: Whether the Extension is globally enabled or disabled.
          type: boolean
        name:
          description: The name of the Extension.
          type: string
        uiMountPointTypeConfigs:
          $ref: '#/components/schemas/nucleus_UIMountPointTypeConfigs'
      required:
        - name
        - enabled
        - appId
        - appVersionId
        - uiMountPointTypeConfigs
      type: object
    nucleus_ExtensionResponse:
      properties:
        appId:
          description: The id of the App to associate the Extension with.
          type: string
        appVersionId:
          description: The version of the App to associate the Extension with.
          type: string
        createdAt:
          description: The date and time when the Extension was created.
          format: date-time
          type: string
        createdBy:
          $ref: '#/components/schemas/nucleus_UserSummary'
        deletedAt:
          description: >-
            The date and time when the Extension was deleted. If null, the
            Extension has not been deleted.
          format: date-time
          type: string
        deletedBy:
          $ref: '#/components/schemas/nucleus_UserSummary'
        description:
          description: The description of the Extension.
          type: string
        enabled:
          description: Whether the Extension is globally enabled or disabled.
          type: boolean
        id:
          description: The id of the Extension.
          type: string
        kind:
          $ref: '#/components/schemas/nucleus_ExtensionKind'
        name:
          description: The name of the Extension.
          type: string
        totalViews:
          description: The total number of views across all app versions.
          format: int64
          type: integer
        uiMountPointTypeConfigs:
          $ref: '#/components/schemas/nucleus_UIMountPointTypeConfigs'
        updatedAt:
          description: The date and time when the Extension was last updated.
          format: date-time
          type: string
        updatedBy:
          $ref: '#/components/schemas/nucleus_UserSummary'
      required:
        - id
        - name
        - enabled
        - appId
        - uiMountPointTypeConfigs
        - kind
        - totalViews
        - createdAt
        - createdBy
        - updatedAt
        - updatedBy
      type: object
    nucleus_UIMountPointTypeConfigs:
      description: >-
        The configuration for the UI mount points of the Extension. Each
        property corresponds to a different mount point in the Domino UI where
        the Extension can be mounted.
      properties:
        adminPanel:
          $ref: '#/components/schemas/nucleus_AdminPanelMountConfig'
        dataset:
          $ref: '#/components/schemas/nucleus_DatasetMountConfig'
        datasetFileContext:
          $ref: '#/components/schemas/nucleus_DatasetFileContextMountConfig'
        modelDetails:
          $ref: '#/components/schemas/nucleus_ModelDetailsMountConfig'
        netAppVolume:
          $ref: '#/components/schemas/nucleus_NetAppVolumeMountConfig'
        netAppVolumeFileContext:
          $ref: '#/components/schemas/nucleus_NetAppVolumeFileContextMountConfig'
        projectSidebar:
          $ref: '#/components/schemas/nucleus_ProjectSidebarMountConfig'
      type: object
    nucleus_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
    nucleus_ExtensionKind:
      description: The category of the Extension.
      enum:
        - DominoOfficial
        - Uncategorized
      type: string
    nucleus_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
    nucleus_AdminPanelMountConfig:
      properties:
        enabled:
          description: >-
            If true, the Extension is mounted in the admin panel of the Domino
            UI.
          type: boolean
        urlConfig:
          $ref: '#/components/schemas/nucleus_MountPointTypeUrlConfig'
      required:
        - enabled
      type: object
    nucleus_DatasetMountConfig:
      properties:
        enabled:
          description: >-
            If true, the Extension is mounted in the dataset view of the Domino
            UI.
          type: boolean
        urlConfig:
          $ref: '#/components/schemas/nucleus_MountPointTypeUrlConfig'
      required:
        - enabled
      type: object
    nucleus_DatasetFileContextMountConfig:
      properties:
        allProjects:
          description: >-
            If true, the Extension will be mounted for all projects. If false,
            the extension will only be mounted for the projects specified by
            each mount point's projectId (mountPoints[].projectId).
          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.
          items:
            type: string
          type: array
        mountPoints:
          items:
            $ref: '#/components/schemas/nucleus_DatasetFileContextMountPoint'
          type: array
        urlConfig:
          $ref: '#/components/schemas/nucleus_MountPointTypeUrlConfig'
      required:
        - enabled
      type: object
    nucleus_ModelDetailsMountConfig:
      properties:
        enabled:
          description: >-
            If true, the Extension is mounted to places in the Domino UI that
            show model details (e.g. model cards).
          type: boolean
        urlConfig:
          $ref: '#/components/schemas/nucleus_MountPointTypeUrlConfig'
      required:
        - enabled
      type: object
    nucleus_NetAppVolumeMountConfig:
      properties:
        enabled:
          description: >-
            If true, the Extension is mounted in the NetApp volume view of the
            Domino UI.
          type: boolean
        urlConfig:
          $ref: '#/components/schemas/nucleus_MountPointTypeUrlConfig'
      required:
        - enabled
      type: object
    nucleus_NetAppVolumeFileContextMountConfig:
      properties:
        allProjects:
          description: >-
            If true, the Extension will be mounted for all projects. If false,
            the extension will only be mounted for the projects specified by
            each mount point's projectId (mountPoints[].projectId).
          type: boolean
        enabled:
          description: >-
            If true, the Extension is mounted in the NetApp volume file context
            of the Domino UI.
          type: boolean
        fileTypes:
          description: >-
            The file types that the Extension should be mounted for in the
            NetApp volume file context.
          items:
            type: string
          type: array
        mountPoints:
          items:
            $ref: '#/components/schemas/nucleus_NetAppVolumeFileContextMountPoint'
          type: array
        urlConfig:
          $ref: '#/components/schemas/nucleus_MountPointTypeUrlConfig'
      required:
        - enabled
      type: object
    nucleus_ProjectSidebarMountConfig:
      properties:
        allProjects:
          description: >-
            If true, the Extension will be mounted for all projects. If false,
            the extension will only be mounted for the projects specified by
            each mount point's projectId (mountPoints[].projectId).
          type: boolean
        enabled:
          description: >-
            If true, the Extension is mounted in the project sidebar of the
            Domino UI.
          type: boolean
        mountPoints:
          items:
            $ref: '#/components/schemas/nucleus_ProjectSidebarMountPoint'
          type: array
        urlConfig:
          $ref: '#/components/schemas/nucleus_MountPointTypeUrlConfig'
      required:
        - enabled
      type: object
    nucleus_MountPointTypeUrlConfig:
      description: >-
        URL configuration for links to the Extension's runtime (i.e. Domino App)
        for a particular mount point type.
      properties:
        contextualQueryParams:
          description: >-
            Query parameters whose values should be derived by the client from
            the user's context and added to the link. If the value cannot be
            derived from context, an empty value should be passed.
          items:
            $ref: '#/components/schemas/nucleus_ContextualQueryParam'
          type: array
        route:
          description: >-
            The route within the app to link to. If absent, link should be
            constructed to the app's root.
          type: string
      type: object
    nucleus_DatasetFileContextMountPoint:
      description: Additional mount point information for the Dataset file context.
      properties:
        enabled:
          description: >-
            Whether the Extension is enabled for this specific mount point in
            the Dataset file context.
          type: boolean
        projectId:
          description: Project ID where the dataset file context mount point is enabled.
          type: string
      required:
        - enabled
        - projectId
      type: object
    nucleus_NetAppVolumeFileContextMountPoint:
      description: Additional mount point information for the NetApp volume file context.
      properties:
        enabled:
          description: >-
            Whether the Extension is enabled for this specific mount point in
            the NetApp volume file context.
          type: boolean
        projectId:
          description: >-
            Project ID where the NetApp volume file context mount point is
            enabled.
          type: string
      required:
        - enabled
        - projectId
      type: object
    nucleus_ProjectSidebarMountPoint:
      description: Additional mount point information for the project sidebar.
      properties:
        enabled:
          description: >-
            Whether the Extension is enabled for this specific mount point in
            the project sidebar.
          type: boolean
        projectId:
          description: Project ID where the project sidebar mount point is enabled.
          type: string
      required:
        - enabled
        - projectId
      type: object
    nucleus_ContextualQueryParam:
      description: >-
        A query parameter whose value should be derived by the client from the
        user's context and added to the link. If the value cannot be derived
        from context, an empty value should be passed.
      enum:
        - projectId
        - netAppVolumeId
        - netAppVolumeSnapshotId
        - datasetId
        - datasetSnapshotId
        - filePath
        - modelId
        - modelVersionId
      type: string
  responses:
    nucleus_400:
      content:
        application/json:
          schema:
            properties:
              error:
                type: string
            type: object
      description: Bad Request
    nucleus_401:
      content:
        application/json:
          example:
            code: UNAUTHORIZED
            message: Authentication is required to access this resource.
          schema:
            $ref: '#/components/schemas/nucleus_ErrorV1'
      description: Unauthorized - authentication is required or has failed.
    nucleus_403:
      content:
        application/json:
          example:
            code: FORBIDDEN
            message: You do not have permission to perform this action.
          schema:
            $ref: '#/components/schemas/nucleus_ErrorV1'
      description: Forbidden - the caller lacks permission to perform this action.
    nucleus_404:
      content:
        application/json:
          schema:
            properties:
              error:
                type: string
            type: object
      description: Not Found
    nucleus_500:
      content:
        application/json:
          schema:
            properties:
              error:
                type: string
            type: object
      description: Internal Server Error
  securitySchemes:
    nucleus_DominoApiKey:
      type: apiKey
      name: X-Domino-Api-Key
      in: header
    nucleus_BearerAuthentication:
      type: apiKey
      name: Authorization
      in: header

````

## Related topics

- [Create and manage Extensions](/6.3/platform-capabilities/features/extensions/create-manage-extensions.md)
- [Domino Cloud release notes](/release-notes/cloud-release.md)
- [Extensions](/6.3/platform-capabilities/features/extensions/index.md)
- [Initiate a Domino Official Extension install or upgrade](/6.3/api-reference/extensions/initiate-a-domino-official-extension-install-or-upgrade.md)
