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).
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. 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 metadataGET /{org}— returns org details by slug
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 |
Members
View and manage members from the Members page in the dashboard sidebar.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

