The resource view answers “is this team overloaded?” for one plan on one screen. The capacity endpoint answers it for a portfolio: several projects, a date range, month by month, in a form another system can consume.
It is read-only and runs under the calling user’s own Polarion permissions — it can return nothing the caller could not already see. Available since version 26.9.0.
Request
Response
Top Level
A Resource Row
A Period Bucket
A Missing availableHours Is Not ZeroThe response omits its null fields rather than writing them out, so an undetermined availability shows up as the key being absent — not as "availableHours": null. A consumer testing for null will not catch it, and one that reads the missing value as zero reports the resource as infinitely overallocated.Test for presence, not for null. The same applies to overallocationHours, utilizationPct and canonicalUserId.
How Available Hours Are Derived
Which of the two sources a row is aggregated against depends on what the resource resolved to. This is the same rule the resource view applies on screen, so the two do not disagree:
- A
PERSON row that resolves to a Polarion user with a working calendar takes its availability from that calendar, and reports no absoluteCapacity.
- Every other row — a
PHANTOM department, or a person with no calendar behind them — uses the declared figure, which is also what absoluteCapacity then reports.
For a row using a declared perDay capacity, available hours are that figure multiplied by the working days of the bucket, counted Monday to Friday. Plant holidays are not subtracted for those rows in this version of the endpoint, so a bucket containing a shutdown reports more availability than the plan itself would.
Where a resource has no calendar to supply one, allocated hours are accumulated against an assumed eight-hour working day.
Errors
Errors carry a JSON body of the form {"error": "<message>"}.
Related Pages