> ## 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 a Model API collaborator's role

> Set an existing collaborator to Owner, Editor, or Viewer. Path collaboratorId must
equal body.id. isOrganization must match whether the stored principal is an
organization. You cannot demote the last Owner. Public vs private visibility is
not managed here. Only current Owners can change roles.

Related:
- GET /api/modelServing/beta/modelApis/{modelApiId}/collaborators/{collaboratorId} (read the current role)
- POST /api/modelServing/beta/modelApis/{modelApiId}/collaborators (grant access if not assigned)
- DELETE /api/modelServing/beta/modelApis/{modelApiId}/collaborators/{collaboratorId} (remove)




## OpenAPI

````yaml /api-specs/cloud/public-api.json put /api/modelServing/beta/modelApis/{modelApiId}/collaborators/{collaboratorId}
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/{collaboratorId}:
    put:
      tags:
        - Model APIs
      summary: Change a Model API collaborator's role
      description: >
        Set an existing collaborator to Owner, Editor, or Viewer. Path
        collaboratorId must

        equal body.id. isOrganization must match whether the stored principal is
        an

        organization. You cannot demote the last Owner. Public vs private
        visibility is

        not managed here. Only current Owners can change roles.


        Related:

        - GET
        /api/modelServing/beta/modelApis/{modelApiId}/collaborators/{collaboratorId}
        (read the current role)

        - POST /api/modelServing/beta/modelApis/{modelApiId}/collaborators
        (grant access if not assigned)

        - DELETE
        /api/modelServing/beta/modelApis/{modelApiId}/collaborators/{collaboratorId}
        (remove)
      operationId: updateModelApiCollaborator
      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
        - description: >
            Domino user or organization id (24-character hex). Must match
            body.id. Copy

            `id` from GET
            /api/modelServing/beta/modelApis/{modelApiId}/collaborators.
          in: path
          name: collaboratorId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              id: 507f1f77bcf86cd799439011
              isOrganization: false
              role: Viewer
            schema:
              $ref: '#/components/schemas/ModelApiCollaborator'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelApiCollaborator'
          description: The updated collaborator.
        '400':
          description: >
            The request is invalid. Typical causes: path collaboratorId does not
            match

            body.id; isOrganization does not match the stored user vs
            organization type;

            role is not Owner, Editor, or Viewer; or the change would leave the
            Model API

            with no Owner.
        '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
            change the

            role, or retry as an Owner.
        '404':
          description: >
            No Model API exists for modelApiId, or this id is not currently
            assigned.

            Grant access with POST
            /api/modelServing/beta/modelApis/{modelApiId}/collaborators,

            or list with GET
            /api/modelServing/beta/modelApis/{modelApiId}/collaborators.
      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

- [Read one Model API collaborator's role](/api-reference/model-apis/read-one-model-api-collaborators-role.md)
- [Update collaborator role](/api-reference/model-monitoring-models/put-model-monitorv2apimodel-collaborators.md)
- [Grant a user or organization Model API access](/api-reference/model-apis/grant-a-user-or-organization-model-api-access.md)
- [Change who can discover and invoke a Model API](/api-reference/model-apis/change-who-can-discover-and-invoke-a-model-api.md)
