---
title: "GET /v1/projects/{projectOrProductUID}/usage/sessions"
method: GET
path: "/v1/projects/{projectOrProductUID}/usage/sessions"
tags: ["usage"]
---

# GET /v1/projects/{projectOrProductUID}/usage/sessions

`GET /v1/projects/{projectOrProductUID}/usage/sessions`

Get sessions usage for a project with time range and period aggregation, when endDate is 0 or unspecified the current time is implied

## Path parameters

- `projectOrProductUID` string, required

## Query parameters

- `startDate` integer
- `endDate` integer
- `deviceUID` string[]
- `fleetUID` string[]
- `limit` integer
- `period` 'day' | 'week' | 'month', required
- `aggregate` 'device' | 'fleet' | 'project'
- `skipRecentData` boolean

## Response `200`

Response body for Session Usage

- object
  - `sessions` UsageSessionsData[], required
    - `device` string
    - `first_sync_sessions` integer, required — Number of first sync sessions in this period
    - `fleet` string
    - `period` string, date-time, required
    - `sessions` integer, required
    - `sessions_by_transport` object — Count of sessions grouped by transport type prefix (e.g. cell, wifi, ntn, lorawan)
    - `tls_sessions` integer, nullable — Number of TLS sessions in this period
    - `total_bytes` integer, required
    - `total_devices` integer, required
  - `truncated` boolean, required — If the data is truncated that means that the parameters selected resulted in a response of over | the requested limit of data points, in order to ensure

## Other responses

- `default` — The response body in case of an API error.

## Changes

- **2026-07-10** `1887e880199a` — 1 breaking, 6 info
  - the response's body type/format changed from ``/`` to `object`/`` for status `default`
  - added the optional property `debug` to the response with the `default` status
  - added the optional property `details` to the response with the `default` status
  - added the optional property `request` to the response with the `default` status
  - …3 more
- **2026-07-07** `b51b37d660fc` — 2 breaking
  - for the `query` request parameter `endDate`, the type/format was changed from `integer`/`` to `integer`/`int64`
  - for the `query` request parameter `startDate`, the type/format was changed from `integer`/`` to `integer`/`int64`
- **2026-03-25** `31a8d1f882c6` — 2 info
  - added the optional property `sessions/items/sessions_by_transport` to the response with the `200` status
  - added the optional property `sessions/items/tls_sessions` to the response with the `200` status
- **2026-02-26** `e9b880497243` — 1 info
  - added the required property `sessions/items/first_sync_sessions` to the response with the `200` status
- **2026-02-04** `6b77b7d523c8` — 2 info
  - added the new optional `query` request parameter `limit`
  - added the required property `truncated` to the response with the `200` status

[Full history](https://skmtc.dev/notefile/apis/notehub-api/changes/v1/projects/:projectOrProductUID/usage/sessions/get.md)

---

[API](https://skmtc.dev/notefile/apis/notehub-api.md) · [All operations](https://skmtc.dev/notefile/apis/notehub-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/notefile/notehub-api/revisions/9c5b2b63a991/schema)
