---
title: "List a user's email inboxes"
method: GET
path: "/api/users/{userId}/inboxes"
tags: ["Users"]
---

# List a user's email inboxes

`GET /api/users/{userId}/inboxes`

## Request

- Base URL: `https://core-api.getaptly.com`
- URL: `https://core-api.getaptly.com/api/users/{userId}/inboxes`
- Auth: one of:
  - API key in header `x-token`
  - API key in header `Authorization`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/getaptly/apis/aptly-api/docs/api/users/:userId/inboxes/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the email inboxes (Hermes/Nylas channels) accessible to the given user
within your company. Includes personal inboxes (where the user is a direct member)
and shared inboxes the user can access via team membership.

Each inbox is tagged `kind: "personal"` (`isShared` is false and the user is in the
channel's `userIds`) or `kind: "shared"` (channel marked `isShared`, or accessible
only through a team membership).

The user must belong to the company associated with your API key. Returns `401` if
the user does not belong to your company.

## Path parameters

- `userId` string, required

## Response `200`

List of inboxes accessible to the user.

- object
  - `data` object[]
    - `_id` string: Channel document ID.
    - `channelId` string, nullable: External channel meta ID (`meta.id`).
    - `type` string: Channel transport type: `Hermes` or `Nylas`.
    - `provider` string, nullable: Upstream provider, e.g. `google`, `office365`.
    - `email` string, nullable: Email address of the inbox.
    - `name` string, nullable: Display name of the inbox.
    - `kind` 'personal' | 'shared': Whether the user has personal or shared access.

## Other responses

- `401`: Invalid or missing API key, or user does not belong to your company.

---

[API](https://skmtc.dev/getaptly/apis/aptly-api.md) - [All operations](https://skmtc.dev/getaptly/apis/aptly-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getaptly/apis/aptly-api/revisions/75c367e0b8e5?raw)
