Productivity & Activity Report API

The Productivity & Activity API returns per-employee productivity metrics, activity levels, and time breakdowns based on your configured Productivity Rules.

Endpoint

POST: https://api.ag.prodoscore.com/query/productivity/productivity_employee_list

Request Payload

{ "start_date": "2025-03-01", "end_date": "2025-03-10", "group_id": "team-123", "user_id": "user-456", "datewise": false, "summary": true, "page": 1, "limit": 50 }

Key Parameters

datewise (boolean): When false, returns summary metrics for the entire date range. When true, returns one row per employee per day.

summary (boolean): When true, aggregates by employee. When false, includes per-category breakdowns.

Optional Filters:

  • cat_name — Filter to a specific application category (e.g., "Social Media", "Productivity Tools")
  • app — Filter to a specific application name
  • url — Filter to a specific website/URL
  • attendance_type — Filter by attendance type (e.g., "present", "absent")

Response Fields

Each record includes:

  • employee_id — Unique employee identifier
  • employee_name — Full name
  • email — Employee email
  • team_name — Team/group name
  • date — Date (if datewise: true)
  • online_duration — Total seconds employee was online
  • active_duration — Seconds with keyboard/mouse activity
  • idle_duration — Seconds with no activity
  • break_duration — Seconds spent in configured breaks
  • key_presses — Total number of key presses
  • mouse_clicks — Total number of mouse clicks
  • productive_duration — Seconds spent on productive apps/URLs
  • unproductive_duration — Seconds spent on unproductive apps/URLs
  • neutral_duration — Seconds spent on neutral apps/URLs
  • productivity_percentage — (productive_duration / active_duration) * 100
  • active_percent — (active_duration / online_duration) * 100
  • shift_time — Expected shift duration in seconds

Example Response (Summary Mode)

[ { "employee_id": "emp-123", "employee_name": "John Doe", "email": "john.doe@company.com", "team_name": "Sales", "online_duration": 28800, "active_duration": 25920, "idle_duration": 2880, "break_duration": 1800, "productive_duration": 20736, "unproductive_duration": 2592, "neutral_duration": 2592, "productivity_percentage": 80, "active_percent": 90 } ]

Calculating Productivity

Productivity percentage is calculated as:

Productivity % = (productive_duration / active_duration) * 100

Note: Idle time does not count in the denominator. If an employee is idle for 1 hour (even if a productive app is open), that hour does not improve their productivity score. Productivity measures active work on productive tools, not mere presence.

Example: Exporting Team Productivity (cURL)

curl -X POST https://api.ag.prodoscore.com/query/productivity/productivity_employee_list \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "start_date": "2025-03-01", "end_date": "2025-03-10", "group_id": "sales-team", "datewise": false, "summary": true, "limit": 100 }'
Note on Privacy: This API returns aggregate activity metrics, not detailed logs of what users were doing. It measures volume (seconds on productive apps) and frequency (key presses, clicks) — not content.