> ## Documentation Index
> Fetch the complete documentation index at: https://docs.salessequencer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Workspaces and roles

> What a key can see and do, and how x-min-role and x-destructive work.

## Workspaces

A workspace holds its own mailboxes, campaigns, leads, replies and team. Nothing is shared between workspaces. An API key belongs to exactly one workspace, and every call works inside it.

## Roles

Each member of a workspace has one role:

| Role | Can do |
| - | - |
| `view` | Read everything in the workspace. Change their own profile. |
| `edit` | Everything `view` can, plus create and run campaigns, manage leads, mailboxes and warmup, and work the inbox. |
| `admin` | Everything `edit` can, plus manage the team, API keys, webhooks and workspace settings. |

A few platform-wide actions (creating workspaces, connecting a whole Microsoft tenant) need `superadmin`, which isn't a workspace role.

## A key acts as its creator

Every call runs as the user who created the key, with that user's current role, in the key's workspace. If you lower someone's role, their keys lose the same powers right away.

## `x-min-role`

Every operation in the [OpenAPI spec](https://docs.salessequencer.com/openapi.json) has `x-min-role`: the lowest role that can call it. It's also shown at the bottom of each endpoint's description in the API reference. A key whose creator has a lower role gets `403`.

```json theme={null}
"/campaigns/{campaign_id}/launch": {
  "post": { "summary": "Launch a campaign", "x-min-role": "edit", "x-destructive": true }
}
```

`POST /campaigns/{campaign_id}/leads/csv` is the exception: any valid key for the workspace can call it, whatever the creator's role.

## Destructive calls

`x-destructive: true` marks calls that send real email or delete things, and can't be undone from the API. For example:

* `POST /campaigns/{campaign_id}/launch` starts sending to real leads.
* `POST /inbox/thread/{thread_id}/reply` and `/forward` send an email.
* `POST /mailboxes/{mailbox_id}/delete` removes a mailbox.
* `POST /testing/send` and `/placement/run` send test emails.

If you're building an agent or automation, have it confirm before any of these.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.