Step 1 — Generate an API key
In your Tabillo workspace go to Settings → API Keys → Generate new key. Copy the key.
Step 2 — Get your reference data
Before creating initiatives you need valid IDs for products, statuses, and timeframe period keys.
Run these three calls (replace your-slug and your-key):
# Get sub-product IDs
curl https://crossproductroadmapbackend.vercel.app/api/v1/products \
-H "Authorization: Bearer your-key" \
-H "x-tenant-slug: your-slug"
# Get status IDs
curl https://crossproductroadmapbackend.vercel.app/api/v1/statuses \
-H "Authorization: Bearer your-key" \
-H "x-tenant-slug: your-slug"
# Get timeframe period keys (e.g. "2026_01" for Jan 2026)
curl https://crossproductroadmapbackend.vercel.app/api/v1/timeframes \
-H "Authorization: Bearer your-key" \
-H "x-tenant-slug: your-slug"
# Get user IDs (required for ownerId)
curl https://crossproductroadmapbackend.vercel.app/api/v1/users \
-H "Authorization: Bearer your-key" \
-H "x-tenant-slug: your-slug"
Period keys depend on how your workspace timeframes are configured. Monthly workspaces use keys like 2026_01, quarterly use 2026_Q1, custom use whatever labels you defined. Always call GET /timeframes first to get the exact keys.
Step 3 — Create an initiative
curl -X POST https://crossproductroadmapbackend.vercel.app/api/v1/initiatives \
-H "Authorization: Bearer your-key" \
-H "x-tenant-slug: your-slug" \
-H "Content-Type: application/json" \
-d '{
"title": "My first API initiative",
"subProductId": "SUB_PRODUCT_ID",
"statusId": "STATUS_ID",
"startQuarter": "2026_01",
"endQuarter": "2026_03",
"ownerId": "USER_ID",
"notes": "Created via the Tabillo API"
}'
The response includes the full initiative object with its id. You can use that ID to update or retrieve it later.
Step 4 — Update an initiative
curl -X PATCH https://crossproductroadmapbackend.vercel.app/api/v1/initiatives/INITIATIVE_ID \
-H "Authorization: Bearer your-key" \
-H "x-tenant-slug: your-slug" \
-H "Content-Type: application/json" \
-d '{"statusId": "NEW_STATUS_ID"}'
Only the fields you include are changed.