---
title: "Aggregate logged hours for a year"
method: GET
path: "/hours-summary"
---

# Aggregate logged hours for a year

`GET /hours-summary`

## Request

- Base URL: `https://api.reps-log.com/v1`
- URL: `https://api.reps-log.com/v1/hours-summary`
- Auth: HTTP bearer

Year-scoped totals from precomputed stats. Filter by at most one of propertyId / categoryId / participantId; propertyType narrows to STR or LTR. For arbitrary date ranges, use /time-logs.

## Query parameters

- `year` integer
- `propertyId` string
- `categoryId` string
- `participantId` string
- `propertyType` 'str' | 'ltr'

## Response `200`

OK

- object
  - `ok` true, required
  - `data` object, required
    - `year` number
    - `totalHours` number
    - `ltrHours` number
    - `strHours` number
    - `entryCount` number
    - `byProperty` object[]
      - `propertyId` string
      - `nickname` string
      - `isSTR` boolean
      - `hours` number
      - `entryCount` number

## Other responses

- `400`: Validation / bad request
- `401`: Unauthenticated
- `403`: Forbidden scope / not Premium
- `404`: Not found
- `429`: Rate limited

---

[API](https://skmtc.dev/reps-log/apis/repslog-api.md) · [All operations](https://skmtc.dev/reps-log/apis/repslog-api/llms.txt) · [OpenAPI document](https://skmtc.dev/reps-log/apis/repslog-api/revisions/304ab3847932?raw)
