Skip to main content

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.

Required scope: launch_plan:write

Grant 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 of own_warehouse, three_pl, dropship, fba.
  • catalog_shape — any of kits, 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​

Created

Response Headers
    Content-Type