Skip to main content

Workflow User Productivity Report

Per-user workflow workload — completed, pending, and overdue tasks, average completion time, SLA compliance, and reassignments.

GET/apidev/v1/reports/workflow/user-productivity
PermissionAPICLI_RPTWF_PRODUCTIVIDAD
Rate Limit10 req/min
Cache300s
Max Range92 days

Overview​

Aggregates workflow task activity per assigned user over the date range. Each row reports the user, their completed, pending, and overdue task counts, the average completion time, the SLA compliance percentage, and how many tasks were reassigned. Overdue is computed against the company's current time. Results are paginated and ordered server-side. Use the optional filters to narrow by workflow definition or a single assignee.

SLA compliance

slaCompliancePercent is meaningful only when SLA tracking is configured for the company. When SLA is not configured, no tasks carry an SLA outcome and the value defaults to 100.


Request​

Request Headers​

Every request to a protected endpoint requires these headers:

HeaderRequiredDescription
AuthorizationYesBearer token obtained from the Login endpoint. Format: Bearer <token>
X-API-KeyYesCompany integration key provided during onboarding. Format: gtk_xxx...
tenantYesYour assigned tenant domain (default: geotareas.com) — always send your assigned tenant
Content-TypeConditionalapplication/json — required for POST and PUT requests

Query Parameters​

ParameterTypeRequiredDefaultDescription
startdatestringYes—ISO 8601 start date-time (e.g. 2026-03-01T00:00:00). Filters by task creation date.
enddatestringYes—ISO 8601 end date-time. Max range 92 days from startdate.
definition_idsstringNo—Comma-separated workflow definition IDs to include. Max 100.
assignee_idstringNo—Filter to a single assigned user ID.
sort_bystringNocompletedTasksColumn to sort by. One of: completedTasks, pendingTasks, overdueTasks, avgCompletionSeconds, reassignments, userName, slaMet, slaTotal.
sort_dirstringNodescSort direction: asc or desc.
limitintegerNo25Number of records per page (1–100).
offsetintegerNo0Number of records to skip for pagination.
sort_by is validated per report

This report accepts exactly these values:

completedTasks · pendingTasks · overdueTasks · avgCompletionSeconds · reassignments · userName · slaMet · slaTotal

Anything else returns 400 VALIDATION_ERROR, and the message names the accepted values. Until 2026-08-16 an unrecognised sort_by was silently ignored and the report came back in its default order, so a mis-typed column looked like it had worked.


Code Examples​

curl -s -H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT" \
"https://$TENANT/apidev/v1/reports/workflow/user-productivity?startdate=2026-03-01T00:00:00&enddate=2026-03-31T23:59:59&limit=25"

Response​

Response Fields​

FieldTypeDescription
usuidstringUser ID.
userNamestringUser name.
completedTasksnumberTasks completed in the period.
pendingTasksnumberTasks pending or in progress.
overdueTasksnumberPending tasks past their due date (vs company current time).
slaCompliancePercentnumberSLA compliance rate for the user's tasks. Defaults to 100 when SLA is not configured.
avgCompletionSecondsnumberAverage completion time in seconds.
reassignmentsnumberNumber of tasks reassigned.

Example Response​

{
"success": true,
"data": [
{
"usuid": "552398174620055",
"userName": "Carlos Martinez",
"completedTasks": 37,
"pendingTasks": 6,
"overdueTasks": 2,
"slaCompliancePercent": 91.89,
"avgCompletionSeconds": 7420.5,
"reassignments": 3
}
],
"meta": {
"total": 1,
"limit": 25,
"offset": 0
}
}

Errors​

CodeHTTPDescription
VALIDATION_ERROR400Invalid params: missing dates, range > 92 days, invalid enum values.
INVALID_DATE_RANGE400Date range invalid or greater than 92 days.
UNAUTHORIZED401Missing, invalid, or expired tenant / Authorization / X-API-Key
FORBIDDEN403User lacks required permission.
RATE_LIMITED429Exceeded 10 req/min.
INTERNAL_ERROR500Unexpected server error.