Browse all guides

Reports & Exports

Beyond CRUD, the API exposes ready-made reports and exports. They come in three flavors: grouped list endpoints, analytics getters, and file export actions. The exact query parameters and response shapes for each are in the API Reference.

Time reports (grouping)

The timesheets list endpoint doubles as a reporting API - pass group to get aggregated rows instead of individual entries:

# Hours per employee in July
curl ".../api/restify/timesheets?group=employee_id&date=2026-07-01,2026-07-31" \
  -H "Authorization: Bearer <key>"
{
  "data": [
    {
      "id": "01kwt1xnvkjg93yxthp73ngqza",
      "type": "timesheets",
      "attributes": {
        "total_worked_minutes": 9120,
        "total_worked_hours": 152,
        "entity_name": "Sarah Mitchell"
      }
    }
  ],
  "meta": { "total_worked_hours": 152 }
}

Group by employee_id, project_id or task_id; add group_client_id to restrict to one client. Report totals are added to meta. Users with payroll permissions also receive billing and profitability figures per row.

Presence sheet export (employees)

Export the monthly presence/timesheet report as an Excel or CSV file:

curl ".../api/restify/employees/getters/export?format=xlsx" \
  -H "Authorization: Bearer <key>"

The response contains a temporary signed download URL (valid 30 minutes) instead of the file itself - fetch it to download the workbook. Defaults to the previous full month when no range is given. Requires the Manage employees permission.

Approval workflows

  • Holidays - requests flow through dedicated actions: POST /holidays/{id}/actions?action=approve (or reject, cancel), each accepting an optional status_explanation. Filter pending requests with the documented status filters on GET /holidays.
  • Timesheet submissions - weekly approval state lives on GET /timesheet-submissions, with a weekly-approval-report getter summarizing who has submitted, approved or is missing hours.
  • Expenses - expenses carry an approval status and category; see the Expenses tag in the reference.

Analytics getters

Read-only computed payloads, one GET away (/{resource}/getters/{getter}):

Getter What you get
employees/getters/hr-analytics Headcount, joiners/leavers and org KPIs.
employees/getters/employee-capacity Capacity and utilization per employee.
evaluations/getters/performance-analytics Evaluation completion and score analytics.
invoices/getters/invoice-analytics, invoices/getters/chart Invoicing totals and time series.
projects/getters/project-profitability, portfolio-overview, project-team-economics Project margin and portfolio economics.
clients/getters/client-profitability Profitability per client.
leads/getters/lead-analytics-overview, lead-funnel, lead-forecast, lead-sources, … Full CRM analytics family.
timesheet-submissions/getters/weekly-approval-report Weekly timesheet approval status.

Every report getter, with its parameters, is listed under the Reports & Analytics sections of the reference (People, Time, Finance, Project and CRM reports).

CSV / file exports

  • GET /holidays + the export action - export holiday requests.
  • GET /leads/getters/lead-analytics-export - CRM analytics as a file.
  • GET /leads/getters/download-leads-csv-template - CSV template for lead imports.
  • Timesheets download-report action - Excel report of logged time.

File endpoints return either the file stream or a signed URL, as documented per endpoint. Signed URLs expire, so download promptly and re-request when needed.

Questions about the API? Contact support or email support@growee.net.