The Dynamic Reports API is the most flexible reporting endpoint, allowing you to specify exactly which columns to include in your report and choose between summary and detailed views.
Endpoint
POST: https://api.ag.prodoscore.com/query/reports/dynamic_report
Request Payload
Key Parameters
summary (boolean): When true, returns one row per employee with aggregated metrics across the date range. When false, returns one row per employee per day for granular detail.
columns (array): List of columns to include in the response. Available columns:
- Employee info:
identity_id,first_name,last_name,email,manager,group_name - Attendance:
attendance_date,punch_in,punch_out,shift_start,shift_end - Duration metrics:
punch_duration,online_duration,active_duration,idle_duration,break_duration - Activity percent:
active_percent - Productivity:
productive_duration,unproductive_duration,neutral_duration
download_type: Format for the response: "csv", "xls", or "json". Defaults to JSON if omitted.
Summary vs. Detailed Mode
Summary Mode (summary: true):
Result: One row per employee with total punch_duration, total active_duration, total productive_duration across the entire date range.
Detailed Mode (summary: false):
Result: Multiple rows per employee (one per day) showing daily breakdowns.
Response Format (JSON Example)
Common Use Cases
- Payroll Export: Request
summary: truewith columnsemail, punch_durationto export total hours per employee - Daily Timesheet: Request
summary: falsewith columnsattendance_date, email, punch_duration, break_durationfor detailed daily records - Productivity Analysis: Request both summary and detailed views with all productivity columns to analyze trends over time