Initiatives API¶
Manage strategic initiatives through their full lifecycle from creation to archive.
Who this is for¶
Developer Admin
Endpoints¶
| Method | Path | Description |
|---|---|---|
| GET | /v1/initiatives | List initiatives |
| POST | /v1/initiatives | Create an initiative |
| GET | /v1/initiatives/{id} | Get an initiative |
| PUT | /v1/initiatives/{id} | Update an initiative |
| PATCH | /v1/initiatives/{id} | Partial update |
| DELETE | /v1/initiatives/{id} | Archive an initiative |
| POST | /v1/initiatives/{id}/status | Change status |
List initiatives¶
Query parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number |
page_size | integer | 50 | Items per page (max 200) |
status | string | — | Filter by status |
industry | string | — | Filter by industry |
sort | string | created_at | Sort field |
order | string | desc | Sort order |
Response:
{
"data": [
{
"id": "init_abc123",
"name": "Manufacturing Efficiency Program",
"description": "Reduce waste and improve throughput",
"status": "active",
"industry": "manufacturing",
"segment": "enterprise",
"owner_id": "user_def456",
"created_at": "2026-01-15T10:00:00Z",
"updated_at": "2026-06-01T14:30:00Z"
}
],
"meta": {
"pagination": {
"page": 1,
"page_size": 50,
"total": 247,
"total_pages": 5
}
}
}
Create an initiative¶
POST /v1/initiatives
Content-Type: application/json
{
"name": "Q3 Cloud Migration",
"description": "Migrate on-premise workloads to cloud",
"industry": "technology",
"segment": "mid-market",
"expected_start_date": "2026-07-01",
"expected_end_date": "2026-12-31"
}
Required fields: name
Optional fields: description, industry, segment, expected_start_date, expected_end_date, owner_id
Response: 201 Created
Get an initiative¶
Returns the full initiative including related projects, stakeholders, and metrics.
Update an initiative¶
PUT /v1/initiatives/init_abc123
Content-Type: application/json
{
"name": "Q3 Cloud Migration — Revised",
"description": "Updated scope including data center exit",
"status": "active"
}
Change status¶
POST /v1/initiatives/init_abc123/status
Content-Type: application/json
{
"status": "in_review",
"reason": "Ready for stakeholder review"
}
Valid transitions:
| From | To | Who |
|---|---|---|
draft | in_review | Owner, Admin |
in_review | approved | Admin, Executive |
in_review | rejected | Admin, Executive |
approved | active | Admin |
active | completed | Admin, Owner |
active | archived | Admin |
completed | archived | Admin |
Irreversible transitions
archived status is final. Archived initiatives are read-only and excluded from active dashboards.
Delete (archive) an initiative¶
Archives the initiative and all associated projects. This operation is irreversible.
Permissions¶
| Action | Required Permission |
|---|---|
| List | initiatives:read |
| Create | initiatives:write |
| Get | initiatives:read |
| Update | initiatives:write |
| Change status | initiatives:write + role-based gate |
| Archive | initiatives:delete |
Limits¶
Limit Maximum 1,000 active initiatives per tenant.
Limit Initiative name must be 1–200 characters.
Troubleshooting¶
409 Conflict when creating
Cause: Initiative with the same name already exists in your tenant. Resolution: Use a unique name or check existing initiatives before creating.
Cannot change status to approved
Cause: User lacks the required role (Admin or Executive). Resolution: Request approval from an Admin or Executive. Check your role in Profile → Organization.