Skip to main content
The Reports API provides pre-built analytics reports for financial performance and staff contributions. Each report returns both summary statistics and a paginated detail table.
Reports require specific permissions — page.reports.financial for financial reports and page.reports.users for user reports.

Financial reports

Generate financial performance reports with revenue breakdowns, payment tracking, and trend analysis.

GET /api/reports/financial

Returns financial summary statistics and a detailed breakdown of job-level financial data.

Query parameters

action
string
default:"report"
Report action. Use report to generate the financial report.
date_from
string
Start date filter in YYYY-MM-DD format.
date_to
string
End date filter in YYYY-MM-DD format.
branch_id
integer
Filter results to a specific branch.

Response

{
  "success": true,
  "data": {
    "summary": {
      "total_revenue": 125000.00,
      "total_jobs": 342,
      "average_job_value": 365.50,
      "outstanding_payments": 18750.00
    },
    "details": [ ... ]
  }
}

Permission

page.reports.financial

User reports

Staff contribution reports showing jobs created, case notes added, and files uploaded by each user.

GET /api/reports/users

Returns a summary of staff activity and a paginated detail table of individual contributions.

Query parameters

action
string
default:"report"
Report action. Use report to generate the user report.
page
integer
default:"1"
Detail table page number.
limit
integer
default:"25"
Detail table page size. Maximum: 100.
Search against staff names and job fields.
user_id
integer
Filter results to a specific staff member by account ID.

Response

{
  "success": true,
  "data": {
    "summary": {
      "total_staff": 12,
      "total_jobs_created": 856,
      "total_case_notes": 3420,
      "total_files_uploaded": 1247
    },
    "details": [
      {
        "user_id": 5,
        "name": "John Smith",
        "jobs_created": 142,
        "case_notes_added": 530,
        "files_uploaded": 210
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 25,
      "total": 12
    }
  }
}

Permission

page.reports.users