---
title: "Import external accounts for warming"
method: POST
path: "/v1/warming/import"
tags: ["Warming"]
---

# Import external accounts for warming

`POST /v1/warming/import`

## Request

- Base URL: `https://api.winnr.app`
- URL: `https://api.winnr.app/v1/warming/import`
- Auth: HTTP bearer

Import email accounts from external providers (Google Workspace, Microsoft 365, custom SMTP)
and immediately enable warming on them. Accounts are created in Firestore with `type: "external"`
and warming campaigns are set up in the provider.

Warming is billed at import time (see /v1/warming/enable): importable accounts are charged
a full month upfront before any are connected, net of unfulfilled credit — dashboard flows
that already charged via Stripe are not charged again. A payment failure returns 402 and
nothing is imported. Send batches of up to 5 accounts per request to avoid API Gateway timeout.

**Provider defaults** (auto-filled when provider is `google` or `microsoft`):
- Google: smtp.gmail.com:465, imap.gmail.com:993
- Microsoft: smtp.office365.com:587, outlook.office365.com:993
- SMTP: all host/port fields required from the request

## Request body

- object
  - `accounts` object[], required
    - `email` string, email, required
    - `name` string: Display name (auto-derived from email username if omitted)
    - `password` string, required: App password (Google/Microsoft) or SMTP password
    - `provider` 'google' | 'microsoft' | 'smtp', required
    - `smtp_host` string: Required for smtp provider
    - `smtp_port` integer: Required for smtp provider (e.g. 465 or 587)
    - `imap_host` string: Required for smtp provider
    - `imap_port` integer: Required for smtp provider (e.g. 993)
  - `warming_settings` object
    - `emails_per_day` integer
    - `rampup_speed` 'slow' | 'normal' | 'fast'

## Response `200`

Import results

- object
  - `meta` Meta
    - `request_id` string
    - `timestamp` string, date-time
  - `data` object
    - `results` object[]
      - `email` string
      - `status` 'imported' | 'duplicate' | 'error'
      - `user_id` string
      - `message` string
    - `imported` integer
    - `duplicates` integer
    - `errors` integer
    - `total` integer

---

[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)
