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

# Grant a user or organization Model API access

> Add a user or organization as Owner, Editor, or Viewer. Organizations may be
Owners. Set isOrganization to true for an organization id and false for a user id;
Domino does not look up the id to confirm the type or that the principal exists.

If that id is already assigned (user or organization), the request fails. Use PUT
to change an existing role. Do not use this endpoint to change public vs private
visibility. Only current Owners can add collaborators.

Related:
- GET /api/modelServing/beta/modelApis/{modelApiId}/collaborators (list after the change)
- PUT /api/modelServing/beta/modelApis/{modelApiId}/collaborators/{collaboratorId} (change an existing role)
- DELETE /api/modelServing/beta/modelApis/{modelApiId}/collaborators/{collaboratorId} (revoke access)




## OpenAPI

````yaml /api-specs/cloud/public-api.json post /api/modelServing/beta/modelApis/{modelApiId}/collaborators
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}/collaborators:
    post:
      tags:
        - Model APIs
      summary: Grant a user or organization Model API access
      description: >
        Add a user or organization as Owner, Editor, or Viewer. Organizations
        may be

        Owners. Set isOrganization to true for an organization id and false for
        a user id;

        Domino does not look up the id to confirm the type or that the principal
        exists.


        If that id is already assigned (user or organization), the request
        fails. Use PUT

        to change an existing role. Do not use this endpoint to change public vs
        private

        visibility. Only current Owners can add collaborators.


        Related:

        - GET /api/modelServing/beta/modelApis/{modelApiId}/collaborators (list
        after the change)

        - PUT
        /api/modelServing/beta/modelApis/{modelApiId}/collaborators/{collaboratorId}
        (change an existing role)

        - DELETE
        /api/modelServing/beta/modelApis/{modelApiId}/collaborators/{collaboratorId}
        (revoke access)
      operationId: createModelApiCollaborator
      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:
              id: 507f1f77bcf86cd799439011
              isOrganization: false
              role: Viewer
            schema:
              $ref: '#/components/schemas/ModelApiCollaborator'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelApiCollaborator'
          description: The newly created collaborator.
        '400':
          description: >
            The request is invalid. Typical causes: this id is already a
            collaborator (use

            PUT
            /api/modelServing/beta/modelApis/{modelApiId}/collaborators/{collaboratorId}

            to change the role); id or modelApiId is not a 24-character hex id;
            role is not

            Owner, Editor, or Viewer (Hidden and Operator are rejected).
        '401':
          description: >-
            Authentication required. Provide a valid Domino session or API
            token.
        '403':
          description: >
            You cannot manage collaborators on this Model API. Ask an Owner to
            add the

            collaborator, or retry as an Owner.
        '404':
          description: |
            No Model API exists for modelApiId. Confirm the id from
            GET /api/modelServing/v1/modelApis.
      security:
        - DominoApiKey: []
        - BearerAuthentication: []
components:
  schemas:
    ModelApiCollaborator:
      properties:
        id:
          description: Domino user or organization id.
          nullable: false
          type: string
        isOrganization:
          description: Whether id identifies an organization.
          nullable: false
          type: boolean
        role:
          description: Collaborator role. Management APIs accept Owner, Editor, and Viewer.
          nullable: false
          type: string
      required:
        - id
        - role
        - isOrganization
  securitySchemes:
    DominoApiKey:
      type: apiKey
      in: header
      name: X-Domino-Api-Key
    BearerAuthentication:
      type: apiKey
      name: Authorization
      in: header

````

## Related topics

- [See who can access a Model API](/api-reference/model-apis/see-who-can-access-a-model-api.md)
- [Sharing and access](/cloud/platform-capabilities/features/collaboration/sharing-and-access.md)
- [Revoke a collaborator's access to a Model API](/api-reference/model-apis/revoke-a-collaborators-access-to-a-model-api.md)
- [Remove a grant from a Dataset's existing sequence of grants](/api-reference/datasets/remove-a-grant-from-a-datasets-existing-sequence-of-grants.md)
