API reference
Boards and sprints
/ v1/ orgs/ :orgId/ issues/ boardsBoards the caller can see (space narrows to boards showing that space).
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:read
Path parameters
orgIdOrganization id (
org_…).
Query parameters
spacestringUp to 64 characters.
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/boards' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
boards: {
boardId: string
name: string
ownerId?: string
config: {
type: "scrum" | "kanban"
spaceIds: string[]
query?: string
columns: {
id: string
name: string
statusIds: string[]
min?: number
max?: number
}[]
swimlanes: "query" | "none" | "parent" | "assignee" | "priority" | "epic"
swimlaneQueries?: {
id: string
name: string
query: string
}[]
quickFilters: {
id: string
name: string
query: string
}[]
cardFields: string[]
estimation: "count" | "storyPoints" | "originalEstimate"
hideDoneAfterDays?: number
kanbanBacklog?: boolean
wipExcludesSubtasks?: boolean
sharing: {
org: boolean
teams: string[]
users: string[]
}
}
version: number
createdAt: number
updatedAt: number
}[]
}/ v1/ orgs/ :orgId/ issues/ boardsCreates a board over one or more spaces, with columns from their workflows' statuses.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:write
Path parameters
orgIdOrganization id (
org_…).
Request body
namestringrequired1–80 characters. Trimmed.
type"scrum" | "kanban"requiredspacesstring[]required1–20 items. Each up to 64 characters.
querystringUp to 2,000 characters.
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/boards' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": "Example",
"type": "scrum",
"spaces": [
"example"
]
}'Response 201
{
board: {
boardId: string
name: string
ownerId?: string
config: {
type: "scrum" | "kanban"
spaceIds: string[]
query?: string
columns: {
id: string
name: string
statusIds: string[]
min?: number
max?: number
}[]
swimlanes: "query" | "none" | "parent" | "assignee" | "priority" | "epic"
swimlaneQueries?: {
id: string
name: string
query: string
}[]
quickFilters: {
id: string
name: string
query: string
}[]
cardFields: string[]
estimation: "count" | "storyPoints" | "originalEstimate"
hideDoneAfterDays?: number
kanbanBacklog?: boolean
wipExcludesSubtasks?: boolean
sharing: {
org: boolean
teams: string[]
users: string[]
}
}
version: number
createdAt: number
updatedAt: number
}
}/ v1/ orgs/ :orgId/ issues/ boards/ :boardIdA board's configuration.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:read
Path parameters
orgIdOrganization id (
org_…).boardIdBoard id: a Tasks board (
brd_…), or under/leaderboardsa Mirage leaderboard (lbd_…).
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/boards/{boardId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
board: {
boardId: string
name: string
ownerId?: string
config: {
type: "scrum" | "kanban"
spaceIds: string[]
query?: string
columns: {
id: string
name: string
statusIds: string[]
min?: number
max?: number
}[]
swimlanes: "query" | "none" | "parent" | "assignee" | "priority" | "epic"
swimlaneQueries?: {
id: string
name: string
query: string
}[]
quickFilters: {
id: string
name: string
query: string
}[]
cardFields: string[]
estimation: "count" | "storyPoints" | "originalEstimate"
hideDoneAfterDays?: number
kanbanBacklog?: boolean
wipExcludesSubtasks?: boolean
sharing: {
org: boolean
teams: string[]
users: string[]
}
}
version: number
createdAt: number
updatedAt: number
}
}/ v1/ orgs/ :orgId/ issues/ boards/ :boardIdChanges a board's name, columns (status mapping, WIP limits), swimlanes, quick filters, card fields and sharing.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:write
Path parameters
orgIdOrganization id (
org_…).boardIdBoard id: a Tasks board (
brd_…), or under/leaderboardsa Mirage leaderboard (lbd_…).
Request body
namestring1–80 characters. Trimmed.
configobjectconfig.spaceIdsstring[]1–20 items. Each up to 64 characters.
config.querystringUp to 2,000 characters.
config.columnsobject[]1–20 items.
config.columns[].idstringrequiredUp to 40 characters.
config.columns[].namestringrequired1–60 characters. Trimmed.
config.columns[].statusIdsstring[]requiredUp to 50 items. Each up to 32 characters.
config.columns[].mininteger0–999.
config.columns[].maxinteger0–999.
config.swimlanes"none" | "assignee" | "epic" | "parent" | "priority" | "query"config.swimlaneQueriesobject[]Up to 20 items.
config.swimlaneQueries[].idstringrequiredUp to 40 characters.
config.swimlaneQueries[].namestringrequired1–60 characters. Trimmed.
config.swimlaneQueries[].querystringrequiredUp to 2,000 characters.
config.quickFiltersobject[]Up to 30 items.
config.quickFilters[].idstringrequiredUp to 40 characters.
config.quickFilters[].namestringrequired1–60 characters. Trimmed.
config.quickFilters[].querystringrequiredUp to 2,000 characters.
config.cardFieldsstring[]Up to 6 items. Each up to 64 characters.
config.estimation"storyPoints" | "originalEstimate" | "count"config.hideDoneAfterDaysinteger0–365.
config.kanbanBacklogbooleanconfig.wipExcludesSubtasksbooleanconfig.sharingobjectconfig.sharing.orgbooleanrequiredconfig.sharing.teamsstring[]requiredUp to 50 items. Each up to 64 characters.
config.sharing.usersstring[]requiredUp to 200 items. Each up to 64 characters.
baseVersioninteger≥ 0.
curl -X PATCH 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/boards/{boardId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": "Example",
"config": {
"spaceIds": [
"example"
],
"query": "example",
"columns": [
{
"id": "<id>",
"name": "Example",
"statusIds": [
"example"
]
}
]
},
"baseVersion": 1
}'Response 200
{
board: {
boardId: string
name: string
ownerId?: string
config: {
type: "scrum" | "kanban"
spaceIds: string[]
query?: string
columns: {
id: string
name: string
statusIds: string[]
min?: number
max?: number
}[]
swimlanes: "query" | "none" | "parent" | "assignee" | "priority" | "epic"
swimlaneQueries?: {
id: string
name: string
query: string
}[]
quickFilters: {
id: string
name: string
query: string
}[]
cardFields: string[]
estimation: "count" | "storyPoints" | "originalEstimate"
hideDoneAfterDays?: number
kanbanBacklog?: boolean
wipExcludesSubtasks?: boolean
sharing: {
org: boolean
teams: string[]
users: string[]
}
}
version: number
createdAt: number
updatedAt: number
}
}/ v1/ orgs/ :orgId/ issues/ boards/ :boardIdDeletes a board without an active sprint; issues in its future sprints return to the backlog.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:write
Path parameters
orgIdOrganization id (
org_…).boardIdBoard id: a Tasks board (
brd_…), or under/leaderboardsa Mirage leaderboard (lbd_…).
curl -X DELETE 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/boards/{boardId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
boardId: string
}/ v1/ orgs/ :orgId/ issues/ boards/ :boardId/ issuesThe board's cards: the active sprints' issues (scrum) or the flow (kanban), with quick filters (comma-separated ids).
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:read
Path parameters
orgIdOrganization id (
org_…).boardIdBoard id: a Tasks board (
brd_…), or under/leaderboardsa Mirage leaderboard (lbd_…).
Query parameters
quickFiltersstringUp to 400 characters.
sprintstringUp to 64 characters.
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/boards/{boardId}/issues' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
board: {
boardId: string
name: string
ownerId?: string
config: {
type: "scrum" | "kanban"
spaceIds: string[]
query?: string
columns: {
id: string
name: string
statusIds: string[]
min?: number
max?: number
}[]
swimlanes: "query" | "none" | "parent" | "assignee" | "priority" | "epic"
swimlaneQueries?: {
id: string
name: string
query: string
}[]
quickFilters: {
id: string
name: string
query: string
}[]
cardFields: string[]
estimation: "count" | "storyPoints" | "originalEstimate"
hideDoneAfterDays?: number
kanbanBacklog?: boolean
wipExcludesSubtasks?: boolean
sharing: {
org: boolean
teams: string[]
users: string[]
}
}
version: number
createdAt: number
updatedAt: number
}
issues: {
orgId: string
issueId: string
spaceId: string
number: number
key: string
typeId: string
summary: string
statusId: string
statusCategory: "done" | "todo" | "inprogress"
statusChangedAt?: number
resolutionId?: string
resolvedAt?: number
priorityId?: string
assigneeId?: string
reporterId?: string
creatorId?: string
labels: string[]
componentIds: string[]
fixVersionIds: string[]
affectsVersionIds: string[]
dueDate?: string
startDate?: string
storyPoints?: number
originalEstimate?: number
remainingEstimate?: number
timeSpent?: number
environment?: string
location?: {
lat: number
lon: number
label?: string
}
parentId?: string
sprintId?: string
closedSprintIds: string[]
rank: string
watchers: string[]
voters: string[]
securityLevelId?: string
fields: {
[key: string]: boolean | null | string | number | string[] | {
parent: string
child?: string
}
}
excerpt: string
statusLog: [string, number][]
commentCount: number
attachmentCount: number
requestTypeId?: string
channel?: string
participants: string[]
requesterEmail?: string
emailParticipants: string[]
approvals: {
id: string
statusId: string
approvers: string[]
needed: "all" | "one"
decisions: {
userId: string
decision: "approved" | "declined"
at: number
}[]
state: "pending" | "approved" | "declined"
createdAt: number
decidedAt?: number
}[]
satisfaction?: number
satisfactionComment?: string
sla: {
[key: string]: {
runningSince?: number
elapsed: number
paused?: boolean
stopped?: boolean
goal?: number
calendar: "business" | "always"
breached?: boolean
startedAt?: number
stoppedAt?: number
}
}
version: number
createdAt: number
updatedAt: number
}[]
sprints: {
sprintId: string
boardId: string
name: string
goal: string
state: "active" | "closed" | "future"
startDate?: number
endDate?: number
completedAt?: number
position: number
data: {
capacity?: number
report?: {
committed: number
added: number
removed: number
completed: number
incomplete: number
completedIssueIds: string[]
incompleteIssueIds: string[]
carriedTo?: string
}
}
createdAt: number
}[]
lanes: {
[key: string]: string
}
parents: {
[key: string]: {
issueId: string
key: string
summary: string
typeId: string
statusId: string
parentId?: string
}
}
subtasks: {
[key: string]: {
total: number
done: number
}
}
spaces: {
spaceId: string
key: string
name: string
}[]
}/ v1/ orgs/ :orgId/ issues/ boards/ :boardId/ backlogActive and future sprints with their issues, the backlog and the epics of the board's spaces.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:read
Path parameters
orgIdOrganization id (
org_…).boardIdBoard id: a Tasks board (
brd_…), or under/leaderboardsa Mirage leaderboard (lbd_…).
Query parameters
quickFiltersstringUp to 400 characters.
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/boards/{boardId}/backlog' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
board: {
boardId: string
name: string
ownerId?: string
config: {
type: "scrum" | "kanban"
spaceIds: string[]
query?: string
columns: {
id: string
name: string
statusIds: string[]
min?: number
max?: number
}[]
swimlanes: "query" | "none" | "parent" | "assignee" | "priority" | "epic"
swimlaneQueries?: {
id: string
name: string
query: string
}[]
quickFilters: {
id: string
name: string
query: string
}[]
cardFields: string[]
estimation: "count" | "storyPoints" | "originalEstimate"
hideDoneAfterDays?: number
kanbanBacklog?: boolean
wipExcludesSubtasks?: boolean
sharing: {
org: boolean
teams: string[]
users: string[]
}
}
version: number
createdAt: number
updatedAt: number
}
sprints: {
issueIds: string[]
sprintId: string
boardId: string
name: string
goal: string
state: "active" | "closed" | "future"
startDate?: number
endDate?: number
completedAt?: number
position: number
data: {
capacity?: number
report?: {
committed: number
added: number
removed: number
completed: number
incomplete: number
completedIssueIds: string[]
incompleteIssueIds: string[]
carriedTo?: string
}
}
createdAt: number
}[]
issues: {
orgId: string
issueId: string
spaceId: string
number: number
key: string
typeId: string
summary: string
statusId: string
statusCategory: "done" | "todo" | "inprogress"
statusChangedAt?: number
resolutionId?: string
resolvedAt?: number
priorityId?: string
assigneeId?: string
reporterId?: string
creatorId?: string
labels: string[]
componentIds: string[]
fixVersionIds: string[]
affectsVersionIds: string[]
dueDate?: string
startDate?: string
storyPoints?: number
originalEstimate?: number
remainingEstimate?: number
timeSpent?: number
environment?: string
location?: {
lat: number
lon: number
label?: string
}
parentId?: string
sprintId?: string
closedSprintIds: string[]
rank: string
watchers: string[]
voters: string[]
securityLevelId?: string
fields: {
[key: string]: boolean | null | string | number | string[] | {
parent: string
child?: string
}
}
excerpt: string
statusLog: [string, number][]
commentCount: number
attachmentCount: number
requestTypeId?: string
channel?: string
participants: string[]
requesterEmail?: string
emailParticipants: string[]
approvals: {
id: string
statusId: string
approvers: string[]
needed: "all" | "one"
decisions: {
userId: string
decision: "approved" | "declined"
at: number
}[]
state: "pending" | "approved" | "declined"
createdAt: number
decidedAt?: number
}[]
satisfaction?: number
satisfactionComment?: string
sla: {
[key: string]: {
runningSince?: number
elapsed: number
paused?: boolean
stopped?: boolean
goal?: number
calendar: "business" | "always"
breached?: boolean
startedAt?: number
stoppedAt?: number
}
}
version: number
createdAt: number
updatedAt: number
}[]
backlogIds: string[]
epics: {
issueId: string
key: string
summary: string
statusCategory: "done" | "todo" | "inprogress"
progress: {
total: number
done: number
points: number
}
}[]
subtaskCounts: {
[key: string]: {
total: number
done: number
points: number
}
}
}/ v1/ orgs/ :orgId/ issues/ boards/ :boardId/ moveMoves a card to a column (through the workflow) and optionally ranks it next to another card. 409 names the fields a transition asks for.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:write
Path parameters
orgIdOrganization id (
org_…).boardIdBoard id: a Tasks board (
brd_…), or under/leaderboardsa Mirage leaderboard (lbd_…).
Request body
issuestringrequired1–64 characters.
columnIdstringrequired1–40 characters.
beforestringUp to 64 characters.
afterstringUp to 64 characters.
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/boards/{boardId}/move' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"issue": "example",
"columnId": "<columnId>"
}'Response 200
{
issue: {
orgId: string
issueId: string
spaceId: string
number: number
key: string
typeId: string
summary: string
statusId: string
statusCategory: "done" | "todo" | "inprogress"
statusChangedAt?: number
resolutionId?: string
resolvedAt?: number
priorityId?: string
assigneeId?: string
reporterId?: string
creatorId?: string
labels: string[]
componentIds: string[]
fixVersionIds: string[]
affectsVersionIds: string[]
dueDate?: string
startDate?: string
storyPoints?: number
originalEstimate?: number
remainingEstimate?: number
timeSpent?: number
environment?: string
location?: {
lat: number
lon: number
label?: string
}
parentId?: string
sprintId?: string
closedSprintIds: string[]
rank: string
watchers: string[]
voters: string[]
securityLevelId?: string
fields: {
[key: string]: boolean | null | string | number | string[] | {
parent: string
child?: string
}
}
excerpt: string
statusLog: [string, number][]
commentCount: number
attachmentCount: number
requestTypeId?: string
channel?: string
participants: string[]
requesterEmail?: string
emailParticipants: string[]
approvals: {
id: string
statusId: string
approvers: string[]
needed: "all" | "one"
decisions: {
userId: string
decision: "approved" | "declined"
at: number
}[]
state: "pending" | "approved" | "declined"
createdAt: number
decidedAt?: number
}[]
satisfaction?: number
satisfactionComment?: string
sla: {
[key: string]: {
runningSince?: number
elapsed: number
paused?: boolean
stopped?: boolean
goal?: number
calendar: "business" | "always"
breached?: boolean
startedAt?: number
stoppedAt?: number
}
}
version: number
createdAt: number
updatedAt: number
}
}/ v1/ orgs/ :orgId/ issues/ boards/ :boardId/ velocityCommitted and completed estimates of the last closed sprints.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:read
Path parameters
orgIdOrganization id (
org_…).boardIdBoard id: a Tasks board (
brd_…), or under/leaderboardsa Mirage leaderboard (lbd_…).
Query parameters
countinteger1–30. Coerced from a string.
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/boards/{boardId}/velocity' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
board: {
boardId: string
name: string
estimation: "count" | "storyPoints" | "originalEstimate"
}
sprints: {
sprintId: string
name: string
committed: number
completed: number
}[]
average: number
}/ v1/ orgs/ :orgId/ issues/ sprintsSprints of the boards the caller can see: active first, then future, then closed (newest first).
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:read
Path parameters
orgIdOrganization id (
org_…).
Query parameters
spacestringUp to 64 characters.
boardstringUp to 64 characters.
state"future" | "active" | "closed"
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/sprints' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
sprints: {
sprintId: string
boardId: string
name: string
goal: string
state: "active" | "closed" | "future"
startDate?: number
endDate?: number
completedAt?: number
position: number
data: {
capacity?: number
report?: {
committed: number
added: number
removed: number
completed: number
incomplete: number
completedIssueIds: string[]
incompleteIssueIds: string[]
carriedTo?: string
}
}
createdAt: number
}[]
}/ v1/ orgs/ :orgId/ issues/ sprintsCreates a future sprint on a scrum board.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:write
Path parameters
orgIdOrganization id (
org_…).
Request body
boardIdstringrequired1–64 characters.
namestringUp to 80 characters.
goalstringUp to 1,000 characters.
startDateintegerendDateinteger
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/sprints' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"boardId": "<boardId>"
}'Response 201
{
sprint: {
sprintId: string
boardId: string
name: string
goal: string
state: "active" | "closed" | "future"
startDate?: number
endDate?: number
completedAt?: number
position: number
data: {
capacity?: number
report?: {
committed: number
added: number
removed: number
completed: number
incomplete: number
completedIssueIds: string[]
incompleteIssueIds: string[]
carriedTo?: string
}
}
createdAt: number
}
}/ v1/ orgs/ :orgId/ issues/ sprints/ movePuts issues into a sprint (sprint: null for the backlog), optionally ranked before or after another issue.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:write
Path parameters
orgIdOrganization id (
org_…).
Request body
issuesstring[]required1–200 items. Each up to 64 characters.
sprintstringrequiredor nullUp to 64 characters.
beforestringUp to 64 characters.
afterstringUp to 64 characters.
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/sprints/move' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"issues": [
"example"
],
"sprint": "example"
}'Response 200
{
issues: {
issueId: string
key: string
sprintId?: string
rank: string
}[]
}/ v1/ orgs/ :orgId/ issues/ sprints/ :sprintIdChanges a sprint's name, goal, dates, order or capacity.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:write
Path parameters
orgIdOrganization id (
org_…).sprintIdSprint id (
spr_…).
Request body
namestringUp to 80 characters.
goalstringUp to 1,000 characters.
startDateintegeror nullendDateintegeror nullpositioninteger≥ 0.
capacitynumberor null0–100000.
curl -X PATCH 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/sprints/{sprintId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": "Example",
"goal": "example",
"startDate": 1
}'Response 200
{
sprint: {
sprintId: string
boardId: string
name: string
goal: string
state: "active" | "closed" | "future"
startDate?: number
endDate?: number
completedAt?: number
position: number
data: {
capacity?: number
report?: {
committed: number
added: number
removed: number
completed: number
incomplete: number
completedIssueIds: string[]
incompleteIssueIds: string[]
carriedTo?: string
}
}
createdAt: number
}
}/ v1/ orgs/ :orgId/ issues/ sprints/ :sprintId/ startStarts a future sprint; its issues become the committed scope.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:write
Path parameters
orgIdOrganization id (
org_…).sprintIdSprint id (
spr_…).
Request body
namestringUp to 80 characters.
goalstringUp to 1,000 characters.
startDateintegerendDateintegerrequired
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/sprints/{sprintId}/start' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"endDate": 1
}'Response 200
{
sprint: {
sprintId: string
boardId: string
name: string
goal: string
state: "active" | "closed" | "future"
startDate?: number
endDate?: number
completedAt?: number
position: number
data: {
capacity?: number
report?: {
committed: number
added: number
removed: number
completed: number
incomplete: number
completedIssueIds: string[]
incompleteIssueIds: string[]
carriedTo?: string
}
}
createdAt: number
}
issues: number
}/ v1/ orgs/ :orgId/ issues/ sprints/ :sprintId/ completeCompletes an active sprint; open issues move to moveTo (a sprint id, new or backlog).
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:write
Path parameters
orgIdOrganization id (
org_…).sprintIdSprint id (
spr_…).
Request body
moveTostringrequired1–64 characters.
curl -X POST 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/sprints/{sprintId}/complete' \
-H "Authorization: Bearer $CACTIVE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"moveTo": "example"
}'Response 200
{
sprint: {
sprintId: string
boardId: string
name: string
goal: string
state: "active" | "closed" | "future"
startDate?: number
endDate?: number
completedAt?: number
position: number
data: {
capacity?: number
report?: {
committed: number
added: number
removed: number
completed: number
incomplete: number
completedIssueIds: string[]
incompleteIssueIds: string[]
carriedTo?: string
}
}
createdAt: number
}
completed: number
carried: number
movedTo: string
}/ v1/ orgs/ :orgId/ issues/ sprints/ :sprintId/ reportBurndown, scope changes and outcome of a sprint.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:read
Path parameters
orgIdOrganization id (
org_…).sprintIdSprint id (
spr_…).
curl 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/sprints/{sprintId}/report' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
sprint: {
sprintId: string
boardId: string
name: string
goal: string
state: "active" | "closed" | "future"
startDate?: number
endDate?: number
completedAt?: number
position: number
data: {
capacity?: number
report?: {
committed: number
added: number
removed: number
completed: number
incomplete: number
completedIssueIds: string[]
incompleteIssueIds: string[]
carriedTo?: string
}
}
createdAt: number
}
start: number
end: number
completedAt?: number
estimation: "count" | "storyPoints" | "originalEstimate"
burndown: {
at: number
remaining: number
scope: number
done: number
}[]
summary: {
committed: number
added: number
removed: number
completed: number
incomplete: number
completedIssueIds: string[]
incompleteIssueIds: string[]
}
committedIssueIds: string[]
issues: {
orgId: string
issueId: string
spaceId: string
number: number
key: string
typeId: string
summary: string
statusId: string
statusCategory: "done" | "todo" | "inprogress"
statusChangedAt?: number
resolutionId?: string
resolvedAt?: number
priorityId?: string
assigneeId?: string
reporterId?: string
creatorId?: string
labels: string[]
componentIds: string[]
fixVersionIds: string[]
affectsVersionIds: string[]
dueDate?: string
startDate?: string
storyPoints?: number
originalEstimate?: number
remainingEstimate?: number
timeSpent?: number
environment?: string
location?: {
lat: number
lon: number
label?: string
}
parentId?: string
sprintId?: string
closedSprintIds: string[]
rank: string
watchers: string[]
voters: string[]
securityLevelId?: string
fields: {
[key: string]: boolean | null | string | number | string[] | {
parent: string
child?: string
}
}
excerpt: string
statusLog: [string, number][]
commentCount: number
attachmentCount: number
requestTypeId?: string
channel?: string
participants: string[]
requesterEmail?: string
emailParticipants: string[]
approvals: {
id: string
statusId: string
approvers: string[]
needed: "all" | "one"
decisions: {
userId: string
decision: "approved" | "declined"
at: number
}[]
state: "pending" | "approved" | "declined"
createdAt: number
decidedAt?: number
}[]
satisfaction?: number
satisfactionComment?: string
sla: {
[key: string]: {
runningSince?: number
elapsed: number
paused?: boolean
stopped?: boolean
goal?: number
calendar: "business" | "always"
breached?: boolean
startedAt?: number
stoppedAt?: number
}
}
version: number
createdAt: number
updatedAt: number
}[]
}/ v1/ orgs/ :orgId/ issues/ sprints/ :sprintIdDeletes a future sprint; its issues return to the backlog.
- Auth
- A person's token or an API key, as Authorization: Bearer.
- Scope
- issues:write
Path parameters
orgIdOrganization id (
org_…).sprintIdSprint id (
spr_…).
curl -X DELETE 'https://api.cactive.com.au/v1/orgs/{orgId}/issues/sprints/{sprintId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
sprintId: string
}