---
title: "List all sequence steps"
method: GET
path: "/v3/sequences/{id}/steps"
tags: ["Sequence Steps"]
---

# List all sequence steps

`GET /v3/sequences/{id}/steps`

<small>_Requires the `sequences:read` scope (or a broader one that includes it)._</small>

Returns a list of all steps in a sequence

## Path parameters

- `id` integer, required

## Response `200`

List of sequence steps retrieved successfully

- union[] — Array of sequence steps with different types
  - union
    - object — Email step with variant configuration
      - `id` integer, nullable — Unique identifier for the step
      - `parentId` integer, nullable — ID of the parent step (for branching)
      - `ifConditionPositive` boolean, nullable — Whether this step is on the positive branch of a condition
      - `type` 'email', required — Step type discriminator
      - `delayInMinutes` integer, required — Delay in minutes before executing this step
      - `executionMode` 'automatic' | 'manual', required — Execution mode for the email step
      - `variants` object[], required — Array of email variants (A/B test versions)
        - `id` integer — Unique identifier for this email variant
        - `subject` string, nullable — Email subject line.
        - `message` string, nullable — Email message content.
        - `attachmentIds` integer[], nullable — **Write-only.** IDs of previously uploaded attachments to attach to this variant. Upload files via `POST /v3/attachments` first to obtain attachment IDs. A variant may carry up to 3 attachments. Omit to leave attachments unset. Not returned on read — use `hasAttachments` to detect presence.
        - `hasAttachments` boolean — Whether the variant has any attachments. Returned on read; ignored on write.
    - object — LinkedIn message action step
      - `id` integer, nullable — Unique identifier for the step
      - `parentId` integer, nullable — ID of the parent step (for branching)
      - `ifConditionPositive` boolean, nullable — Whether this step is on the positive branch of a condition
      - `type` 'linkedIn', required — Step type discriminator
      - `actionType` 'message', required — LinkedIn action type discriminator
      - `delayInMinutes` integer, required — Delay in minutes before executing this step
      - `executionMode` 'automatic' | 'manual', required — Execution mode for the action
      - `variants` object[], required — Array of LinkedIn message variants (A/B test versions)
        - `id` integer — Unique identifier for this LinkedIn variant
        - `message` string, required — Message content
        - `isEnabled` boolean, required — Indicates whether the variant is enabled
    - object — LinkedIn connect action step
      - `id` integer, nullable — Unique identifier for the step
      - `parentId` integer, nullable — ID of the parent step (for branching)
      - `ifConditionPositive` boolean, nullable — Whether this step is on the positive branch of a condition
      - `type` 'linkedIn', required — Step type discriminator
      - `actionType` 'connect', required — LinkedIn action type discriminator
      - `delayInMinutes` integer, required — Delay in minutes before executing this step
      - `executionMode` 'automatic' | 'manual', required — Execution mode for the action
      - `variants` object[], required — Array of LinkedIn connect variants (A/B test versions). Message is optional, max 300 characters.
        - `id` integer — Unique identifier for this LinkedIn variant
        - `message` string, required — Message content
        - `isEnabled` boolean, required — Indicates whether the variant is enabled
    - object — LinkedIn InMail action step
      - `id` integer, nullable — Unique identifier for the step
      - `parentId` integer, nullable — ID of the parent step (for branching)
      - `ifConditionPositive` boolean, nullable — Whether this step is on the positive branch of a condition
      - `type` 'linkedIn', required — Step type discriminator
      - `actionType` 'inMail', required — LinkedIn action type discriminator
      - `delayInMinutes` integer, required — Delay in minutes before executing this step
      - `executionMode` 'automatic' | 'manual', required — Execution mode for the InMail
      - `variants` object[], required — Array of LinkedIn InMail variants (A/B test versions)
        - `id` integer — Unique identifier for this LinkedIn InMail variant
        - `subject` string, required — InMail subject line
        - `message` string, required — InMail message content
        - `isEnabled` boolean, required — Indicates whether the variant is enabled
    - object — LinkedIn view profile action step
      - `id` integer, nullable — Unique identifier for the step
      - `parentId` integer, nullable — ID of the parent step (for branching)
      - `ifConditionPositive` boolean, nullable — Whether this step is on the positive branch of a condition
      - `type` 'linkedIn', required — Step type discriminator
      - `actionType` 'viewProfile', required — LinkedIn action type discriminator
      - `delayInMinutes` integer, required — Delay in minutes before executing this step
      - `executionMode` 'automatic' | 'manual', required — Execution mode for the action
      - `description` string — Description or notes for the profile view
    - object — LinkedIn endorse skills action step
      - `id` integer, nullable — Unique identifier for the step
      - `parentId` integer, nullable — ID of the parent step (for branching)
      - `ifConditionPositive` boolean, nullable — Whether this step is on the positive branch of a condition
      - `type` 'linkedIn', required — Step type discriminator
      - `actionType` 'endorseSkills', required — LinkedIn action type discriminator
      - `delayInMinutes` integer, required — Delay in minutes before executing this step
      - `numberOfSkills` integer, required — Number of skills to endorse (1-3)
    - object — LinkedIn voice message action step
      - `id` integer, nullable — Unique identifier for the step
      - `parentId` integer, nullable — ID of the parent step (for branching)
      - `ifConditionPositive` boolean, nullable — Whether this step is on the positive branch of a condition
      - `type` 'linkedIn', required — Step type discriminator
      - `actionType` 'voiceMessage', required — LinkedIn action type discriminator
      - `delayInMinutes` integer, required — Delay in minutes before executing this step
      - `audioFile` string, required — The audio file URL for the voice message
    - object — LinkedIn like recent posts action step
      - `id` integer, nullable — Unique identifier for the step
      - `parentId` integer, nullable — ID of the parent step (for branching)
      - `ifConditionPositive` boolean, nullable — Whether this step is on the positive branch of a condition
      - `type` 'linkedIn', required — Step type discriminator
      - `actionType` 'likeRecentPosts', required — LinkedIn action type discriminator
      - `delayInMinutes` integer, required — Delay in minutes before executing this step
    - object — LinkedIn follow profile action step
      - `id` integer, nullable — Unique identifier for the step
      - `parentId` integer, nullable — ID of the parent step (for branching)
      - `ifConditionPositive` boolean, nullable — Whether this step is on the positive branch of a condition
      - `type` 'linkedIn', required — Step type discriminator
      - `actionType` 'followProfile', required — LinkedIn action type discriminator
      - `delayInMinutes` integer, required — Delay in minutes before executing this step
    - object — Call step with script/notes
      - `id` integer, nullable — Unique identifier for the step
      - `parentId` integer, nullable — ID of the parent step (for branching)
      - `ifConditionPositive` boolean, nullable — Whether this step is on the positive branch of a condition
      - `type` 'call', required — Step type discriminator
      - `delayInMinutes` integer, required — Delay in minutes before executing this step
      - `message` string — Notes or script for the call
    - object — SMS step with message content
      - `id` integer, nullable — Unique identifier for the step
      - `parentId` integer, nullable — ID of the parent step (for branching)
      - `ifConditionPositive` boolean, nullable — Whether this step is on the positive branch of a condition
      - `type` 'sms', required — Step type discriminator
      - `delayInMinutes` integer, required — Delay in minutes before executing this step
      - `executionMode` 'automatic' | 'manual', required — Execution mode for the SMS step
      - `message` string, required — SMS message content
    - object — WhatsApp step with message content
      - `id` integer, nullable — Unique identifier for the step
      - `parentId` integer, nullable — ID of the parent step (for branching)
      - `ifConditionPositive` boolean, nullable — Whether this step is on the positive branch of a condition
      - `type` 'whatsApp', required — Step type discriminator
      - `delayInMinutes` integer, required — Delay in minutes before executing this step
      - `message` string, required — WhatsApp message content
    - object — Zapier integration step
      - `id` integer, nullable — Unique identifier for the step
      - `parentId` integer, nullable — ID of the parent step (for branching)
      - `ifConditionPositive` boolean, nullable — Whether this step is on the positive branch of a condition
      - `type` 'zapier', required — Step type discriminator
      - `delayInMinutes` integer, required — Delay in minutes before executing this step
      - `name` string, required — Name of the Zapier step
      - `action` 'immediately' | 'wait', required — Zapier action type
    - object — Task step for manual actions
      - `id` integer, nullable — Unique identifier for the step
      - `parentId` integer, nullable — ID of the parent step (for branching)
      - `ifConditionPositive` boolean, nullable — Whether this step is on the positive branch of a condition
      - `type` 'task', required — Step type discriminator
      - `delayInMinutes` integer, required — Delay in minutes before executing this step
      - `actionType` 'toDo' | 'meeting', required — Type of task action to perform
      - `description` string, required — Task description or instructions
    - object — Condition step that evaluates rules before proceeding
      - `id` integer, nullable — Unique identifier for the step
      - `parentId` integer, nullable — ID of the parent step (for branching)
      - `ifConditionPositive` boolean, nullable — Whether this step is on the positive branch of a condition
      - `type` 'condition', required — Step type discriminator
      - `delayInMinutes` integer, required — Delay in minutes before executing this step
      - `waitInMinutes` integer, required — Wait time in minutes for condition evaluation
      - `conditions` object[], required — Array of condition templates to evaluate
        - `property` string, required — Property name to evaluate
        - `rules` object[], required — Set of rules to apply to the property
          - `operator` string, required — Comparison operator (e.g., `isSet`, `isNotSet`, `equals`, etc.)
          - `value` string, nullable — Value to compare against. Null for operators like `isSet`/`isNotSet`.

## Other responses

- `400` — Invalid sequence id, or a business-rule rejection.
- `401` — Unauthorized. The response body is empty; check the `WWW-Authenticate` header for the expected scheme.
- `403` — User lacks required feature scope to view this sequence
- `429` — Too Many Requests

---

[API](https://skmtc.net/reply/apis/reply-api.md) · [All operations](https://skmtc.net/reply/apis/reply-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/reply/reply-api/revisions/1c3d32eaf95e/schema)
