curl --request GET \
--url https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/charts \
--header 'Authorization: Bearer <token>'import requests
url = "https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/charts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/charts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/charts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"chartType": "velocity",
"unit": "effort",
"sprints": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "active",
"startDate": "2023-11-07T05:31:56Z",
"endDate": "2023-11-07T05:31:56Z",
"committed": 123,
"completed": 123,
"partial": true
}
],
"meta": {
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"sprintCount": 1,
"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": {}
}
}Get team analytics
Returns sprint velocity by default or a daily cumulative-flow series.
Explicit cumulative-flow ranges are capped to 90 days; an omitted range
covers the team’s full history. The acting user’s live role must include
teams:sprints:analysis:read.
curl --request GET \
--url https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/charts \
--header 'Authorization: Bearer <token>'import requests
url = "https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/charts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/charts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/charts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"chartType": "velocity",
"unit": "effort",
"sprints": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "active",
"startDate": "2023-11-07T05:31:56Z",
"endDate": "2023-11-07T05:31:56Z",
"committed": 123,
"completed": 123,
"partial": true
}
],
"meta": {
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"sprintCount": 1,
"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": {}
}
}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.
Query Parameters
velocity, cumulative-flow ISO 8601 calendar date or date-time accepted for a sprint boundary.
^\d{4}-\d{2}-\d{2}(?:T.*)?$"2026-08-27"
"2026-08-27T09:00:00Z"
ISO 8601 calendar date or date-time accepted for a sprint boundary.
^\d{4}-\d{2}-\d{2}(?:T.*)?$"2026-08-27"
"2026-08-27T09:00:00Z"
Limit cumulative-flow results to these linked projects.
50Response
Requested team chart.
- Option 1
- Option 2
"velocity""effort"Hide child attributes
Hide child attributes
active, completed