---
title: "List email users for domain"
method: GET
path: "/v1/domains/{domain_id}/email-users"
tags: ["Domains"]
---

# List email users for domain

`GET /v1/domains/{domain_id}/email-users`

## Request

- Base URL: `https://api.winnr.app`
- URL: `https://api.winnr.app/v1/domains/{domain_id}/email-users`
- Auth: HTTP bearer

Get all email users associated with a specific domain, addressed here
by its domain **id** (path parameter).

Returns the same full `EmailUser` objects as `GET /v1/email-users`,
including `smtp_host`/`smtp_port` and `imap_host`/`imap_port`.

`GET /v1/email-users?filter[domain]={name}` is the equivalent call when
you have the domain name rather than its id.

## Path parameters

- `domain_id` string, required

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

List of email users

- EmailUserListResponse
  - `data` EmailUser[]
    - `id` string: Firestore document ID for the email user.
    - `username` string: Local part of the email address (before the `@`).
    - `domain` string: Domain string (after the `@`).
    - `full_address` string, email: Full email address (`{username}@{domain}`). Use this when sending mail.
    - `name` string, nullable: Display name (used in the From header).
    - `status` 'active' | 'paused' | 'disabled': Mailbox lifecycle state. - `active` — mailbox is provisioned and warming/sending normally. - `paused` — warming temporarily paused; mailbox still exists. - `disabled` — mailbox is disabled (e.g. plan past-due, account hold).
    - `type` string, nullable: Mailbox type (e.g. `cold_email`, `prewarmed`). Null for legacy mailboxes.
    - `daily_send_limit` integer, nullable: Per-mailbox daily send cap, if configured.
    - `footer` string, nullable: HTML footer appended to outbound mail, if configured.
    - `imap_host` string, nullable: IMAP server hostname for this mailbox. Domains are distributed across multiple mail servers, so this is resolved per-mailbox — always connect to the host returned here, never a fixed hostname. Uses implicit TLS on `imap_port`. For workspace (Gmail) mailboxes this is `imap.gmail.com`.
    - `imap_port` integer: IMAP port (implicit TLS). Currently `993`.
    - `smtp_host` string, nullable: SMTP submission hostname for this mailbox, resolved per-mailbox (see `imap_host`). Uses implicit TLS on `smtp_port`. For workspace (Gmail) mailboxes this is `smtp.gmail.com`.
    - `smtp_port` integer: SMTP submission port (implicit TLS). Currently `465`.
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable
  - `pagination` Pagination: Pagination metadata. Cursor-based endpoints (e.g. `/v1/domains`, `/v1/email-users`, `/v1/inbox`, `/v1/email-users/{id}/inbox`) populate `has_more` and `cursor`. Offset-based endpoints (e.g. `/v1/warming`) populate `page`, `per_page`, and `total`. `count` (number of items in the current page) is included where available.
    - `has_more` boolean: Whether more pages exist after this one (cursor-based endpoints).
    - `cursor` string, nullable: Opaque cursor to pass as `?cursor=…` for the next page.
    - `count` integer: Number of items returned in this response.
    - `total` integer: Total number of items across all pages (offset-based endpoints).
    - `page` integer: 1-based page number (offset-based endpoints).
    - `per_page` integer: Items per page (offset-based endpoints).
  - `meta` Meta
    - `request_id` string
    - `timestamp` string, date-time

## Other responses

- `401`: Authentication required or token invalid
- `404`: Resource not found

---

[API](https://skmtc.dev/winnr/apis/winnr-api.md) · [All operations](https://skmtc.dev/winnr/apis/winnr-api/llms.txt) · [OpenAPI document](https://skmtc.dev/winnr/apis/winnr-api/revisions/a4f960beb1eb?raw)
