# Organizations & teams

<div class="doc-callout doc-callout--info">
  <strong>Tip</strong>: If a feature looks "missing", check whether you're viewing a personal page or an organization page — plan, owner, and role all affect what you can do.
</div>

## Overview

**Organizations** let multiple users collaborate on **link pages** owned by the org rather than a single personal account. You assign roles so owners and admins manage members while contributors edit or view content according to policy.

Organizations require an **Agency-tier plan**.

## Roles at a glance

| Role | Create pages | Edit pages | Delete pages | Invite members | Manage members | API access | Analytics |
|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
| `OWNER` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| `ADMIN` | ✓ | ✓ | ✓ | ✓ | Partial | ✓ | ✓ |
| `MEMBER` | ✓ | ✓ | — | — | — | — | ✓ |
| `VIEWER` | — | — | — | — | — | — | ✓ |

**Notes:**
- `OWNER` is automatically set to the account that created the organization. There is one owner per org.
- `ADMIN` can invite members but cannot remove the `OWNER` or change their role.
- `MEMBER` can create and edit pages but cannot delete or manage team membership.
- `VIEWER` has read-only access; useful for clients or stakeholders who need to see analytics.

## How it works

1. The user who creates the org becomes `OWNER`
2. The owner invites people by email and assigns a role
3. Invites contain a **token** in the URL and expire after **7 days**
4. Accepted members appear in the org's member list

## Step-by-step

### Create an organization

1. In the dashboard, open **Organizations**
2. Click **Create organization** (only visible if your plan includes orgs)
3. Enter a **name** (required) and **description** (optional)
4. You become `OWNER` automatically

### Invite members

1. Open the organization → **Invite member**
2. Enter the invitee's email address
3. Assign a role: `MEMBER`, `VIEWER`, or `ADMIN`
4. Send the invite — an email is dispatched with an accept link

<div class="doc-callout doc-callout--caution">
  <strong>Invite limits</strong>: Plans cap both total active members and monthly invitations. Check your subscription for exact numbers. Invites count against your monthly quota even if the recipient doesn't accept.
</div>

### Accept an invitation

1. Click the link in the invitation email: `/invite/accept?token=...`
2. Sign in if not already authenticated
3. Confirm joining — you are redirected to **Dashboard → Organizations**

If the invitation link has expired (> 7 days), ask the `OWNER` or `ADMIN` to send a new one.

### Remove a member

`OWNER` and `ADMIN` can remove members from the org members list. Removed members immediately lose access to all org pages.

### Transfer ownership

To transfer `OWNER` role to another member:

1. The intended new owner must already be an `ADMIN` of the organization
2. Contact **[support](https://onlynk.me/demo)** to request an ownership transfer — self-serve transfer is not yet available in the dashboard

<div class="doc-callout doc-callout--caution">
  <strong>Important</strong>: Transferring ownership is irreversible from the dashboard. The current owner loses all owner-only privileges. Make sure the new owner is the correct account before requesting.
</div>

### Leave an organization

As a non-owner member:

1. Open **Organizations** → select the org
2. Use the **Leave organization** option in the member settings

If you are the `OWNER`, you cannot leave without first transferring ownership to another `ADMIN`.

## Switching between personal and org context

The dashboard shows either your **personal** workspace or an **organization** workspace depending on which you've selected. Look for the workspace switcher at the top of the dashboard. Pages created in an org context are owned by the org, not your personal account.

## API access in organizations

- The API key is tied to a **personal account**, not an org
- The stats endpoint respects org membership — if your account is a member of an org that owns a page, you can query that page's stats via API (subject to your role's API access permission)
- See **[API Authentication](https://docs.onlynk.me/api/authentication/)** and **[Endpoints reference](https://docs.onlynk.me/api/endpoints/)** for details

## FAQ

### "Invitation already sent to this email"

That email already has a **PENDING** invite for this organization (not yet accepted and not expired). Wait for it to expire (7 days) or contact support to revoke it early, then resend.

### The invitee says the link doesn't work

The invite token is single-use and expires after 7 days. If either condition applies, ask an `OWNER` or `ADMIN` to resend the invitation.

### Can I have the same person in multiple organizations?

Yes — a user can be a member of multiple organizations, each with a different role.

### A member can see a page they shouldn't

Check that the page is assigned to the correct owner (personal vs org). A page owned by an org is visible to all org members according to their role.

### What happens to org pages if the owner account is deleted?

This is an edge case — contact **[support](https://onlynk.me/demo)** immediately to reassign ownership before any account deletion.

### Can MEMBERs use the API?

No — API access requires `OWNER` or `ADMIN` role on the org, or the page must be owned by the user's personal account.

## Related

- **[Onboarding](https://docs.onlynk.me/onboarding/)** — Plan selection and first setup
- **[API Authentication](https://docs.onlynk.me/api/authentication/)** — How API keys relate to org access
- **[Create your first link page](https://docs.onlynk.me/create-your-first-link/)** — Choosing personal vs org ownership when creating a page