---
title: "Create a new subsequence under a parent sequence"
method: POST
path: "/v1/sequences/{sequenceId}/subsequence"
tags: ["subsequences"]
---

# Create a new subsequence under a parent sequence

`POST /v1/sequences/{sequenceId}/subsequence`

Create a new subsequence under the specified parent sequence with trigger conditions, optional schedule, and optional entry delay in a single call.

<strong>Required</strong> — <code>title</code> (1–200 chars) and <code>conditions</code> (min 1; all conditions use implicit AND). See the condition reference table in the Swagger schema — invalid <code>name</code>/<code>operation</code>/<code>value</code> combinations are rejected with a 400.

<strong>Optional</strong> — <code>scheduleId</code> (server assigns the account default if omitted) and <code>firstStepRelativeDays</code> (entry delay, min 1; omitted = no delay).

To add steps to the subsequence after creation, call <code>POST /v1/sequences/{subsequenceId}/steps</code> using the returned <code>id</code>. To read conditions back, use Get Subsequence Settings. To update, use Update Subsequence.

## Path parameters

- `sequenceId` string, required

## Request body

- CreateSubsequenceDto
  - `title` string, required — Subsequence title. 1–200 characters.
  - `scheduleId` number — Sending schedule ID (integer). Use <code>GET /v1/schedules</code> to list available IDs. When omitted, the account default schedule is assigned.
  - `firstStepRelativeDays` number — Days after the trigger fires before the first step runs (entry delay). Minimum 1. When omitted, no delay is applied.
  - `conditions` ConditionDto[], required — Trigger conditions (min 1). All conditions use implicit AND logic. Each item is validated against the condition matrix — invalid name/operation/value combinations are rejected with a 400.
    - `conditionId` string — Client-assigned identifier for the condition. Any string; auto-generated (11-char hex) when omitted.
    - `name` 'Email Open Count' | 'Replied' | 'Reply Body Contains' | 'Link Click' | 'Prospect Outcome' | 'Last Step Completed' | 'Prospect Tag', required — Condition type. Must be one of the 7 valid values defined by <code>ConditionName</code>.
    - `operation` 'greater than' | 'less than' | 'greater than or equals' | 'less than or equals' | 'is' | 'is not' | 'is any' | 'is not any' | 'contains', required — Operator valid for the selected <code>name</code>. See the condition matrix in the API docs — invalid name/operation combinations are rejected with a 400.
    - `value` union — Threshold or filter value. Type depends on <code>name</code> × <code>operation</code>: integer, boolean, string[] (URLs or keywords), or integer[] (IDs). Omit entirely for <code>Link Click</code> with <code>is any</code> / <code>is not any</code>.
      - number
      - boolean
      - string[]
      - integer[]

## Response `201`

Subsequence created successfully

## Other responses

- `400` — 4000: Failed to create subsequence<br><br>1001: Invalid sequence id<br><br>

---

[API](https://skmtc.dev/saleshandy/apis/develop-with-saleshandy.md) · [All operations](https://skmtc.dev/saleshandy/apis/develop-with-saleshandy/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/saleshandy/develop-with-saleshandy/revisions/fdaa0f2dcdfb/schema)
