Aggregate dashboard stats
GET
/dashboard-summary
const url = 'https://example.com/api/dashboard-summary';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/api/dashboard-summary \ --header 'Authorization: Bearer <token>'Project count, handoff counts, team members, team-level GitHub status, project health, and sparklines.
Authorizations
Section titled “Authorizations ”Responses
Section titled “ Responses ”Dashboard summary
Media type application/json
object
projectCount
integer
runCount
Count of conversion runs (legacy).
integer
openHandoffCount
integer
totalHandoffCount
Handoff count across all statuses.
integer
teamMembers
integer
githubConnected
Whether any team member has an active GitHub App installation.
boolean
is_team_admin
boolean
is_super_admin
boolean
projectHealth
Array<object>
object
id
string format: uuid
name
string
tickets
integer
sparklines
object
days
integer
tickets
Array<integer>
projects
Array<integer>
team_members
Array<integer>
weeklyMetrics
Rolling-window rollups, ISO-week counts, and per-day velocity (UTC).
object
period_days
integer
tickets_created
integer
projects_created
integer
team_members_joined
integer
openedThisWeek
integer
closedThisWeek
integer
deploysThisWeek
integer
avgResolutionHours
number | null
velocityByDay
Array<object>
object
date
required
string
opened
required
integer
closed
required
integer
Not authenticated
Media type application/json
object
error
required
Human-readable error message
string
code
Stable machine-readable error code for client branching
string
fieldErrors
First validation message per field path
object
key
additional properties
string
issues
Structured validation issues (Zod)
Array<object>
object
path
required
string
message
required
string
retryAfter
Seconds until rate limit resets (429 responses)
number
reconnect
True if re-linking GitHub may fix the issue
boolean