Parameters
1 query
Query parameters
· 1projectCodestringOptionalFilter by project key.
PROJReturns issue counts grouped by status category, total non-spam count, spam count, and the "resolution speed" block (median active time to close + median SLA ratio over the last 90 days, per priority + aggregate). Backlog / waiting time and re-open gaps are subtracted from the wall-clock total so the number reflects team-controlled work only. Useful for dashboard widgets and overview panels.
1 query
projectCodestringOptionalFilter by project key.
PROJ1 status code documented
byCategoryobjectRequiredIssue count per status category code (e.g. { "new": 5, "progress": 3 }).
spamCountnumberRequiredTotal spam issues.
totalCountnumberRequiredTotal non-spam issues.
byAssigneeobject[]RequiredPer-assignee issue counts across all statuses (spam excluded). Sorted by count DESC, then by last-name / first-name ASC. Used by the admin grid to render the Assignee filter with counts.
contactExternalIdstringRequired16-char shop__contact.external_id of the assignee.
namestringRequiredDisplay name (company name, resolved full name, e-mail, or external id fallback).
countnumberRequiredTotal non-spam issues assigned to this contact across all statuses.
unassignedCountnumberRequiredTotal non-spam issues with no primary assignee. Used by the "Nepřiřazené" option in the Assignee filter.
resolutionSpeedobjectRequiredRolling 90-day resolution-speed metric. Active time subtracts backlog (waiting) and re-open gaps (done → other → done). Priority-aware SLA ratio uses per-org configuration.
windowDaysnumberRequiredRolling window used for the calculation (currently 90).
sampleSizenumberRequiredNumber of closed tickets that contributed to the aggregate median.
medianActiveSecondsnumber | nullRequiredAggregate median of the wall-clock time from creation to final close, minus time spent in waiting (backlog) and any done re-open gaps. Null when the sample is empty.
medianSlaRationumber | nullRequiredAggregate median of active_time / sla_target(priority). Values < 1 mean the team beats its SLA on typical tickets. Null when the sample is empty. Priority-normalised so the mix of closed priorities does not skew the number.
perPriorityobject[]RequiredPer-priority breakdown, ordered blocker → low, for a tooltip / drilldown.
priority"blocker" | "critical" | "high" | "normal" | "low"RequiredsampleSizenumberRequiredmedianActiveSecondsnumber | nullRequiredmedianSlaRationumber | nullRequiredslaTargetSecondsnumberRequiredPer-org SLA target for this priority in seconds (from cas__organisation_configuration.issue_sla_target_seconds with platform defaults).
{
"byCategory": {},
"spamCount": 0,
"totalCount": 0,
"byAssignee": [
{
"contactExternalId": "example_contactExternalId",
"name": "example_name",
"count": 0
}
],
"unassignedCount": 0,
"resolutionSpeed": {
"windowDays": 0,
"sampleSize": 0,
"perPriority": [
{
"sampleSize": 0,
"slaTargetSeconds": 0
}
]
}
}GET /bff/issue/statistics
curl -X GET "https://api.bizkithub.com/bff/issue/statistics?projectCode=PROJ" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY"All BizKitHub public API endpoints require authentication via API key.