Skip to main content
PATCH
Retry Inbox Warmup
CLI:

Overview

Retry path for inboxes whose initial warmup-enable call failed after the DB row was already written. The route:
  1. Loads the account and verifies ownership (plus pulls its linked email_domains row for context).
  2. Gates on status: "pending" AND warmup_status: "not_started" — any other combination returns 409.
  3. Calls the warmup enablement path (idempotent; already-warming emails are accepted as success).
  4. Transitions the row to status: "warming" / warmup_status: "warming" via compare-and-swap, so concurrent retries can’t double-apply.

AI agent notes

Warmup is a multi-day process. A successful retry only moves the account into warming — it still has to accrue reputation over ~2–3 weeks before it graduates to active and can send. Track progress via getWarmupAnalytics.Idempotent. If warmup was already running from a prior partial attempt, the retry still returns 200 and transitions the DB row forward. Safe to call until success.Gate carefully. Retry is only valid when status === "pending" AND warmup_status === "not_started". If the account already warmed up, banned out, or graduated to active, this endpoint returns 409 — use getWarmupAnalytics to read current state instead.Status-vs-502 split.
  • 502 means the warmup provider rejected the call — try again after a short backoff.
  • 500 with the message “Warmup was enabled but failed to update account status” means the provider accepted but our DB write failed. Safe to retry immediately; a second warmup call is a no-op.
Chains with: getWarmupAnalytics to watch reputation climb; launchCampaign once status === "active".

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

Supabase UUID of the email account. Must be owned by the caller and currently in status: pending + warmup_status: not_started.

Minimum string length: 1

Response

Warmup re-enabled. Returns the refreshed account row.

account
object
required

Account row after the retry. On success, status is warming and warmup_status is warming.