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

# Change who can discover and invoke a Model API

> Set visibility to Public, Discoverable, or Private by sending
`{ "visibility": "Private" }` (or Public / Discoverable). Model API Owners and
users with ManageModelCollaborators can change visibility. This updates the
first-class `visibility` field only. It does not write Everyone collaborator
rows or change `access.isPublic` on the v1 payload.

Public still requires every caller to authenticate. Central config
`com.cerebro.domino.modelmanager.allowPublicModels` blocks Public only;
Discoverable and Private remain available when that setting is false.

Related:
- GET /api/modelServing/beta/modelApis/{modelApiId}/visibility (read current visibility)
- GET /api/modelServing/v1/modelApis/{modelApiId} (read Model API metadata)
- GET /api/modelServing/beta/modelApis/{modelApiId}/collaborators (list assigned roles)




## OpenAPI

````yaml /api-specs/cloud/public-api.json put /api/modelServing/beta/modelApis/{modelApiId}/visibility
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/modelServing/beta/modelApis/{modelApiId}/visibility:
    put:
      tags:
        - Model APIs
      summary: Change who can discover and invoke a Model API
      description: >
        Set visibility to Public, Discoverable, or Private by sending

        `{ "visibility": "Private" }` (or Public / Discoverable). Model API
        Owners and

        users with ManageModelCollaborators can change visibility. This updates
        the

        first-class `visibility` field only. It does not write Everyone
        collaborator

        rows or change `access.isPublic` on the v1 payload.


        Public still requires every caller to authenticate. Central config

        `com.cerebro.domino.modelmanager.allowPublicModels` blocks Public only;

        Discoverable and Private remain available when that setting is false.


        Related:

        - GET /api/modelServing/beta/modelApis/{modelApiId}/visibility (read
        current visibility)

        - GET /api/modelServing/v1/modelApis/{modelApiId} (read Model API
        metadata)

        - GET /api/modelServing/beta/modelApis/{modelApiId}/collaborators (list
        assigned roles)
      operationId: updateModelApiVisibility
      parameters:
        - description: >
            Model API id (24-character hex). Obtain from GET
            /api/modelServing/v1/modelApis

            or the Model API details URL.
          in: path
          name: modelApiId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              visibility: Private
            schema:
              $ref: '#/components/schemas/ModelApiVisibility'
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                visibility: Private
              schema:
                $ref: '#/components/schemas/ModelApiVisibility'
          description: The updated visibility.
        '400':
          description: >
            The request cannot be applied. Typical causes:

            - modelApiId is not a 24-character hex ObjectId. Copy it from
              GET /api/modelServing/v1/modelApis.
            - `visibility` is not exactly Public, Discoverable, or Private
            (case-sensitive).

            - You requested Public while
            `com.cerebro.domino.modelmanager.allowPublicModels`
              is false. Retry with Discoverable or Private, or ask an admin to enable
              public Model APIs.
        '401':
          description: >
            No Domino session or API token was accepted before the handler ran.

            Sign in or pass a valid API key. Callers that reach this route
            without

            an authenticated principal receive 403 instead.
        '403':
          description: >
            You cannot manage collaborators on this Model API. Ask an Owner or a
            user with

            ManageModelCollaborators to change visibility, or retry with
            sufficient permissions.
        '404':
          description: |
            No Model API exists for modelApiId. Confirm the id from
            GET /api/modelServing/v1/modelApis.
      security:
        - DominoApiKey: []
        - BearerAuthentication: []
components:
  schemas:
    ModelApiVisibility:
      properties:
        visibility:
          description: >
            Public allows all authenticated users to discover and invoke.
            Discoverable allows

            all authenticated users to discover, but only assigned collaborators
            to invoke.

            Private requires an assigned collaborator role to discover or
            invoke.
          enum:
            - Public
            - Discoverable
            - Private
          nullable: false
          type: string
      required:
        - visibility
  securitySchemes:
    DominoApiKey:
      type: apiKey
      in: header
      name: X-Domino-Api-Key
    BearerAuthentication:
      type: apiKey
      name: Authorization
      in: header

````

## Related topics

- [Read who can discover and invoke a Model API](/api-reference/model-apis/read-who-can-discover-and-invoke-a-model-api.md)
- [Manage models with model registry](/cloud/platform-capabilities/features/models/register-and-govern/model-registry.md)
- [Export models to NVIDIA Fleet Command](/cloud/platform-capabilities/features/models/export-nvidia.md)
- [See who can access a Model API](/api-reference/model-apis/see-who-can-access-a-model-api.md)
