---
title: "List lock templates"
method: GET
path: "/lkbx/templates"
tags: ["Lock Templates"]
---

# List lock templates

`GET /lkbx/templates`

## Request

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

Returns all lock templates you have access to.

## Query parameters

- `limit` integer
- `offset` integer

## Response `200`

List of lock templates

- LockTemplateListResponse
  - `ok` true, required
  - `data` object, required
    - `data` LockTemplate[], required
      - `id` integer: Template ID
      - `ownerId` integer: Owner user ID
      - `name` string: Template name
      - `duration` integer: Lock duration in seconds
      - `isRandomDuration` boolean: Whether duration is randomized
      - `minDuration` integer, nullable: Minimum duration if random
      - `maxDuration` integer, nullable: Maximum duration if random
      - `isBreakEnabled` boolean: Whether breaks are allowed
      - `breakRegularity` integer: Break interval in seconds
      - `breakMaximum` integer: Maximum break duration
      - `breakPenalty` integer: Penalty for exceeding break
      - `breakKeyholderOnly` boolean: Only keyholder can grant breaks
      - `isDeepthroatEnabled` boolean: DTT integration enabled
      - `deepthroatTimeReduction` integer: Time reduction per DTT session
      - `isShameEnabled` boolean: Shame feature enabled
      - `shameTimeAdd` integer: Time added for shame
      - `isEmergencyUnlockEnabled` boolean: Emergency unlock available
      - `isPublic` boolean: Whether publicly accessible
      - `isPubliclyListed` boolean: Whether listed publicly
      - `isTestLock` boolean: Whether this is a test lock
      - `isTimeDisplayed` boolean: Whether remaining time is shown
      - `createdAt` string, date-time: Creation timestamp
    - `pagination` Pagination, required
      - `limit` integer, required: Number of records returned
      - `offset` integer, required: Number of records skipped

## 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/lkbx/templates/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)
