---
title: "Get top revenue-generating items (services and inventory)"
method: GET
path: "/Metrics/top-revenue-items"
tags: ["Metrics"]
---

# Get top revenue-generating items (services and inventory)

`GET /Metrics/top-revenue-items`

## Request

- Base URL: `https://api.clinicos.vet/backend/business`
- URL: `https://api.clinicos.vet/backend/business/Metrics/top-revenue-items`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/docs/Metrics/top-revenue-items/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `period` string
- `limit` union
  - integer
  - string, int32
- `mode` string

## Response `200`

OK

- BusinessMetricsResponseDtoOfTopRevenueItemsDto
  - `success` boolean
  - `data` TopRevenueItemsDto: Top revenue-generating items (services and inventory products)
    - `items` RevenueItemDto[]
      - `name` string: Item name (e.g., "Apoquel 16mg", "Dental Cleaning Level 1")
      - `category` string: Category (e.g., "Pharmacy", "Services", "Vaccines")
      - `revenue` union: Total revenue from this item in the period
        - number, double
        - string, double
      - `count` union: Total quantity sold/administered (supports decimal for liquid medications)
        - number, double
        - string, double
      - `trend` string: Trend compared to previous period: "up", "down", "flat"
      - `status` string: Status for inventory items: "In Stock", "Low", "Reorder" Status for services: "Active"
    - `period` string
    - `totalRevenue` union
      - number, double
      - string, double
    - `basis` string, nullable: What the figures measure, rendered with them (see string? KPIMetricDto.Basis). The breakdowns reconcile to the Revenue KPI: collected money, not billed (ITE-896).
  - `error` string, nullable
  - `message` string, nullable

## Other responses

- `500`: Internal Server Error

## Changes

- **2026-10-02** `652ff1990675`: 3 info
  - added the optional property `data/oneOf[#/components/schemas/TopRevenueItemsDto]/basis` to the response with the `200` status (media type: text/plain)
  - added the optional property `data/oneOf[#/components/schemas/TopRevenueItemsDto]/basis` to the response with the `200` status (media type: application/json)
  - added the optional property `data/oneOf[#/components/schemas/TopRevenueItemsDto]/basis` to the response with the `200` status (media type: text/json)

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/Metrics/top-revenue-items/get.md)

---

[API](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1.md) - [All operations](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/revisions/099cf36186e0?raw)
