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

# Members & Roles

> Invite collaborators, assign custom roles, and manage member permissions in your organization.

KeyPort uses a two-tier membership model: every organization has one **owner**, and all other members hold a **custom role** you define.

## Role types

| Role    | Description                                                                                            |
| ------- | ------------------------------------------------------------------------------------------------------ |
| `owner` | Full access to all organization settings, billing, members, and data. Only one owner per organization. |
| custom  | Any non-owner member. Access is determined entirely by the permission codes assigned to their role.    |

## Custom roles

Before you can invite a collaborator, you need at least one custom role. Create roles under **Settings > Roles**.

A custom role is a named bundle of permission codes. Available permissions include:

| Permission code      | What it grants                            |
| -------------------- | ----------------------------------------- |
| `products:view`      | View products and their settings          |
| `licenses:create`    | Create new licenses                       |
| `licenses:reset_ips` | Reset IP history on a license             |
| `webhooks:manage`    | Configure webhook endpoints               |
| `members:invite`     | Invite new members to the organization    |
| `roles:edit`         | Create and modify custom roles            |
| `billing:view`       | View billing information and plan details |
| `audit_log:view`     | View the organization audit log           |

Assign whichever combination of codes reflects the access level you want that role to have.

## Invite a member

<Steps>
  <Step title="Create a custom role (if needed)">
    Go to **Settings > Roles** and create a role with the appropriate permissions. You must have at least one custom role before sending an invite.
  </Step>

  <Step title="Open Members settings">
    Go to **Settings > Members** and click **Invite member**.
  </Step>

  <Step title="Enter their email and assign a role">
    Enter the invitee's email address and select the custom role they should receive. Each invitee is assigned exactly one custom role at invite time.
  </Step>

  <Step title="Send the invite">
    Click **Send invite**. The invitee receives an email with a link to accept. Once accepted, they appear in the Members list.
  </Step>
</Steps>

## Remove a member

Go to **Settings > Members**, find the member, and click **Remove**. Their access is revoked immediately. The owner cannot be removed through this flow — transfer ownership first if needed.

## Member limits

| Plan       | Members per organization |
| ---------- | ------------------------ |
| Free       | `1`                      |
| Pro        | `15`                     |
| Enterprise | override or unlimited    |

<Info>
  The Free plan includes only the owner. Upgrade to Pro to invite collaborators.
</Info>
