---
title: "Activate DTT template"
method: POST
path: "/dtt/templates/{id}"
tags: ["DTT Templates"]
---

# Activate DTT template

`POST /dtt/templates/{id}`

Activates a training program template by ID. Only one template can be active at a time.

If your schedule type is "auto" or "weekly", it will be switched to "single" mode.
All other templates (owned and imported) will be deactivated.

## Path parameters

- `id` integer, required

## Request body

- ActivateTemplateRequest
  - `isActive` true, required — Must be true to activate

## Response `200`

Template activated

- ActivateDttTemplateResponse
  - `ok` true, required
  - `data` object, required
    - `id` integer — Template ID
    - `bubbleId` string — Unique public identifier
    - `ownerId` integer — Owner user ID
    - `name` string — Program name
    - `description` string — Program description
    - `tagline` string — Short tagline
    - `message` string — Welcome message
    - `isPublic` boolean — Whether publicly visible
    - `isActive` boolean — Whether currently active
    - `handsFreeMode` boolean — Hands-free mode enabled
    - `targetDepth` integer — Target depth percentage
    - `targetWindow` integer — Target window size
    - `toyId` integer, nullable — Associated toy ID
    - `createdDate` string, date-time — Creation date
    - `updatedAt` string, date-time — Last update time
    - `Segment` DttSegment[]
      - `id` integer
      - `type` 'repetition' | 'endurance' | 'freeform' | 'bounce' — Segment type
      - `duration` integer — Duration (meaning varies by type)
      - `speed` integer — Speed setting (1–1000)
      - `repeat` integer — Number of times to repeat
      - `order` integer — Position in the segment list (0-based)
      - `passFailEnabled` boolean — Whether pass/fail grading is enabled
      - `passGradeThreshold` integer — Minimum grade to pass (0–100)
      - `failureText` string, nullable — Message shown on failure
    - `scheduleTypeChanged` boolean — Whether schedule type was changed to single

## Other responses

- `400` — Invalid request
- `401` — Authentication required or token invalid
- `404` — Template not found or not owned

---

[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/revisions/9c6dc82bb579/schema)
