Create Plan
POST /mailboxes/schedule-buy/plans
Create and LOCK a buying plan. PLACES REAL CREDIT HOLDS IMMEDIATELY.
Locking reserves credits for the WHOLE plan up front - one hold per batch,
up to two hundred of them - even though the domains are bought a batch a
day afterwards. The credits are gone from your spendable balance the
moment this returns. total_credits_held in the response is the figure.
Org admins and owners only, and only for an org on a paid or pre-funded
plan. 402 if the balance cannot cover the plan, 429 if the org has locked
more than five plans this hour, 400 for an unsupported extension or an
empty plan. With reuse_domains, 409 when a domain’s mailbox count changed
(or it filled up) while the plan was locking: nothing stays held, re-read
the domains and lock again.
At least one persona_ids entry is required. Manual registrants /
mailbox_aliases are not accepted for new plans. idle_mailboxes_snapshot
is your own count, used to detect drift - the server recomputes it and
returns its own as server_idle_mailboxes.
Send an Idempotency-Key header. A retried lock without one places a
second full set of holds.
Authorizations
Parameters
Header Parameters
Request Body required
Create and LOCK a staggered buying plan. PLACES REAL CREDIT HOLDS.
Mirrors the app’s CreatePlanRequest field for field, including the
rule that new plans require persona_ids. Manual registrants /
mailbox_aliases are still parsed so a legacy payload 422s here
rather than inside the proxy.
object
Sends per mailbox per day
Extension to buy, e.g. ‘.com’
Domains bought per daily batch
Google Workspace share of the plan when platform=‘mixed’
Idle mailboxes you already hold, from /suggest
Not accepted for new plans. Use persona_ids.
object
Mailboxes bought on each domain
Mailbox platform to buy on. ‘mixed’ spreads domain-units by google_share_pct
Not accepted for new plans. Use persona_ids.
object
Sending days assumed per month
Contacts you intend to reach per month
Hold and spend the premium-pool warmup credit (350/mailbox). False buys with no warmup
Warmup engine the bought mailboxes are enrolled with
Responses
200
Successful Response
object
An open envelope for one provider/deliverability result.
Open on purpose. These payloads are provider state and advisory reads whose
contents grow with the product, and a dropped field reads as “nothing to
report” rather than “we did not tell you”. Every value passes through
scrub_vendor_names on the way in.
object
object
Whether there are more pages
Items per page
Current page number (1-indexed)
Total number of items
422
Validation Error