Reports


Easy to use and powerful time tracking API allows you to get detailed reports just by giving a start and end date parameters to the URI.

There are several types of reports, you can choose the one you need
- Reports for each user (all available information for separate users)
- Report per day (all available information for a day)

Full report


Easily get general information about your team members tracked time for each task by using Full report API.

It takes 2 following parameters start_date and end_date in YYYY-MM-DD format.

Copy codeGEThttps://www.webwork-tracker.com/rest-api/reports/full-data?start_date={start_date}&end_date={end_date}

The response returns a json format. Below you can see an example of response structure.

                Copy code
                {
                    "dateReport" => [
                        {
                            "email" => "{email}"
                            "tasks" => [
                                {
                                    "taskId" => "{task_id}"
                                    "taskTitle" => "{task_title}"
                                    "minutes" => "{minutes}"
                                    "inactive_minutes" => "{inactive_minutes}"
                                },
                                ...
                            ],
                            "totalMinutes" => "{total_minutes}"
                        },
                        ...
                    ]
                }
            

Daily report


Daily report can help you get information about your team members tracked time sorted by tasks and projects. You can get the data for each day just by following the steps mentioned below.

You should give start_date and end_date parameters in YYYY-MM-DD format.

Copy codeGEThttps://www.webwork-tracker.com/rest-api/reports/daily-data?start_date={start_date}&end_date={end_date}

The API response should return a json format. An example of response structure you can see below.

                Copy code
                {
                    "dateReport" => [
                        {
                            "dateTracked" => "{date}"
                            "email" => "{email}"
                            "projects" => [
                                {
                                    "projectId" => "{project_id}"
                                    "projectName" => "{project_name}"
                                    "tasks" => [
                                        {
                                            "taskId" => "{task_id}"
                                            "taskTitle" => "{task_title}"
                                            "minutes" => "{minutes}"
                                            "inactive_minutes" => "{inactive_minutes}"
                                        },
                                        ...
                                    ]
                                },
                                ...
                            },
                            "totalMinutes" => "{total_minutes}"
                        },
                        ...
                    ]
                }
            

Daily Timeline


Daily timeline allows you to get information about worked time grouped by tasks and projects. Besides getting time spent on tasks you also get start and end time for each task. Additionally, each time entry includes timesheet approval information when available.

You should give start_date and end_date parameters in YYYY-MM-DD format.

Copy codeGEThttps://www.webwork-tracker.com/rest-api/reports/daily-timeline?start_date={start_date}&end_date={end_date}

The API response should return a json format. An example of response structure you can see below.

                Copy code
                {
                    "dateReport" => [
                        {
                            "dateTracked" => "{date}"
                            "email" => "{email}"
                            "projects" => [
                                {
                                    "projectId" => "{project_id}"
                                    "projectName" => "{project_name}"
                                    "tasks" => [
                                        {
                                            "taskId" => "{task_id}"
                                            "taskTitle" => "{task_title}"
                                            "timeEntries" => [
                                                {
                                                    "id" => "{time_entry_id}"
                                                    "beginDatetime" => "{start_time}"
                                                    "endDatetime" => "{end_time}"
                                                    "notes" => {
                                                        "noteMessage" => "{note}"
                                                        "minutes" => "{minutes}"
                                                        "amount" => "{amount}"
                                                        "inactive_minutes" => "{inactive_minutes}"
                                                    },
                                                    "minutes" => "{time_entry_minutes}"
                                                    "amount" => "{time_entry_amount}"
                                                    "inactive_minutes" => "{inactive_minutes}"
                                                    "timesheet_approval_id" => "{encoded_timesheet_id}"
                                                    "timesheet_approval_status" => "{approval_status}"
                                                },
                                                ...
                                            ],
                                            "taskMinutes" => "{total_task_minutes}"
                                        },
                                        ...
                                    ]
                                },
                                ...
                            },
                            "totalMinutes" => "{total_minutes}"
                        },
                        ...
                    ]
                }
            

Timesheet Approval Fields

Each time entry in the Daily Timeline response includes timesheet approval information:

  • timesheet_approval_id - The encoded timesheet approval ID that this time entry belongs to. Will be null if no timesheet approval exists for this time period.
  • timesheet_approval_status - The current status of the timesheet approval. Possible values are:
    • "open" - Timesheet is created but not yet submitted
    • "submitted" - Timesheet has been submitted for approval
    • "approved" - Timesheet has been approved
    • "rejected" - Timesheet has been rejected
    • null - No timesheet approval exists for this time entry

Note: The timesheet_approval_id uses the same encoding format as the dedicated Timesheets API, ensuring consistency across all APIs.