---
title: "Get a sequence step"
method: GET
path: "/v3/sequences/{id}/steps/{step_id}"
tags: ["Sequence Steps"]
---

# Get a sequence step

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

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

Returns details of a specific sequence step

## Path parameters

- `id` integer, required
- `step_id` integer, required

## Response `200`

Sequence step details retrieved successfully

- 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 step 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
- `404` — Sequence or step not found
- `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)
