# Review workspace team role change

`provider_team.review_role_change`

Preview workspace team role change without changing access. Read provider_team.get for allowed_roles and current invitations. Replace an existing user's complete role list. An empty list removes access and dependent notification/default-assignment state. This review changes nothing and does not authorize the action. Show the returned effect, then follow the confirmation flow described by provider_team.set_roles.

[Team access guide](https://docs.levr.ai/mcp/resources/provider_team.md)

Availability depends on live discovery and your access to the record. Do not infer MCP calls from REST paths.

Operation: read. Required OAuth scopes: mcp.

## Input schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "email": {
      "format": "email",
      "type": "string"
    },
    "provider_slug": {
      "description": "Copy provider_slug from providers.list; named slugs are valid.",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "roles": {
      "description": "Complete replacement role list from allowed_roles in the current access read; [] removes access.",
      "items": {
        "type": "string"
      },
      "type": "array",
      "uniqueItems": true
    }
  },
  "required": [
    "provider_slug",
    "email",
    "roles"
  ],
  "type": "object"
}
```

## Output schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "oneOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "properties": {
        "ok": {
          "const": true
        }
      },
      "required": [
        "data"
      ]
    },
    {
      "not": {
        "required": [
          "data"
        ]
      },
      "properties": {
        "ok": {
          "const": false
        }
      },
      "required": [
        "error"
      ]
    }
  ],
  "properties": {
    "data": {
      "additionalProperties": false,
      "properties": {
        "action": {
          "type": "string"
        },
        "current_access": {
          "additionalProperties": false,
          "properties": {
            "allowed_roles": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "pending_invitations": {
              "items": {
                "additionalProperties": false,
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "roles": {
                    "description": "Complete replacement role list from allowed_roles in the current access read; [] removes access.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "sent_at": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "email",
                  "roles",
                  "sent_at"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "users": {
              "items": {
                "additionalProperties": false,
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "roles": {
                    "description": "Complete replacement role list from allowed_roles in the current access read; [] removes access.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "email",
                  "name",
                  "roles"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "workspace_id": {
              "description": "Stable public identifier for the referenced resource.",
              "maxLength": 255,
              "minLength": 1,
              "type": "string"
            },
            "workspace_kind": {
              "type": "string"
            }
          },
          "required": [
            "workspace_kind",
            "workspace_id",
            "allowed_roles",
            "users",
            "pending_invitations"
          ],
          "type": "object"
        },
        "effect": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "review_token": {
          "type": "string"
        },
        "role": {
          "description": "Copy an assignable role from the current access read’s allowed_roles.",
          "type": [
            "string",
            "null"
          ]
        },
        "roles": {
          "description": "Complete replacement role list from allowed_roles in the current access read; [] removes access.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "action",
        "email",
        "role",
        "roles",
        "current_access",
        "effect",
        "review_token"
      ],
      "type": "object"
    },
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "additionalProperties": true,
          "description": "Optional bounded, agent-safe correction or recovery facts.",
          "type": "object"
        },
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "message",
        "retryable"
      ],
      "type": "object"
    },
    "meta": {
      "additionalProperties": false,
      "properties": {
        "request_id": {
          "type": "string"
        }
      },
      "required": [
        "request_id"
      ],
      "type": "object"
    },
    "ok": {
      "description": "Whether the tool completed successfully.",
      "type": "boolean"
    }
  },
  "required": [
    "ok",
    "meta"
  ],
  "type": "object"
}
```
