---
title: "Connect an SMTP/IMAP sender email"
method: POST
path: "/sender-emails"
tags: ["Sender Emails"]
---

# Connect an SMTP/IMAP sender email

`POST /sender-emails`

## Request

- Base URL: `https://api.emailchaser.com/r`
- URL: `https://api.emailchaser.com/r/sender-emails`
- Auth: HTTP bearer

Connects an SMTP/IMAP mailbox to the workspace using an app password, with no browser step. Google and Microsoft mailboxes are not supported here because both require an interactive consent screen; connect those in the app. The address must be a business domain.

## Request body

- ModelsConnectSenderEmailRequest
  - `email` string, required
  - `firstName` string
  - `imapServerUrl` string, required: ImapServerUrl and SmtpServerUrl accept the provider's host, optionally with a port, for example "imap.fastmail.com:993".
  - `lastName` string
  - `loginString` string: LoginString defaults to the email address when omitted, which is what most providers expect.
  - `password` string, required
  - `smtpServerUrl` string, required

## Response `201`

Sender email connected successfully

- ModelsConnectSenderEmailResponse
  - `message` string
  - `senderEmail` ModelsSenderEmailResponse
    - `address` string
    - `campaignIds` integer[]
    - `connectionHistory` ModelsConnectionHistoryItem[]: The account's last 20 connection events, newest first. Null in the response to PUT /sender-emails/{id}.
      - `campaignId` integer
      - `createdAt` string
      - `disconnectionReason` string
      - `errorCode` string
      - `errorMessage` string
      - `eventType` string
      - `id` integer
      - `userId` integer
    - `createdAt` string
    - `currentDailyLimit` integer
    - `errorCode` string
    - `errorMessage` string
    - `familyName` string
    - `givenName` string
    - `healthScore` integer: Health score 0-100, higher is better: the share of this account's warm-up emails over the last 7 full days that landed in the inbox rather than spam; 90+ is the app's bar for campaigns. It moves daily as warm-up emails land in the inbox (up) or in spam (down). Null while warm-up is off or before 20 warm-up emails were checked. The same number the app shows as the account's health score.
    - `id` integer
    - `isConnected` boolean
    - `lastDisconnectedAt` string
    - `lastReconnectedAt` string
    - `manuallyDisconnected` boolean
    - `maximumSendingsLimitPerDay` integer
    - `minimumSendingsLimitPerDay` integer
    - `pictureUrl` string
    - `provider` string
    - `provisioningStatus` string
    - `signature` string
    - `toggleGradualBuildUp` boolean
    - `updatedAt` string

## Other responses

- `400`: Invalid request body or non-business email address
- `401`: Unauthorized - invalid or missing API key
- `402`: Plan does not allow another sender email
- `409`: Email already connected to another workspace
- `500`: Failed to connect sender email
- `502`: Mail provider rejected the credentials

---

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