Skip to main content
An initiative is the container the work hierarchy hangs from: initiative → workstreams → milestones → tasks. POST /api/v1/initiatives scaffolds an initiative together with one starter workstream and milestone so work placement IDs exist immediately. Read the initiative tree with GET /api/v1/initiatives/{initiativeId}?include=tree.

Create — POST /api/v1/initiatives

Requires Authorization: Bearer oxk_... and an Idempotency-Key header. The body accepts exactly two fields; unknown fields are rejected.
Response — 201 first write, 200 on idempotent replay:
The three returned IDs are the placement inputs for POST /work.

Compatibility: full-field writes

The compatibility surface accepts the full initiative field set: title (required), summary, description, status, priority (critical, active, maintenance, hold), risk_level, sequence, objective_id, estimated_hours, estimated_spend_usd, estimated_roi_usd, daily_limit_usd, hourly_limit_usd, metadata, context, workspace_id, and idempotency_key (up to 120 characters — replays return the existing initiative with _dedup: true instead of inserting a duplicate). New integrations should use the dedicated v1 scaffold and detail operations. The compatibility write is retained for older workspace and MCP clients. Creating an initiative here also kicks off a planning run unless you send auto_plan: false.

Read and update

Initiative status values: draft, active, blocked, paused, completed, archived. The declared lifecycle is launch (draft → active), pause, resume, complete, and archive.

All operations on this resource

The child resources follow the same pattern with type: "workstream" (requires initiative_id; statuses not_started, active, blocked, paused, completed) and type: "milestone" (statuses planned, in_progress, completed, at_risk, cancelled). Creating a workstream, milestone, or task whose label already exists inside the same parent returns the existing row with _dedup: true.

Where the IDs come from

MCP equivalents

scaffold_initiative mirrors the scaffold operation; orgx_act launches, pauses, and completes through the gateway lifecycle route; orgx_inspect hydrates one initiative with execution context. Older orgx_write calls use the compatibility adapter for full-field updates.