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

# Invite and manage team members

> Add colleagues to your Piksel account, assign them a role, and control which branches they can access — without sharing your login credentials.

Team members let you give other people access to your Piksel account without sharing your credentials. Each member has a role that determines what they can do, and you can restrict their access to specific branches so they only see the locations relevant to them.

## Invite a team member

<Steps>
  <Step title="Go to Team">
    From the dashboard sidebar, click **Team**. You'll see a list of everyone already invited to your account.
  </Step>

  <Step title="Click Invite member">
    Click **Invite member** to open the invitation form.
  </Step>

  <Step title="Enter their email address">
    Type the email address of the person you want to invite.

    <Note>
      You cannot invite the same email address twice. If the address already appears in your team list — whether their status is pending or active — the invitation will be blocked.
    </Note>
  </Step>

  <Step title="Assign a role">
    Choose a role for the new member:

    | Role            | Description                                                |
    | --------------- | ---------------------------------------------------------- |
    | **Viewer**      | Can view screens, media, and playlists. No editing access. |
    | **Other roles** | Additional roles may appear depending on your plan.        |
  </Step>

  <Step title="Select branch access">
    Choose which branches this member can access. Leave the selection empty to grant access to no branches, or select specific branches from the list. Members can only see content assigned to branches in their access list.
  </Step>

  <Step title="Send the invitation">
    Click **Send invite**. Piksel sends an invitation email to the address you entered. The member appears in your team list with a **Pending** status until they accept.
  </Step>
</Steps>

## Member status

| Status      | Meaning                                                                |
| ----------- | ---------------------------------------------------------------------- |
| **Pending** | The invitation email has been sent but the member hasn't accepted yet. |
| **Active**  | The member has accepted the invitation and can log in.                 |

## Update a member's role or branch access

<Steps>
  <Step title="Find the member">
    Go to **Team** and locate the member you want to update.
  </Step>

  <Step title="Open their settings">
    Click the member's name or the edit icon.
  </Step>

  <Step title="Change role or branches">
    Update the role, the branch access list, or both, then click **Save**. Changes take effect immediately.
  </Step>
</Steps>

<Tip>
  When your organization adds a new branch, remember to update branch access for any team members who should manage that location.
</Tip>

## Remove a team member

To remove someone's access, open their settings and click **Remove member**. They will no longer be able to log in or access any part of your account. This does not delete any content they may have managed.

<Warning>
  Removing a member is immediate. They will lose access the next time the dashboard checks their session.
</Warning>

## API reference

<AccordionGroup>
  <Accordion title="List team members — GET /api/team">
    Returns all team members for your account, ordered by invitation date (newest first).

    ```bash theme={null}
    GET /api/team
    ```
  </Accordion>

  <Accordion title="Invite a member — POST /api/team/invite">
    Sends an invitation email and creates a pending team member record.

    ```bash theme={null}
    POST /api/team/invite
    ```

    ```json theme={null}
    {
      "email": "colleague@example.com",
      "role": "viewer",
      "branch_ids": ["branch-uuid-1", "branch-uuid-2"]
    }
    ```

    Returns `400` if the email has already been invited.
  </Accordion>

  <Accordion title="Update a member — PUT /api/team/{id}">
    Updates the role, branch access list, or status of an existing team member.

    ```bash theme={null}
    PUT /api/team/{id}
    ```

    ```json theme={null}
    {
      "role": "viewer",
      "branch_ids": ["branch-uuid-1"]
    }
    ```
  </Accordion>

  <Accordion title="Remove a member — DELETE /api/team/{id}">
    Immediately revokes the member's access and removes them from your team list.

    ```bash theme={null}
    DELETE /api/team/{id}
    ```
  </Accordion>
</AccordionGroup>
