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

# Register a model from various sources

> Register a model from various sources using a unified API



## OpenAPI

````yaml /api-specs/6.3/public-api.yaml post /api/registeredmodels/v2
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/registeredmodels/v2:
    post:
      tags:
        - RegisteredModels
      summary: Register a model from various sources
      description: Register a model from various sources using a unified API
      operationId: registerModelV2
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewRegisteredModelV2'
        description: Details of the model to register
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegisterModelResponseV2'
          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:
    NewRegisteredModelV2:
      properties:
        create:
          description: Indicates whether to create or update the registered model.
          type: boolean
        description:
          description: Optional description of the registered model
          example: Customer churn prediction model trained on historical data
          type: string
        discoverable:
          default: false
          description: >
            Indicates whether this model is publicly discoverable. If true,
            users who are not project members will see this model in search
            results and can view basic model details.
          type: boolean
        modelCategory:
          description: Category of the model (e.g., "genai", "ml").
          example: genai
          type: string
        modelName:
          description: The name of the registered model
          example: churn-prediction-model
          type: string
        modelSource:
          $ref: '#/components/schemas/domino.registered-models.api.ModelSourceV1'
        modelType:
          description: Type of the model (e.g., "llm", "embedding", "other-genai", "ml").
          example: llm
          type: string
        projectId:
          description: >
            Project ID of the registered model. Required for Hugging Face models
            only. For MLflow models, this is ignored as the project is
            determined from the experiment run id.
          type: string
      required:
        - modelName
        - modelSource
        - create
      type: object
    RegisterModelResponseV2:
      properties:
        modelVersion:
          $ref: '#/components/schemas/RegisteredModelVersionDetailsV2'
        registeredModel:
          $ref: '#/components/schemas/RegisteredModelV1'
      required:
        - registeredModel
        - modelVersion
      type: object
    domino.registered-models.api.ModelSourceV1:
      properties:
        huggingFaceSource:
          $ref: >-
            #/components/schemas/domino.registered-models.api.HuggingFaceModelSourceV1
          description: >-
            Hugging Face specific source details (required when sourceType is
            'huggingface')
        mlflowSource:
          $ref: >-
            #/components/schemas/domino.registered-models.api.MlflowModelSourceV1
          description: >-
            MLflow specific source details (required when sourceType is
            'mlflow')
        sourceType:
          description: Type of model source
          enum:
            - mlflow
            - huggingface
          example: huggingface
          type: string
      required:
        - sourceType
      type: object
    RegisteredModelVersionDetailsV2:
      properties:
        buildStatus:
          description: Current build status for GenAI models
          enum:
            - Queued
            - Starting
            - Building
            - Succeeded
            - Failed
            - Killed
          example: Succeeded
          nullable: true
          type: string
        createdAt:
          description: When the latest version of the model was created
          example: '2022-03-12T02:13:44.467Z'
          format: date-time
          type: string
        experimentRunId:
          description: >-
            The experiment run ID linked to the model version (only for MLflow
            models)
          example: db79712b47084c27a463a188bf901943
          nullable: true
          type: string
        modelName:
          description: Name of the registered model
          example: churn-prediction
          type: string
        modelVersion:
          description: The latest version of the model
          example: 4
          type: integer
        modelVersionDescription:
          description: Description of the model version
          example: Customer churn model V1
          type: string
        ownerUsername:
          description: username of the project owner
          example: martin_hito
          type: string
        project:
          $ref: '#/components/schemas/RegisteredModelProjectSummaryV1'
        tags:
          $ref: '#/components/schemas/RegisteredModelTagsV1'
        updatedAt:
          description: When the latest version of the model was updated
          example: '2022-03-12T02:13:44.467Z'
          format: date-time
          type: string
        versionUiDetails:
          $ref: '#/components/schemas/RegisteredModelVersionUiDetailsV2'
      required:
        - modelName
        - modelVersion
        - modelVersionDescription
        - project
        - versionUiDetails
        - tags
        - ownerUsername
        - createdAt
        - updatedAt
      type: object
    RegisteredModelV1:
      properties:
        createdAt:
          description: When the latest version of the model was created
          example: '2022-03-12T02:13:44.467Z'
          format: date-time
          type: string
        description:
          description: Description of the model
          example: Customer churn model
          type: string
        discoverable:
          default: false
          description: >
            Indicates whether this model is publicly discoverable. If true,
            users who are not project members will see this model in search
            results and can view basic model details.

            This field may be omitted when false.
          type: boolean
        latestVersion:
          description: The latest version of the model
          example: 1
          type: integer
        name:
          description: Name of the registered model
          example: churn-prediction
          type: string
        ownerUsername:
          description: Username of the model's creator
          example: martin_hito
          type: string
        project:
          $ref: '#/components/schemas/RegisteredModelProjectSummaryV1'
        requestingUserAccess:
          $ref: '#/components/schemas/RegisteredModelRequestingUserAccessV1'
        tags:
          $ref: '#/components/schemas/RegisteredModelTagsV1'
        updatedAt:
          description: When the latest version of the model was updated
          example: '2022-03-12T02:13:44.467Z'
          format: date-time
          type: string
      required:
        - name
        - description
        - project
        - tags
        - ownerUsername
        - createdAt
        - updatedAt
        - requestingUserAccess
      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
    domino.registered-models.api.HuggingFaceModelSourceV1:
      properties:
        huggingFaceToken:
          description: Optional Hugging Face token for private models
          example: hf_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
          type: string
        modelId:
          description: Hugging Face model ID
          example: microsoft/DialoGPT-medium
          type: string
        modelRevision:
          description: Optional model revision
          example: fe8a4ea1ffedaf415f4da2f062534de366a451e6
          type: string
      required:
        - modelId
      type: object
    domino.registered-models.api.MlflowModelSourceV1:
      properties:
        artifactPath:
          description: Path to the model artifact within the experiment run
          example: models/my_model
          type: string
        experimentRunId:
          description: Experiment run ID
          example: a8ea375c781d4b9c8e58469f0ad738f8
          type: string
        loggedModelId:
          description: Logged model entity ID
          example: m-c7847529147945e78b8622f11f0d3c0f
          type: string
      required:
        - experimentRunId
      type: object
    RegisteredModelProjectSummaryV1:
      description: type that tracks properties of the project associated with a model
      properties:
        id:
          description: ID of the project housing the model
          example: 62313ce67a0af0281c01a6a5
          type: string
        isGitBasedProject:
          description: Whether the project is a git-based project
          type: boolean
        name:
          description: Name of the project overview housing the model
          example: TO-DO
          type: string
        ownerUsername:
          description: Name of the project owner
          example: TO-DO
          type: string
      required:
        - id
        - name
        - ownerUsername
        - isGitBasedProject
      type: object
    RegisteredModelTagsV1:
      additionalProperties:
        type: string
      description: A map of key -> value
      type: object
    RegisteredModelVersionUiDetailsV2:
      properties:
        experimentRunInfo:
          $ref: '#/components/schemas/RegisteredModelVersionExperimentRunInfoV1'
        modelVersionDataSources:
          items:
            $ref: '#/components/schemas/RegisteredModelVersionDataSourceDetailsV1'
          type: array
        modelVersionDatasets:
          items:
            $ref: '#/components/schemas/RegisteredModelVersionDatasetDetailsV1'
          type: array
      required:
        - modelVersionDataSources
        - modelVersionDatasets
      type: object
    RegisteredModelRequestingUserAccessV1:
      description: >-
        Describes the operations that the requesting user has permission to do
        with this model.
      properties:
        canEditModel:
          description: True if the requesting user can update this model
          type: boolean
        canEditProjectAssets:
          description: >
            True if the requesting user has permissions to edit other assets of
            the project that this model belongs to.
          type: boolean
        canViewExperimentRuns:
          description: >
            True if the requesting user can view experiment runs of the project
            that this model belongs to.
          type: boolean
        canViewModelApis:
          description: >
            True if the requesting user can view model apis of the project that
            this model belongs to.
          type: boolean
        canViewProject:
          description: >
            True if the requesting user can view the project overview of the
            project that this model belongs to.
          type: boolean
        canViewProjectFiles:
          description: >
            True if the requesting user can view the files of the project that
            this model belongs to.
          type: boolean
      required:
        - canEditModel
        - canEditProjectAssets
        - canViewExperimentRuns
        - canViewModelApis
        - canViewProject
        - canViewProjectFiles
      type: object
    RegisteredModelVersionExperimentRunInfoV1:
      properties:
        metrics:
          description: Run metrics.
          items:
            $ref: '#/components/schemas/RegisteredModelVersionExperimentRunMetricV1'
          type: array
        params:
          description: Run parameters.
          items:
            $ref: '#/components/schemas/RegisteredModelVersionExperimentRunParamV1'
          type: array
        runUrl:
          description: The snapshotId of the dataset
          type: string
      required:
        - metrics
        - params
        - runUrl
      type: object
    RegisteredModelVersionDataSourceDetailsV1:
      properties:
        dataSourceType:
          description: The dataSourceType of the datasource
          type: string
        id:
          description: The id of the datasource
          type: string
        name:
          description: The name of the datasource
          type: string
      required:
        - name
        - id
        - dataSourceType
      type: object
    RegisteredModelVersionDatasetDetailsV1:
      properties:
        id:
          description: The id of the dataset
          type: string
        name:
          description: The name of the dataset
          type: string
        snapshotId:
          description: The snapshotId of the dataset
          type: string
      required:
        - name
        - id
        - snapshotId
      type: object
    RegisteredModelVersionExperimentRunMetricV1:
      properties:
        key:
          description: Key identifying this metric.
          type: string
        timestamp:
          description: The timestamp at which this metric was recorded.
          example: '2022-03-12T02:13:44.467Z'
          format: date-time
          type: string
        value:
          description: Value associated with this metric.
          format: double
          type: number
      required:
        - key
        - value
        - timestamp
      type: object
    RegisteredModelVersionExperimentRunParamV1:
      properties:
        key:
          description: Key identifying this param.
          type: string
        value:
          description: Value associated with this param.
          type: string
      required:
        - key
        - value
      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

````