Create Launch Plan
POST/api/launch-plan
Builds the account's launch plan from a profile: one step per applicable library step (owners defaulted from member roles, default size), then evaluates it.
launch_plan:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
profile (required object):
channels— list of channel names (up to 30).fulfillment_model— any ofown_warehouse,three_pl,dropship,fba.catalog_shape— any ofkits,manufacturing,configured_products,simple.accounting_system—qbo|xero|none.income_tool—a2x|sku|none.accounting_timing—at_launch|post_stable.brands— integer 1–100.b2b_terms— boolean.fulfillment_cutover—A|B|undecided.
Omitted fields keep their defaults. The profile decides which modules apply and therefore which steps the plan holds.
target_launch_on (optional, Y-m-d, today or later) — the target launch date that the milestones are scheduled back from.
owners (optional object) — who holds a role from day one: catalog, ops, finance, each a user id on this account or null. Each named user becomes a plan member with that role (the caller may take roles too), so the steps of that role default to them. 422 for a user who is not on this account or any other key.
The caller becomes the plan's first member (role owner, watcher). Response 201 with the full launch plan. 409 {code: plan_exists} ("This account already has a launch plan. Archive it first to start a new one.") when the account already has a plan that is not archived. An archived plan does not block: it is kept as read-only history and the new plan takes its place; 422 for an invalid profile or a past target.
Authentication: Requires Bearer token with the launch_plan:write scope. The user needs the launch_plan.manage permission.
Request
Responses
- 201
- 401
- 403
- 409
- 422
- 429
Created
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Conflict
Response Headers
Unprocessable Content
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.