---
title: "Create a new email account (sending inbox)"
method: POST
path: "/v3/user-api/accounts"
tags: ["Email Accounts"]
---

# Create a new email account (sending inbox)

`POST /v3/user-api/accounts`

## Request

- Base URL: `https://api.nureply.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.nureply.com/v3/user-api/accounts`
- Auth: none declared. Required headers: `x-personal-api-key`

**IMPORTANT - TWO-STEP VALIDATION PROCESS:**

1. **Connection Test (SMTP/IMAP)** - Runs FIRST before creating the account. If this fails, the account is NOT created.
2. **Delivery Test (SPF/DKIM/DMARC)** - Runs automatically in the background AFTER account creation via EmailEngine webhook.

**Flow:**
• Your request → Connection test (SMTP/IMAP verification)
• If connection fails → Error returned, account NOT created
• If connection passes → Account created in database
• Account registered with EmailEngine → Triggers automatic delivery test
• Poll GET /user-api/email-accounts/:id to monitor delivery test progress
• Look for accountStatus="ready" AND sendingStatus="ready" to confirm fully operational

**Expected Response Time:** Connection test: 5-10 seconds. Delivery test: 30-60 seconds (runs in background).

## Headers

- `x-personal-api-key` string, required

## Request body

- CreateEmailAccountApiDto
  - `address` string, email, required: Email address of the account
  - `password` string, required: Email account password (used for both IMAP and SMTP)
  - `smtpPassword` string: SMTP password (if different from main password). Required if smtpUsername is provided.
  - `smtpUsername` string: SMTP username (if different from email address). Optional.
  - `imapServer` string, required: IMAP server hostname
  - `imapPort` integer, required: IMAP port number (common: 993 for SSL, 143 for TLS)
  - `smtpServer` string, required: SMTP server hostname
  - `smtpPort` integer, required: SMTP port number (common: 465 for SSL, 587 for TLS, 25 for plain)
  - `senderName` string, required: Display name that appears in the "From" field of sent emails
  - `trackingDomain` string: Custom tracking domain for email opens/clicks. Must be configured with CNAME.
  - `security` 'TLS' | 'STARTTLS': Security protocol for connections
  - `dailySendingLimit` integer: Maximum number of emails this account can send per day
  - `signature` string: Email signature to append to all outgoing emails
  - `maximumWarmUpPerDay` integer: Maximum warmup emails to send per day
  - `minimumWarmUpStartEmails` integer: Starting number of warmup emails on day 1
  - `warmUpStableDays` integer: Days to reach maximum warmup volume
  - `enableWarmup` boolean: Whether to enable warmup for this account
  - `tags` string[]: Tags for organizing accounts

## Response `201`

- CreateEmailAccountResponseDto
  - `message` string, required
  - `data` CreateEmailAccountDataDto, required
    - `_id` string, required
    - `address` string, required
    - `senderName` string, required
    - `imapServer` string
    - `imapPort` number
    - `smtpServer` string
    - `smtpPort` number
    - `security` string
    - `dailySendingLimit` number, required
    - `dailySendingLimitRemaining` number, required
    - `emailsSentToday` number
    - `trackingDomain` string
    - `trackingDomainStatus` string
    - `accountStatus` string, required
    - `sendingStatus` string, required
    - `accountHealth` number, required
    - `warmUpDetails` WarmupDetailsDto, required
      - `isEnabled` boolean, required
      - `maximumWarmUpPerDay` number
      - `minimumWarmUpStartEmails` number
      - `warmUpStableDays` number
      - `warmUpPerDayRemaining` number
      - `warmUpStartDate` string
    - `dkimDetails` DnsRecordDetailsDto
      - `status` string, required
      - `message` string, required
    - `spfDetails` DnsRecordDetailsDto
      - `status` string, required
      - `message` string, required
    - `dmarcDetails` DnsRecordDetailsDto
      - `status` string, required
      - `message` string, required
    - `tags` string[]
    - `signature` string
    - `isDisabled` boolean
    - `createdAt` string, required
    - `updatedAt` string
    - `id` string, required
    - `connectionTest` TestStatusDto, required
      - `status` string, required
      - `message` string, required
      - `imapVerified` boolean
      - `smtpVerified` boolean
    - `deliveryTest` DeliveryTestStatusDto, required
      - `status` string, required
      - `message` string, required
      - `instructions` DeliveryTestInstructionsDto, required
        - `step1` string, required
        - `step2` string, required
        - `step3` string, required
        - `step4` string, required
      - `expectedDuration` string, required

## Other responses

- `400`
- `401`
- `409`

---

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