API Quickstart

Create an API key, send your first request, and configure a webhook.

1. Create API key

curl -X POST https://api.workload.com/api/v1/api-keys \
  -H "Authorization: Bearer YOUR_ADMIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"My integration","scopes":["projects:read","projects:write"]}'

Example with scaled agile scopes:

curl -X POST https://api.workload.com/api/v1/api-keys \
  -H "Authorization: Bearer YOUR_ADMIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Scaled agile BI","scopes":["programs:read","planning-increments:read","dependencies:read"]}'

2. List projects

curl https://api.workload.com/api/v1/projects \
  -H "Authorization: Bearer YOUR_API_KEY"

3. Read programs & PIs (scaled agile)

When scaledAgileEnabled is on, use scopes programs:read, planning-increments:read, and dependencies:read.

curl "https://api.workload.com/api/v1/programs" \
  -H "Authorization: Bearer YOUR_API_KEY"

curl "https://api.workload.com/api/v1/planning-increments?programId=PROGRAM_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"

            curl "https://api.workload.com/api/v1/dependencies?programId=PROGRAM_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"

4. ServiceNow capacity bridge (CSV / IntegrationHub / REST v1)

No Marketplace connector. Scopes: team-members:write, allocations:write, timesheet:read. Recipe: /docs/integrations/servicenow. Do not map incidents → projects or CMDB CIs → teams.

curl -X POST https://api.workload.com/api/v1/api-keys \
  -H "Authorization: Bearer YOUR_ADMIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"ServiceNow capacity bridge","scopes":["team-members:write","allocations:write","timesheet:read"]}'
4. ServiceNow capacity bridge (CSV / IntegrationHub / REST v1)