---
title: "List All Variants"
method: GET
path: "/v2/{workspace}/template/{template_slug}/variant/"
---

# List All Variants

`GET /v2/{workspace}/template/{template_slug}/variant/`

Retrieve all variants across all channels for a template. Returns variant metadata, conditions, and content.

## Path parameters

- `workspace` string, required
- `template_slug` string, required

## Response `200`

Successfully retrieved variants

- object
  - `meta` object
    - `count` integer
    - `limit` integer
    - `offset` integer
  - `results` TemplateVariant[]
    - `$schema` string — Schema URL for variant validation.
    - `channel` string — Channel this variant belongs to.
    - `id` string — Variant identifier.
    - `tenant_id` string, nullable — Tenant this variant is scoped to, or null for default.
    - `locale` string — Locale code.
    - `conditions` object[] — Conditions for variant selection at send time.
    - `hash` string — Content hash for change detection.
    - `needs_vendor_approval` boolean — Whether this variant requires vendor approval (SMS DLT, WhatsApp).
    - `sysgen_template_name` string, nullable — System-generated template name for vendor approval.
    - `approval_status` 'auto_approved' | 'pending' | 'sent_for_approval' | 'approved' | 'rejected' — Current approval status of the variant.
    - `discard_comment` string, nullable — Reason provided when a variant is discarded.
    - `approval_at` string, date-time, nullable — Timestamp when the variant was approved.
    - `has_error` boolean — Whether the variant has validation errors.
    - `seq_no` integer — Ordering within the channel + tenant + locale combination.
    - `action` string, nullable — Action taken in the latest commit (Updated, Added, Unchanged, or null).
    - `created_at` string, date-time — Timestamp when the variant was created.
    - `content` object — Channel-specific content. Structure varies by channel. Only returned in variant detail endpoint.
    - `vendor_approvals` object[] — Vendor approval entries (WhatsApp/SMS only). Only returned in variant detail endpoint.

## Other responses

- `401` — Authentication failed
- `404` — Resource not found

---

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