---
title: "Get Work Order Summary"
method: POST
path: "/service_orders/summary"
---

# Get Work Order Summary

`POST /service_orders/summary`

## Request

- Base URL: `https://dc-region.zuperpro.com/api`
- URL: `https://dc-region.zuperpro.com/api/service_orders/summary`
- Auth: API key in header `x-api-key`

Operates on Service Orders, shown in the Zuper client app as "Work Order" (in every industry). Work Orders share the exact same underlying schema and endpoints as Purchase Orders / Material Orders; they're distinguished only by the `purchase_order_type` field (`SERVICE_ORDER` here) and the `/service_orders` route prefix. Returns order counts/totals overall and broken down by status, plus an `OVERDUE` bucket (orders past their due_date in an active pre-fulfillment status).

## Request body

- object
  - `filter_rules` object[]
  - `filter_rule_operator` 'AND' | 'OR'

## Response `200`

200

- object
  - `type` 'success'
  - `message` string
  - `data` object
    - `total_service_orders` object
      - `count` integer
      - `total` number
    - `count_by_status` object[]
      - `status_name` string: One entry per status value, plus a synthetic "OVERDUE" bucket.
      - `count` integer
      - `total` number

## Changes

- **2026-11-03** `3c21bc232e16`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zuper/apis/zuper-pro-api/changes/service_orders/summary/post.md)

---

[API](https://skmtc.dev/zuper/apis/zuper-pro-api.md) - [All operations](https://skmtc.dev/zuper/apis/zuper-pro-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zuper/apis/zuper-pro-api/revisions/3c21bc232e16?raw)
