---
title: "Get latest DTT session"
method: GET
path: "/dtt/sessions/latest"
tags: ["DTT Sessions"]
---

# Get latest DTT session

`GET /dtt/sessions/latest`

## Request

- Base URL: `https://dashboard.researchanddesire.com/api/v1`
- URL: `https://dashboard.researchanddesire.com/api/v1/dtt/sessions/latest`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `/oauth/authorize`
    - Token URL: `/oauth/token` scopes: `dtt:read`

Returns the most recent training session with all segment results. Returns null if no sessions exist.

## Response `200`

Latest session or null

- LatestDttSessionResponse
  - `ok` true, required
  - `data` DttSessionDetail
    - `id` integer: Session ID
    - `bubble_id` string: Unique public identifier
    - `name` string, nullable: Session name
    - `passed` boolean, nullable: Whether session was passed overall
    - `created_at` string, date-time: Session timestamp
    - `trainer_id` integer: Trainer device ID
    - `settings_id` integer, nullable: Template ID used
    - `TrainerSegment` DttTrainerSegment[]
      - `id` integer
      - `type` 'repetition' | 'endurance' | 'freeform' | 'bounce': Segment type
      - `passed` boolean, nullable: Whether segment was passed
      - `percentGrade` number: Performance grade percentage
      - `points` integer: Points earned
      - `durationMeasured` integer: Actual duration in seconds
      - `durationTarget` integer: Target duration in seconds
      - `repsMeasured` integer: Actual repetitions
      - `repsTarget` integer: Target repetitions
      - `speedMeasured` number: Actual speed
      - `speedTarget` number: Target speed
      - `targetDepth` number: Target depth
      - `targetWindow` number: Target window
      - `longestDeepthroat` number: Longest deepthroat duration
      - `strokeLength` number: Stroke length
      - `distanceTravelled` number: Total distance travelled
      - `order` integer: Segment order
      - `createdAt` string, date-time
  - `message` string: Message when no sessions found

## Other responses

- `401`: Authentication required or token invalid
- `500`: Internal server error

## Changes

- **2026-09-22** `2411203b3c10`: 2 info
  - the endpoint scheme security `bearerAuth` was added to the API
  - the endpoint scheme security `oauth2` was added to the API

[Operation history](https://skmtc.dev/researchanddesire/apis/research-and-desire-api/changes/dtt/sessions/latest/get.md)

---

[API](https://skmtc.dev/researchanddesire/apis/research-and-desire-api.md) - [All operations](https://skmtc.dev/researchanddesire/apis/research-and-desire-api/llms.txt) - [OpenAPI document](https://skmtc.dev/researchanddesire/apis/research-and-desire-api/revisions/682fc4d7f6d5?raw)
