Stage past jobs or customers for a reactivation campaign
Push a batch of up to 500 completed jobs (or customers). Mailr geocodes every address and stages the batch — nothing is mailed and no campaign is created. The campaign wizard reads the staged batch later, in the exact shape a CSV upload produces.
Geocoding happens before any write, so a geocoder outage never leaves a
half-written batch and never burns a daily slot. Rows with no address are
skipped (not an error); rows that fail geocoding are staged as
geocode_failed. Duplicate addresses within a batch are allowed and
geocoded independently — the wizard’s selection step is where an operator
prunes.
Limits: at most 500 rows per request, a 1 MB request body, and 10 batches per org per UTC day.
Retries are replay-safe: send an Idempotency-Key header and a repeat
with the same key returns the existing batch (200, not 201) instead of
staging a new one, without re-geocoding or spending a daily slot. A
retry that lands while the original request is still processing gets a
409 import_in_progress (with Retry-After) — keep retrying with the
same key until the finished batch comes back. Keyless imports never
dedup — addresses are never deduplicated either way.
Authorizations
Organization-scoped Mailr API key. Header: Authorization: Bearer ak_….
Headers
Optional replay key. A retry carrying a key already seen returns the existing batch and its stored counts (200, not 201) without re-geocoding or spending a daily slot — or 409 while the original request is still processing. Over 255 chars → 422. Keyless imports never dedup.
255Body
Response
Replay of a prior Idempotency-Key — the existing batch and its
stored counts are returned (nothing new was created).