Capacity Planner API

REST API for the Speed Team Capacity Management tool. Authenticate with a session cookie (browser) or a Bearer API key (programmatic access).

Authentication

Bearer API key — create a key at /settings, then pass it as:
Authorization: Bearer cap_...
Session cookie — sign in at /login (NVIDIA SSO). Browsers use this automatically.
MethodPathSummary
get/api/resourcesList resources
post/api/resourcesCreate resource
get/api/resources/{id}Get resource
put/api/resources/{id}Update resource
delete/api/resources/{id}Delete resource
post/api/allocation-linesCreate allocation line
patch/api/allocation-lines/{id}Update allocation line (category, project, notes)
delete/api/allocation-lines/{id}Delete allocation line and its monthly values
post/api/allocationsBulk upsert monthly allocations
get/api/availabilityList availability overrides
post/api/availabilityUpsert availability
get/api/capacityList capacity rows
post/api/capacityUpsert capacity row
get/api/projectsSearch projects
get/api/portfoliosList portfolios
post/api/portfoliosCreate portfolio
delete/api/portfolios/{id}Delete portfolio
get/api/managersList managers
post/api/managersCreate manager
delete/api/managers/{id}Delete manager
get/api/regionsList regions
post/api/regionsCreate region
delete/api/regions/{id}Delete region
get/api/configGet app config
post/api/configUpdate app config
get/api/exportExport allocation data as CSV
get/api/api-keysList active API keys (metadata only — no raw keys)
post/api/api-keysCreate API key (raw key returned once — store it)
delete/api/api-keys/{id}Revoke API key (soft-delete)
get/api/resources

List resources

Returns all resources. Supports filtering by managerId, portfolioId, and status.

Parameters

NameInTypeRequired
managerIdquerystringno
portfolioIdquerystringno
statusquerystring (Active|NotActive)no

Responses

200Array of resources with manager, portfolio, region
post/api/resources

Create resource

Responses

201Created resource
get/api/resources/{id}

Get resource

Parameters

NameInTypeRequired
idpathstringyes

Responses

200Resource with allocation lines
put/api/resources/{id}

Update resource

Parameters

NameInTypeRequired
idpathstringyes

Responses

200Updated resource
delete/api/resources/{id}

Delete resource

Parameters

NameInTypeRequired
idpathstringyes

Responses

204Deleted
post/api/allocation-lines

Create allocation line

Responses

201Created allocation line
patch/api/allocation-lines/{id}

Update allocation line (category, project, notes)

Parameters

NameInTypeRequired
idpathstringyes

Responses

200Updated
delete/api/allocation-lines/{id}

Delete allocation line and its monthly values

Parameters

NameInTypeRequired
idpathstringyes

Responses

204Deleted
post/api/allocations

Bulk upsert monthly allocations

Responses

200Upserted count
get/api/availability

List availability overrides

Parameters

NameInTypeRequired
resourceIdquerystringno
fromquerystringno
toquerystringno

Responses

200Array of availability rows
post/api/availability

Upsert availability

Responses

200Upserted
get/api/capacity

List capacity rows

Responses

200Array of capacity rows
post/api/capacity

Upsert capacity row

Responses

200Upserted
get/api/projects

Search projects

Parameters

NameInTypeRequired
qquerystringno
limitqueryintegerno

Responses

200Array of projects
get/api/portfolios

List portfolios

Responses

200Array of portfolios
post/api/portfolios

Create portfolio

Responses

201Created
delete/api/portfolios/{id}

Delete portfolio

Parameters

NameInTypeRequired
idpathstringyes

Responses

204Deleted
get/api/managers

List managers

Responses

200Array of managers
post/api/managers

Create manager

Responses

201Created
delete/api/managers/{id}

Delete manager

Parameters

NameInTypeRequired
idpathstringyes

Responses

204Deleted
get/api/regions

List regions

Responses

200Array of regions
post/api/regions

Create region

Responses

201Created
delete/api/regions/{id}

Delete region

Parameters

NameInTypeRequired
idpathstringyes

Responses

204Deleted
get/api/config

Get app config

Responses

200AppConfig singleton
post/api/config

Update app config

Responses

200Updated config
get/api/export

Export allocation data as CSV

Responses

200CSV file
get/api/api-keys

List active API keys (metadata only — no raw keys)

Responses

200Array of API key metadata
post/api/api-keys

Create API key (raw key returned once — store it)

Responses

201Created key with one-time raw value
delete/api/api-keys/{id}

Revoke API key (soft-delete)

Parameters

NameInTypeRequired
idpathstringyes

Responses

204Revoked
404Not found