sender/post
Tool: create
Create a new sender (email account).
Creates a new sender identity that campaigns can use to send email. Returns the created sender object on 201. See schemas/sender for all response fields.
Creation is accepted without verifying connectivity. SMTP/IMAP credentials are not tested at create time — bad or unreachable credentials still return
201withdisconnected: false. A 201 only means the record saved — validation runs async. Re-read the sender after ~15 s: it is healthy only when disconnected is false AND recent_error_count is 0. A fresh row in sender/errors_by_id is the authoritative bad-credentials signal and can land within seconds (3–8 s observed), but an empty error list read before that wait has elapsed proves nothing — wait and re-check rather than reporting the sender connected.recent_error_counton this response (and onsender/get_by_id) reports that count without a separate call. See schemas/sender for connection state semantics.
replyTocaveat: if set, Unibox will not catch replies unless the reply-to address is also connected as a sender.
Body
| field | type | req | constraints | description |
|---|---|---|---|---|
| string | ✓ | ≤100 chars | Sender email address | |
| dailyLimit | integer | ✓ | 1–10000 | Max emails per day |
| customSmtpServer | string | ✓ | ≤128 chars | SMTP hostname |
| customSmtpPort | integer | ✓ | SMTP port | |
| customSmtpPass | string | ✓ | ≤256 chars | SMTP password — Google shows app passwords in four space-separated groups; submit it without the spaces |
| customImapServer | string | ✓ | ≤128 chars | IMAP hostname |
| customImapPort | integer | ✓ | 1–65535 | IMAP port (typically 993 for SSL/TLS) |
| customImapPass | string | ✓ | ≤256 chars | IMAP password |
| folder | string | – | ≤64 chars | Organizational folder |
| fromName | string | – | ≤128 chars | Display name in outgoing emails |
| replyTo | string | – | ≤128 chars | Reply-to address |
| firstName | string | – | ≤128 chars | Sender first name (personalization) |
| lastName | string | – | ≤128 chars | Sender last name (personalization) |
| signature | string | – | HTML email signature | |
| trackingDomain | string | – | ≤256 chars | Custom domain for open/click tracking |
| delayMinMinutes | integer | – | Min gap between consecutive sends from this mailbox — minutes, not seconds; default 10. The campaign-level gap is delayMinSeconds, in seconds |
|
| dailyLimitIncrease | boolean | – | Enable progressive daily limit ramp | |
| dailyLimitIncreaseToMax | integer | – | Target max for progressive ramp | |
| dailyLimitIncreasePercent | integer | – | Daily % increase for progressive ramp (1–100) | |
| warmup | boolean | – | default false | Enable warmup |
| warmupDailyLimitIncrease | boolean | – | Progressive limit increase during warmup | |
| warmupDailyLimitIncreaseToMax | integer | – | 0–10000 | Target max during warmup ramp |
| warmupDailyLimitIncreasePercent | integer | – | 0–10000 | Daily % increase during warmup |
| warmupDailyLimit | integer | – | Initial daily limit at warmup start (default 10) | |
| warmupReplyPercent | integer | – | % of warmup emails receiving automated replies (1–100) | |
| warmupSkipWeekends | boolean | – | Skip warmup sends on Saturday/Sunday | |
| customWarmupTag | string | – | ≤64 chars | Tag applied to warmup emails |
| customSmtpUsername | string | – | ≤256 chars | SMTP username (if different from email) |
| customImapUsername | string | – | ≤128 chars | IMAP username (if different from email) |
| senderCustom1–10 | string | – | ≤4000 chars each | Custom fields 1–10 |
Response
201 — Created sender object: see schemas/sender. Deltas: none.
Errors: 400, 401, 406, 409, 415, 422, 429, 500 — shared schema: schemas/errors.
Invoke
Call create with name: "sender/post".