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

# List step variants

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

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

Returns all variants for a sequence step

## Path parameters

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

## Response `200`

List of variants retrieved successfully

- object[]
  - `id` integer — Unique identifier for the variant
  - `subject` string, nullable — Subject line of the variant
  - `message` string, nullable — Message content of the variant
  - `isEnabled` boolean — Whether the variant is enabled
  - `hasAttachments` boolean — Whether the variant has any attachments. To retrieve or modify attachments, use `GET /v3/attachments` and the `attachmentIds` field on create/update.

## Other responses

- `400` — Invalid id parameters, 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` — 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)
