curl --request POST \
--url https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/project-cards \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
'import requests
url = "https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/project-cards"
payload = {
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
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({projectId: '3c90c3cc-0d44-4b50-8888-8dd25736052a', name: '<string>'})
};
fetch('https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/project-cards', 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({projectId: '3c90c3cc-0d44-4b50-8888-8dd25736052a', name: '<string>'})
};
fetch('https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/project-cards', 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"
},
"link": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"card_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"team_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sprint_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z"
},
"historyHeadId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"historyHeadSequence": "<string>"
}{
"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": {}
}
}Atomically create and place a Project Card
Creates a Project-owned Card, optionally assigns an effective Project member, links the Project when separately authorized, and places the Card on this Team board in one transaction. The selected Status and Sprint policy are revalidated under the Team lock before any row is inserted.
curl --request POST \
--url https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/project-cards \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
'import requests
url = "https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/project-cards"
payload = {
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
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({projectId: '3c90c3cc-0d44-4b50-8888-8dd25736052a', name: '<string>'})
};
fetch('https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/project-cards', 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({projectId: '3c90c3cc-0d44-4b50-8888-8dd25736052a', name: '<string>'})
};
fetch('https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/project-cards', 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"
},
"link": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"card_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"team_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sprint_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z"
},
"historyHeadId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"historyHeadSequence": "<string>"
}{
"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
A value you choose to identify this request, so that retrying it does not
repeat its effect. Reuse the same key when retrying and the original result
is returned; use a fresh key when you mean to create something new. Keys are
scoped to the API key that sent them (or to the user for browser sessions).
Replayed responses include Idempotency-Replayed: true.
255Body
Sanitized by the server to a resource name of at most 255 characters.
10000x >= 0Defaults to the Team's first not-started Status.
Planned or active Sprint; null places the Card in the backlog.
Response
Project Card, Team placement, and current history head.
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+$