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

# Organizations

> Manage organizations and team membership in Mesa.

Everything in Mesa lives inside an organization. Repositories, API keys, webhooks, and members are all scoped to a single org. You can belong to multiple orgs and switch between them from the dashboard.

## Organizations

An organization has a **display name** and a **slug**. The slug is the URL-friendly identifier used in API paths and git URLs (e.g. `api.mesa.dev/{slug}/repo`).

<Frame>
  <video autoPlay muted loop playsInline>
    <source src="https://mintcdn.com/mesa/7v4rqcb7deft4Fjd/assets/org-docs-menu.webm?fit=max&auto=format&n=7v4rqcb7deft4Fjd&q=85&s=687313deb5b91b13294f1e72b31a8955" type="video/webm" data-path="assets/org-docs-menu.webm" />
  </video>
</Frame>

### Creating an organization

Your first organization is created during sign-up, or you join one by accepting an invitation. If you haven't done this yet, see [Quickstart](/content/getting-started/quickstart).

To create additional organizations, use the org switcher dropdown in the dashboard sidebar. The creator automatically becomes the **owner**.

Slug rules:

* Lowercase letters, numbers, and hyphens only
* Cannot start or end with a hyphen
* Must be unique across all Mesa orgs

### Organization settings

From **Settings** in the sidebar you can update the display name and see org-level stats (members, repositories, API tokens).

### Deleting an organization

Only **owners** can delete an organization. Deletion is permanent and cascades to all repositories, API keys, members, and invitations.

### API access

Organization identity is available via the API:

* `GET /whoami` — returns the org tied to the calling API key, effective scopes, and key metadata
* `GET /{org}` — returns org details by slug

Both require the `read` scope. All other org management (create, update, delete) is dashboard-only.

## Roles

Every member has a role that determines what they can do within the org.

|                                            | Owner                    | Admin                    | Member                        |
| ------------------------------------------ | ------------------------ | ------------------------ | ----------------------------- |
| **Create, update, delete repos**           | Yes                      | Yes                      | Yes                           |
| **Push, create bookmarks, create changes** | Yes                      | Yes                      | Yes                           |
| **Clone, fetch, read content**             | Yes                      | Yes                      | Yes                           |
| **Create API keys**                        | Yes, up to `admin` scope | Yes, up to `admin` scope | Yes, up to `write` scope only |
| **Manage webhooks**                        | Yes                      | Yes                      | No                            |
| **Invite and remove members**              | Yes                      | Yes                      | No                            |
| **View member list**                       | Yes                      | Yes                      | Yes                           |
| **Update org name and slug**               | Yes                      | Yes                      | No                            |
| **Delete org**                             | Yes                      | No                       | No                            |

Roles are assigned when a member is invited. There is no way to change a member's role after they join — remove and re-invite with the correct role instead.

## Members

View and manage members from the **Members** page in the dashboard sidebar.

<Frame>
  <video autoPlay muted loop playsInline>
    <source src="https://mintcdn.com/mesa/7v4rqcb7deft4Fjd/assets/org-docs-member.webm?fit=max&auto=format&n=7v4rqcb7deft4Fjd&q=85&s=cf39ff367a66a74f5d0e1332a79f58d6" type="video/webm" data-path="assets/org-docs-member.webm" />
  </video>
</Frame>

### Inviting members

Click **Invite member** to send an email invitation. You choose the role (`member` or `admin`) at invite time. Inviting requires the `admin` role.

* Invitations expire after **48 hours**
* Re-inviting the same email refreshes the existing invitation
* The invitee must use the same email address to accept

### Pending invitations

Pending invitations appear below the member list. Admins and owners can cancel a pending invitation from the overflow menu.

### Removing members

Admins and owners can remove members. The org owner cannot be removed.
