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

# Team and members

> Read your team and the people in it

## Team

```bash theme={null}
curl https://inboxapp.com/api/v2/team \
  -H "Authorization: Bearer $INBOX_API_TOKEN"
```

```json theme={null}
{
  "id": "hzcai5t59nn9vsck3rbuepyg",
  "name": "Acme Corp",
  "slug": "acme-corp",
  "imageUrl": null,
  "currency": "USD",
  "allowSupportAccess": false,
  "createdAt": "2026-01-12T09:30:00.000Z"
}
```

| Field | Notes |
| - | - |
| `slug` | The team's URL segment in Inboxapp |
| `currency` | The ISO 4217 code contact valuations are in |
| `allowSupportAccess` | Whether the team lets Inboxapp support open its workspace |

## Members

Members are the people on your team. Their IDs are what `assigneeId` fields take.

```bash theme={null}
curl https://inboxapp.com/api/v2/members \
  -H "Authorization: Bearer $INBOX_API_TOKEN"
```

```json theme={null}
{
  "data": [
    {
      "id": "r3km7xj9wq5p2bvnhfdteoly",
      "name": "Dana Whitfield",
      "email": "dana@acmecorp.com",
      "imageUrl": null,
      "role": "admin",
      "createdAt": "2026-01-12T09:30:00.000Z"
    }
  ],
  "nextCursor": null
}
```

| `role` | Can |
| - | - |
| `owner`, `admin` | Manage the team: settings, billing and members |
| `user` | Work conversations. No settings, billing or members |

Members are invited and removed in the Inboxapp app.

## Assign work

Assign one conversation on the thread, or every conversation with a person on the contact:

```bash theme={null}
curl -X PATCH "https://inboxapp.com/api/v2/threads/l44e15irdq4db30i77cgphhx" \
  -H "Authorization: Bearer $INBOX_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "assigneeId": "r3km7xj9wq5p2bvnhfdteoly" }'

curl -X PATCH "https://inboxapp.com/api/v2/contacts/nq2r8v5ycx1t7m4hj6kd3wzb" \
  -H "Authorization: Bearer $INBOX_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "assigneeId": "r3km7xj9wq5p2bvnhfdteoly" }'
```

A thread's `assigneeId` is its own, or else its contact's. Find unassigned work with `GET /threads?unassigned=true`.

### Round-robin

```typescript assign.ts theme={null}
const API = "https://inboxapp.com/api/v2";
const headers = {
  Authorization: `Bearer ${process.env.INBOX_API_TOKEN}`,
  "Content-Type": "application/json",
};

async function get(path: string) {
  const response = await fetch(`${API}${path}`, { headers });

  if (!response.ok) {
    const error = await response.json();
    throw new Error(`${error.code}: ${error.message} (${error.requestId})`);
  }

  return response.json();
}

async function assignUnassigned() {
  const { data: members } = await get("/members");
  const { data: threads } = await get("/threads?unassigned=true&limit=100");

  for (const [index, thread] of threads.entries()) {
    const member = members[index % members.length];

    await fetch(`${API}/threads/${thread.id}`, {
      method: "PATCH",
      headers,
      body: JSON.stringify({ assigneeId: member.id }),
    });
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.