---
title: "Tracked vs unbilled totals for one ticket"
method: GET
path: "/api/v1/tickets/{key}/summary"
---

# Tracked vs unbilled totals for one ticket

`GET /api/v1/tickets/{key}/summary`

## Request

- Base URL: `https://tallymeter.com`
- URL: `https://tallymeter.com/api/v1/tickets/{key}/summary`
- Auth: HTTP bearer

Sums every finished entry whose description carries the ticket key (e.g. `ABC-1 fix login`). `tracked_*` covers all finished time; `unbilled_*` only entries not yet on an invoice. Requires the `reports:read` scope.

## Path parameters

- `key` string, required

## Response `200`

Per-ticket totals

- object
  - `key` string, required
  - `tracked_seconds` integer, required
  - `tracked_hours` number, required
  - `unbilled_seconds` integer, required
  - `unbilled_hours` number, required
  - `unbilled_amount` number, required: unbilled time × the applicable hourly rate

## Other responses

- `401`: Missing or invalid token
- `403`: Token lacks the required scope, or the account has no active plan

---

[API](https://skmtc.dev/tallymeter/apis/tallymeter-api.md) · [All operations](https://skmtc.dev/tallymeter/apis/tallymeter-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tallymeter/apis/tallymeter-api/revisions/50044367b64e?raw)
