Sprint reports API
Sprint reports
GET /api/v1/organizations/{organizationSlug}/projects/{projectKey}/sprints/{sprintId}/report returns the delivery report for a Sprint. It requires a PAT with project:read, Organization membership, and access to the addressed Project. A Sprint from another Project or Organization is returned as 404 NOT_FOUND.
curl -H "Authorization: Bearer $HAMSTIK_TOKEN" \ "https://hamstik.com/api/v1/organizations/$ORG_SLUG/projects/$PROJECT_KEY/sprints/$SPRINT_ID/report"Parameters and response
The path parameters identify the Organization, Project, and Sprint. The optional query parameters are:
limit— number of scope-change and carryover feed entries to return, from 1 to 100; the default is 50.cursor— the opaque cursor from the previous response’spage.nextCursor.
The response contains sprint, mode (completed, active, or future), stable, commitment, plannedScope, completion, scopeChanges, carryover, statuses, burndown, remaining, items, and the standard page object. items is the cursor-paginated combined feed of additions, removals, and carryover. The complete report metrics are returned on every page.
stable is true for completed Sprints when the bounded historical inputs were fully read. Completed reports use the Sprint state-transition timestamp as their reporting boundary and are reconstructed from append-only Work Item history and the immutable commitment baseline. Active reports use the current reporting boundary. Future reports have no completion boundary and do not synthesize a burndown. Any bounded-input or reconstruction limitation is listed in limitations.
Metric definitions
commitmentis the item and point baseline captured at Sprint start. It is not recalculated from current Work Item estimates.completion.originalCommitmentcounts distinct Work Items committed at or before Sprint start.completion.finalScopecounts distinct commitment episodes still in scope at the reporting boundary, including additions and excluding removals made before completion; a completion-time close remains in final scope as carryover.completion.completedcounts items that reacheddoneduring a commitment episode for this Sprint.completion.percentages.finalScopeis completed items/points divided by final-scope items/points.completion.percentages.originalCommitmentuses the original-commitment denominators. A zero denominator isnull; percentages are rounded to the nearest whole percent.scopeChanges.addedandscopeChanges.removeduse the recorded commitment/removal event time after Sprint start. A removal made by Sprint completion is represented as carryover instead of a scope removal.carryovercontains unfinished items at completed-Sprint completion and identifiesdestination.kindasbacklogorsprint, with the destination Sprint ID and name when applicable. Active and future Sprints return an empty carryover list.burndown.pointsis the daily remaining committed-point series reconstructed from status history using UTC calendar boundaries.burndown.displayadds the ideal line for rendering.availableis false when required commitment baselines or history are incomplete.statusesis the end-of-Sprint distribution across the final scope, ordered by the canonical Work Item status order, with item and recorded point totals.remainingis final-scope work not counted as completed. For active Sprints it describes remaining or at-risk work; it is not carryover.
The report never includes per-assignee completion. Capacity reporting is the appropriate source for that view.
In the private application, a selected Sprint report can be saved by name. The saved configuration retains the Sprint selection, can be reopened, renamed, deleted, pinned to the Project overview, or shared as a URL with another user who already has access to the Project. Saved names and pins are private to their owner; the URL does not bypass Organization or Project authorization.
The machine-readable path, parameters, schemas, scopes, errors, and pagination contract are authoritative in the OpenAPI document.
