---
title: "Get lock session by ID"
method: GET
path: "/lkbx/sessions/{id}"
tags: ["Lock Sessions"]
---

# Get lock session by ID

`GET /lkbx/sessions/{id}`

Returns detailed information about a specific lock session, including all segment history. Returns 404 if the session does not exist or belongs to a user you do not have access to.

## Path parameters

- `id` integer, required

## Response `200`

Lock session with segments

- LockSessionDetailResponse
  - `ok` true, required
  - `data` LockSessionDetail, required
    - `id` integer — Session ID
    - `bubbleId` string — Unique public identifier
    - `publicId` string — Public session ID
    - `ownerId` integer — Owner user ID
    - `name` string — Session name
    - `lockState` 'pending' | 'locked' | 'completed' | 'abandoned' | 'break' — Current lock state
    - `duration` integer — Lock duration in seconds
    - `startDate` string, date-time, nullable — Session start time
    - `endDate` string, date-time, nullable — Session end time
    - `isActive` boolean — Whether session is active
    - `createdAt` string, date-time — Creation timestamp
    - `keyholderIds` integer[] — IDs of the users assigned as keyholders for this session. An empty array means a self-lock (no keyholder). Resolve IDs to usernames via the Users endpoints.
    - `LockSegment` LockSegment[]
      - `id` integer
      - `type` string — Segment type (start, locked, break, unlocked)
      - `createdAt` string, date-time
      - `isLocked` boolean — Lock state during segment

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication required or token invalid
- `404` — Lock session not found

---

[API](https://skmtc.net/researchanddesire/apis/research-and-desire-api.md) · [All operations](https://skmtc.net/researchanddesire/apis/research-and-desire-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/researchanddesire/research-and-desire-api/versions/9c6dc82bb579/schema)
