change_collaborator_role
Change the model role for an active collaborator. Requires Owner role on the model. target_user_id: UUID of the collaborator to update, resolved inside the target workspace (not necessarily your current one). role: one of ‘viewer’, ‘editor’, ‘owner’. Cannot demote the only model owner. Pass workspace_id to target a model in a workspace other than your current one (requires an active membership and Owner grant on the model there; OAuth/JWT sessions only).
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
model_name | Annotated[str, Field(description='Name of the Bridge Town model. Caller must have Owner role.')] | Yes | — | |
target_user_id | Annotated[str, Field(description='UUID of the collaborator whose role or access to change.')] | Yes | — | |
role | Annotated[Literal['owner', 'editor', 'viewer'], Field(description="Model role to grant. One of: 'owner', 'editor', 'viewer'.")] | Yes | — | |
workspace_id | `Annotated[str | None, Field(description=WORKSPACE_ID_FIELD_DESCRIPTION)]` | No | None |
Returns
Section titled “Returns”Returns a structured object. Top-level fields:
grant_id(string)model(string)user_id(string)new_role(string)
See the response example below for the full payload shape.
Example
Section titled “Example”Tool Call
Section titled “Tool Call”{ "name": "change_collaborator_role", "arguments": { "model_name": "forecasts", "target_user_id": "33333333-3333-3333-3333-333333333333", "role": "owner" }}Response
Section titled “Response”{ "grant_id": "99999999-9999-9999-9999-999999999999", "model": "forecasts", "user_id": "33333333-3333-3333-3333-333333333333", "new_role": "owner"}- Module:
Collaborators - Requires authentication via API token or Auth0 JWT.