Reports & Statistics

CMS Admin exposes a large set of read-only aggregation endpoints for dashboards and printed reports — case counts by category/branch/court type, filing trends by year, hearing volume, and more.

Case record statistics

  • Name
    GET /api/case-records/statistics
    Description

    Overall case counts, typically broken down by status.

  • Name
    GET /api/case-records/statistics-by-court-type
    Description

    Case counts grouped by court type.

  • Name
    GET /api/case-records/statistics-by-branch
    Description

    Case counts grouped by court branch.

  • Name
    GET /api/case-records/statistics-by-category
    Description

    Case counts grouped by case category.

  • Name
    GET /api/case-records/statistics-by-case-type
    Description

    Case counts grouped by case type.

Back-office dashboards

  • Name
    GET /api/backoffice/statistics
    Description

    General back-office dashboard summary.

  • Name
    GET /api/backoffice/case-counts
    Description

    Total case counts across statuses.

  • Name
    GET /api/backoffice/case-top-categories
    Description

    Top case categories by volume.

  • Name
    GET /api/backoffice/case-stage-charts
    Description

    Case distribution across procedural stages.

  • Name
    GET /api/backoffice/case-per-year
    Description

    Filings per year, with a /summary/per-category variant broken down by category.

  • Name
    GET /api/backoffice/court-statistics
    Description

    Aggregate statistics per court type/level.

  • Name
    GET /api/backoffice/province-case-report
    Description

    Case counts by province.

  • Name
    GET /api/backoffice/hearings-per-month
    Description

    Hearing volume by month.

  • Name
    GET /api/backoffice/login-frequency
    Description

    User login frequency over time.

  • Name
    GET /api/backoffice/filed-vs-closed
    Description

    Filed vs. closed case comparison over time.

  • Name
    GET /api/backoffice/actions-overdue-count
    Description

    Count of overdue compliance/action items.


GET/api/case-records/statistics

Get case statistics

Retrieve overall case counts, typically broken down by status.

Optional attributes

  • Name
    year
    Type
    integer
    Description

    Restrict the statistics to a specific filing year.

Request

GET
/api/case-records/statistics
curl -G https://your-domain.com/api/case-records/statistics \
  -H "Accept: application/json" \
  -H "X-XSRF-TOKEN: {token}" \
  --cookie "cms_admin_session={session}" \
  --data-urlencode "year=2026"

Response

{
  "data": {
    "total": 1240,
    "for_raffling": 32,
    "received": 980,
    "case_closed": 190,
    "archived": 38
  }
}

GET/api/case-year-list

Get available filing years

Retrieve the distinct years in which cases have been filed, used to populate year filters. GET /api/case-year-bracket returns the min/max range instead of the distinct list.

Request

GET
/api/case-year-list
curl https://your-domain.com/api/case-year-list \
  -H "Accept: application/json" \
  -H "X-XSRF-TOKEN: {token}" \
  --cookie "cms_admin_session={session}"

Response

{
  "data": [2023, 2024, 2025, 2026]
}

POST/api/reports/case-record-list

Generate a case record list report

Generate a filtered, printable case record list report.

Optional attributes

  • Name
    filters
    Type
    object
    Description

    Same filter shape as List all case records — status, branch, category, date range.

Request

POST
/api/reports/case-record-list
curl -X POST https://your-domain.com/api/reports/case-record-list \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-XSRF-TOKEN: {token}" \
  --cookie "cms_admin_session={session}" \
  -d '{"filters": {"status": "case_closed", "branch_id": "9c8d7e6f-5a4b-3210-9c8d-7e6f5a4b3210"}}'

Response

{
  "data": [
    {
      "case_number": "2025-CIV-000012",
      "case_title": "MARIA REYES VS. ABC CORP.",
      "status": "case_closed",
      "closed_at": "2025-11-20"
    }
  ],
  "meta": {"total": 1}
}

Was this page helpful?