model_access_update

Managementcatalog

Update Model Access Control

Not in the default tool list

This tool lives in the tool catalog. Discover it with scenario_tools_search (or enumerate everything with scenario_tools_list) and run it via scenario_tool_execute_write. To list every tool directly, connect with ?toolsets=full.

Add or remove models on a team's model allowlist/blocklist, at team level or across project-level lists (bulk). Which list is edited follows the team's models-management mode: blocklist mode edits blocklists, allowlist mode edits allowlists. Switching the mode itself is not supported here; change it in the team settings of the web app. Args: - team_id: required - level: required, 'team' (team-wide list; requires a team admin) or 'project' (per-project lists; team admin, or project admin of every listed project) - projects: required when level='project', 1-200 project IDs to update - add_models / remove_models: exactly one, model IDs to add to or remove from the list - project_id: required for OAuth callers as tenant context only — any project of the team, ignored by level='team'. The projects to edit go in projects. - response_format: optional, 'json' (default) or 'markdown' Returns: level='team': { updated, models_management, team: {models, count} } (updated=false when the diff is a no-op). level='project': { updated, models_management, projects: [{project_id, models, count}] }. Notes: - level='team' works for OAuth (human) sessions only: the API refuses API keys on the team endpoint ("API Keys cannot access protected resources"). API-key callers can use level='project', which requires the admin role on EVERY listed project (a single-project key can only edit its own project's list); one unauthorized project fails the whole request, nothing is updated. - In allowlist mode a project admin can only add models already in the team allowlist (a project list narrows the team catalog, never widens it). - Removing a base model from a team allowlist cascade-removes trained models built on it. - Team-level adds validate that the models exist; unknown IDs fail the whole call. Examples: - "Block model_xyz for the whole team" (blocklist mode) -> level="team", add_models=["model_xyz"] - "Make model_xyz available in these two projects" (allowlist mode) -> level="project", projects=["project_a", "project_b"], add_models=["model_xyz"] Don't use when: hiding or deleting one of your own custom models, use model_update / model_delete (catalog-only, run via scenario_tool_execute_write/delete).
open-world

Parameters

NameTypeRequiredDescription
team_idstringTeam ID. Required if user belongs to multiple teams.
levelenum(team | project)'team' edits the team-wide list (requires a team admin). 'project' edits per-project lists (team admin, or project admin of every listed project).
projectsarrayProject IDs to update (1-200). Required when level='project'.
add_modelsarrayModel IDs to add to the list. Provide exactly one of add_models or remove_models.
remove_modelsarrayModel IDs to remove from the list.
project_idstringTenant context for OAuth sessions only. The projects to change go in `projects`.
response_formatenum(json | markdown)jsonOutput format: 'json' for structured data, 'markdown' for human-readable text.