---
title: "Filter email accounts"
method: POST
path: "/v3/email-accounts/filter"
tags: ["Email Accounts"]
---

# Filter email accounts

`POST /v3/email-accounts/filter`

<small>_Requires the `channels:read` scope (or a broader one that includes it)._</small>

Returns a paginated list of email accounts matching the provided filter criteria.
In Public or Organization mode, results include all team members' accounts. Use `ownerUserIds` filter to restrict by specific users.
When no accounts match the filter, the response contains an empty `items` array with `hasMore: false` — this is normal behavior, not an error.

## Query parameters

- `top` integer
- `skip` integer

## Request body

- object — Filter criteria for searching email accounts. All provided filters are combined with AND logic — an account must match every specified filter to be included. Omitted (null) filters are ignored.
  - `status` 'connected' | 'disconnected' | 'unknown', nullable — Filter by connection status (case-insensitive, exact match). Allowed values: connected, disconnected, unknown
  - `emailAccountType` string, nullable — Filter by email account provider type (case-insensitive, exact match). Allowed values: Custom, Gmail, Outlook, Exchange, ExchangeOnPremise
  - `email` string, nullable — Filter by email address (exact match, case-insensitive)
  - `domains` string[], nullable — Filter by email domains (suffix match on the email address). Multiple domains are combined with OR logic — matches any of the provided domains.
  - `ownerUserIds` integer[], nullable — Filter by owner user IDs (matches any of the provided IDs)
  - `tags` string[], nullable — Filter by tag names (case-insensitive, matches any of the provided tags)

## Response `200`

Paginated list of matching email accounts

- object
  - `items` object[]
    - `id` integer — Unique identifier for the email account
    - `ownerUserId` integer — ID of the user who owns this email account
    - `email` string, email — The email address
    - `senderName` string — The name displayed as sender in recipient inboxes
    - `emailAccountType` 'custom' | 'gmail' | 'outlook' | 'exchange' | 'exchangeOnPremise' — Provider type of the email account. Values: custom, gmail, outlook, exchange, exchangeOnPremise
    - `isDefault` boolean — Whether this is the user's default email account
    - `dailyLimit` integer — Maximum number of emails that can be sent per day
    - `connectionStatus` 'unknown' | 'connected' | 'disconnected' — Current connection status of the email account. Values: unknown, connected, disconnected
    - `tags` string[] — Tag names associated with this email account
  - `hasMore` boolean — Whether more items are available beyond the current page

## Other responses

- `400` — Invalid pagination parameters
- `401` — Unauthorized. The response body is empty; check the `WWW-Authenticate` header for the expected scheme.
- `403` — User lacks required feature scope to view email accounts
- `429` — Too Many Requests

---

[API](https://skmtc.dev/reply/apis/reply-api.md) · [All operations](https://skmtc.dev/reply/apis/reply-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/reply/reply-api/revisions/1c3d32eaf95e/schema)
