---
title: "List email providers"
method: GET
path: "/email-providers"
tags: ["Email providers"]
---

# List email providers

`GET /email-providers`

## Request

- Base URL: `https://api.emelia.io`
- URL: `https://api.emelia.io/email-providers`
- Auth: API key in header `Authorization`

All sending mailboxes of the account with the campaigns that use them. Passwords are masked. No pagination. Their `_id` is what you put in `identities[].email` of a campaign.

## Query parameters

- `filter` 'disconnected'

## Response `200`

Success.

- object
  - `success` unknown
  - `providers` EmailProvider[]
    - `_id` string: MongoDB ObjectId: 24 hexadecimal characters.
    - `userId` string: MongoDB ObjectId: 24 hexadecimal characters.
    - `senderName` string
    - `senderEmail` string
    - `senderPassword` '********'
    - `emailType` 'GOOGLE' | 'OFFICE' | 'EXCHANGE' | 'SMTP' | 'GOOGLEIMAP'
    - `smtp` object
      - `login` string
      - `password` '********'
      - `server` string
      - `port` integer
      - `ssl` boolean
    - `imap` object
      - `login` string
      - `password` '********'
      - `server` string
      - `port` integer
      - `ssl` boolean
    - `customDomain` object: Custom tracking domain, when set.
      - `_id` string: MongoDB ObjectId: 24 hexadecimal characters.
      - `domainName` string
      - `status` string
      - `dateAdded` string, date-time
    - `signature` string: MongoDB ObjectId: 24 hexadecimal characters.
    - `warmup` string: MongoDB ObjectId: 24 hexadecimal characters.
    - `health` string: MongoDB ObjectId: 24 hexadecimal characters.
    - `disabled` boolean: True when the paid slot of the mailbox expired.
    - `disconnected` boolean: True when the credentials or the OAuth grant stopped working: reconnect the mailbox.
    - `campaigns` object[]: Non archived campaigns using this mailbox.
      - `_id` string
      - `name` string
      - `status` string
      - `type` 'EMAIL' | 'LINKEDIN' | 'MULTICANAL'

## Other responses

- `400`: Invalid request or business error (the API also uses 400 for "not found").
- `401`: Missing, malformed, unknown or disabled API key. The key must be exactly 48 characters, otherwise it is treated as a session token and rejected the same way.
- `500`: Unexpected error. IMPORTANT: this is also what you receive today when the per minute quota of your account is exceeded (the quota error is not mapped to 429 for API keys). No `Retry-After` header is sent. Wait until the next minute window before retrying.

---

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