curl --request PATCH \
--url https://davinci-app.com/api/v2/projects/{projectId}/cards/{cardId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"resolution": "<string>",
"isOpen": true,
"deadline": "2023-11-07T05:31:56Z",
"effort": 1,
"expectedHistoryHeadId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://davinci-app.com/api/v2/projects/{projectId}/cards/{cardId}"
payload = {
"name": "<string>",
"description": "<string>",
"resolution": "<string>",
"isOpen": True,
"deadline": "2023-11-07T05:31:56Z",
"effort": 1,
"expectedHistoryHeadId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
resolution: '<string>',
isOpen: true,
deadline: '2023-11-07T05:31:56Z',
effort: 1,
expectedHistoryHeadId: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://davinci-app.com/api/v2/projects/{projectId}/cards/{cardId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
resolution: '<string>',
isOpen: true,
deadline: '2023-11-07T05:31:56Z',
effort: 1,
expectedHistoryHeadId: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://davinci-app.com/api/v2/projects/{projectId}/cards/{cardId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"card": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"description": "<string>",
"resolution": "<string>",
"created_by_user": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deadline": "2023-11-07T05:31:56Z",
"is_open": true,
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"effort": 1,
"author_display_name": "<string>",
"closed_at": "2023-11-07T05:31:56Z"
},
"historyHeadId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"historyHeadSequence": "<string>",
"indexCard": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"resolution": "<string>",
"is_open": true,
"deadline": "2023-11-07T05:31:56Z",
"effort": 1,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"tag_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"user_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"team_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"team_status_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"sprint_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"team_statuses": [
{
"team_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status_name": "<string>",
"status_color": "<string>",
"sprint_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"team_placements": [
{
"team_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sprint_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"history_head_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"history_head_sequence": "<string>",
"search_text": "<string>",
"created_by_user": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"author_display_name": "<string>",
"closed_at": "2023-11-07T05:31:56Z"
}
}{
"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": {}
}
}Update a card
Updates project-global card fields and appends field-history events.
Changing isOpen never changes any team workflow placement.
curl --request PATCH \
--url https://davinci-app.com/api/v2/projects/{projectId}/cards/{cardId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"resolution": "<string>",
"isOpen": true,
"deadline": "2023-11-07T05:31:56Z",
"effort": 1,
"expectedHistoryHeadId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://davinci-app.com/api/v2/projects/{projectId}/cards/{cardId}"
payload = {
"name": "<string>",
"description": "<string>",
"resolution": "<string>",
"isOpen": True,
"deadline": "2023-11-07T05:31:56Z",
"effort": 1,
"expectedHistoryHeadId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
resolution: '<string>',
isOpen: true,
deadline: '2023-11-07T05:31:56Z',
effort: 1,
expectedHistoryHeadId: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://davinci-app.com/api/v2/projects/{projectId}/cards/{cardId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
resolution: '<string>',
isOpen: true,
deadline: '2023-11-07T05:31:56Z',
effort: 1,
expectedHistoryHeadId: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://davinci-app.com/api/v2/projects/{projectId}/cards/{cardId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"card": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"description": "<string>",
"resolution": "<string>",
"created_by_user": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deadline": "2023-11-07T05:31:56Z",
"is_open": true,
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"effort": 1,
"author_display_name": "<string>",
"closed_at": "2023-11-07T05:31:56Z"
},
"historyHeadId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"historyHeadSequence": "<string>",
"indexCard": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"resolution": "<string>",
"is_open": true,
"deadline": "2023-11-07T05:31:56Z",
"effort": 1,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"tag_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"user_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"team_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"team_status_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"sprint_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"team_statuses": [
{
"team_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status_name": "<string>",
"status_color": "<string>",
"sprint_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"team_placements": [
{
"team_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sprint_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"history_head_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"history_head_sequence": "<string>",
"search_text": "<string>",
"created_by_user": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"author_display_name": "<string>",
"closed_at": "2023-11-07T05:31:56Z"
}
}{
"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.
Headers
Quoted or unquoted latest card historyHeadId. When the request body also
contains expectedHistoryHeadId, both values must match. A stale head
returns 409 CARD_HISTORY_CONFLICT without applying the mutation.
132Path Parameters
Project id. May be compound in the form {projectId}--{branchName}.
1Agile card id.
Body
Sanitized by the server to a resource name of at most 255 characters.
10000x >= 0Latest committed card-history row ID; null only before a card has history.
Response
Updated card.
Hide child attributes
Hide child attributes
Optional Markdown resolution; closing or reopening the card does not clear it.
10000Unit-agnostic estimate, commonly interpreted as story points or hours.
x >= 0Display name of the user who created the card, when available.
Timestamp of the latest transition to the closed state; null while open.
Latest committed card-history row ID; null only before a card has history.
Globally monotonic card-history sequence.
^\d+$Hide child attributes
Hide child attributes
10000x >= 0Hide child attributes
Hide child attributes
Latest committed card-history row ID; null only before a card has history.
Globally monotonic card-history sequence.
^\d+$8192