curl --request POST \
--url https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/statuses/{statusId}/closures \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"expectedHistoryHeadIds": {}
}
'import requests
url = "https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/statuses/{statusId}/closures"
payload = { "expectedHistoryHeadIds": {} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({expectedHistoryHeadIds: {}})
};
fetch('https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/statuses/{statusId}/closures', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({expectedHistoryHeadIds: {}})
};
fetch('https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/statuses/{statusId}/closures', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"teamId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"statusId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"closeMode": "off",
"closedCount": 1,
"cardIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"historyHeads": [
{
"cardId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"historyHeadId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"historyHeadSequence": "<string>"
}
],
"truncated": true
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}Close every open card in a workflow status
Atomically closes every still-open project card currently placed in this team status. Bulk close is available on every workflow status. The caller must be able to write every affected project; any denial or stale history head rolls back the complete operation.
curl --request POST \
--url https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/statuses/{statusId}/closures \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"expectedHistoryHeadIds": {}
}
'import requests
url = "https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/statuses/{statusId}/closures"
payload = { "expectedHistoryHeadIds": {} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({expectedHistoryHeadIds: {}})
};
fetch('https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/statuses/{statusId}/closures', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({expectedHistoryHeadIds: {}})
};
fetch('https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/statuses/{statusId}/closures', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"teamId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"statusId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"closeMode": "off",
"closedCount": 1,
"cardIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"historyHeads": [
{
"cardId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"historyHeadId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"historyHeadSequence": "<string>"
}
],
"truncated": true
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}Authorizations
Personal access token. The scopes granted at issuance determine both which
operations the key may call and the ceiling on the resource permissions it
can exercise. Each scope family is a ladder: projects:manage implies
projects:write and projects:read; cards:manage implies cards:write
and cards:read; and teams:manage implies teams:write and teams:read.
These are named API capability bundles, not blanket domain roles:
manage exposes only the permissions enumerated for that scope and never
bypasses the acting user's current role-based access.
Path Parameters
Organization id.
Agile team id.
Team workflow-status id.
Body
Response
Bounded summary of cards closed by the transaction.
Automatic close-on-entry behavior for a workflow status. The bulk close
action is available for every status. off leaves card state unchanged
on entry, while automatic closes open cards on entry. manual is a
deprecated legacy value with the same entry behavior as off.
add_mover_to_assignees is a deprecated write alias that stores
closeMode=off with assignMoverOnEntry=true; reads never return that
alias.
off, manual, automatic, add_mover_to_assignees x >= 0100100