Update Launch Plan
PATCH/api/launch-plan
Changes plan settings. Send only the fields to change:
target_launch_on—Y-m-dor null (null leaves the plan unscheduled). Can't be in the past unless the plan is launched.status—active|paused|launched|archived. A paused plan is not re-evaluated and sends no digests; archiving frees the account for a new or imported plan (until then the archived plan can still be read and resumed withactive; once replaced it is kept as history).launchedis accepted only once thego_livecheckpoint is signed off (signing it off is what launches a plan); otherwise 422 "Sign off Go live to mark the plan launched."activeon a plan whosego_liveis signed off (resuming a paused or archived launched plan) resolves tolaunched— readstatusfrom the response.digest_enabled— boolean, the weekly email digest.tolerance_days— integer 0–60, days a milestone's pace forecast may run past its due date before it is off track (default 7). Only SKU.io support can change it; other callers get 403.
launch_plan:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Target and status changes are recorded in the plan's activity. Response: the full launch plan, as returned by Get Launch Plan ({data, exists: true}), with dates and health recomputed. 404 {exists: false, message} when the account has no plan.
Authentication: Requires Bearer token with the launch_plan:write scope. The user needs the launch_plan.manage permission.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
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.
Not Found
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.