---
title: "Get campaign"
method: GET
path: "/campaigns/{campaignId}"
tags: ["Campaigns"]
---

# Get campaign

`GET /campaigns/{campaignId}`

Returns one campaign with its email blocks, campaign data, reply-to profile, and schedule timestamps.

## Path parameters

- `campaignId` string, required

## Response `200`

Campaign returned

- object
  - `success` boolean
  - `campaign` CampaignDetail
    - `id` string
    - `name` string
    - `subject` string
    - `status` string
    - `trackingCode` string, nullable — Campaign tracking code available to UTM templates as `{{campaign.trackingCode}}`.
    - `labels` string[] — Label names assigned to this campaign.
    - `scheduledAt` string, date-time, nullable
    - `sentAt` string, date-time, nullable
    - `createdAt` string, date-time
    - `preheader` string
    - `preheaderText` string — Compatibility alias for preheader.
    - `blocks` EmailBlock[]
      - `id` string
      - `type` 'text' | 'html' | 'heading' | 'list' | 'button' | 'spacer' | 'divider' | 'image' | 'columns' | 'conditional-group' | 'repeat' | 'card' | 'cta' | 'social' | 'logo' | 'header' | 'footer' | 'video' | 'product' | 'discount-code' | 'code' | 'countdown' | 'hero' | 'testimonial' | 'gallery' | 'badge' | 'table' | 'features' | 'image-card' | 'pricing' | 'author' | 'article' | 'rating' | 'stats' | 'steps' | 'product-grid' | 'poll', required
      - `content` string — Content for text, html, and heading-like blocks.
      - `styles` object — Per-block visual styles. For compatibility, style fields such as backgroundColor, backgroundOpacity, borderColor, borderWidth, and borderRadius can also be supplied at the block top level and are normalized into this object.
        - `paddingTop` number
        - `paddingBottom` number
        - `paddingLeft` number
        - `paddingRight` number
        - `backgroundColor` string
        - `backgroundOpacity` number — Background opacity percentage from 0 to 100.
        - `textColor` string
        - `textAlign` 'left' | 'center' | 'right'
        - `borderRadius` number
        - `borderColor` string
        - `borderWidth` number
        - `bleed` boolean — Stretch the block edge-to-edge across the email container. Top-level blocks only.
      - `conditions` object[] — Optional per-block display rules. The block renders only when every rule matches. The same shape is used for a conditional-group block's top-level `conditions`.
        - `id` string, required
        - `field` 'variable' | 'attribute' | 'email' | 'firstName' | 'lastName', required — `variable` resolves a merge-tag path from the transactional send `variables` or an automation `event` payload (nested paths like `order.total` or `event.plan` work). `attribute` reads a stored subscriber attribute. `email`, `firstName`, and `lastName` read core subscriber fields.
        - `operator` 'is' | 'is_not' | 'contains' | 'not_contains' | 'gt' | 'gte' | 'lt' | 'lte' | 'is_empty' | 'is_not_empty', required
        - `value` string, required — For `variable` and `attribute`, use `name:value` - the part before the colon is the variable path or attribute name, and the part after it is the comparison value. For `email`, `firstName`, and `lastName`, provide the plain comparison string.
    - `campaignData` object, nullable
    - `computedLists` object[]
    - `senderProfileId` string
    - `fromName` string, nullable
    - `fromEmail` string, email, nullable
    - `replyProfileId` string, nullable
    - `replyToName` string, nullable
    - `replyToEmail` string, email, nullable
    - `ccEmails` string[], nullable — Addresses CC'd on every recipient's email for this campaign.
    - `bccEmails` string[], nullable — Addresses BCC'd on every recipient's email for this campaign.

## Other responses

- `401` — Unauthorized
- `404` — Campaign not found

## Changes

- **2026-07-16** `d7ea66dede72` — 14 warning, 3 info
  - added the new `article` enum value to the `campaign/allOf[subschema #2]/blocks/items/type` response property for the response status `200`
  - added the new `author` enum value to the `campaign/allOf[subschema #2]/blocks/items/type` response property for the response status `200`
  - added the new `badge` enum value to the `campaign/allOf[subschema #2]/blocks/items/type` response property for the response status `200`
  - added the new `features` enum value to the `campaign/allOf[subschema #2]/blocks/items/type` response property for the response status `200`
  - …13 more
- **2026-07-14** `83e7fd773745` — 6 warning
  - added the new `code` enum value to the `campaign/allOf[subschema #2]/blocks/items/type` response property for the response status `200`
  - added the new `countdown` enum value to the `campaign/allOf[subschema #2]/blocks/items/type` response property for the response status `200`
  - added the new `discount-code` enum value to the `campaign/allOf[subschema #2]/blocks/items/type` response property for the response status `200`
  - added the new `header` enum value to the `campaign/allOf[subschema #2]/blocks/items/type` response property for the response status `200`
  - …2 more
- …earlier changes not shown

[Full history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/campaigns/:campaignId/get.md)

---

[API](https://skmtc.dev/sequenzy/apis/sequenzy-api.md) · [All operations](https://skmtc.dev/sequenzy/apis/sequenzy-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sequenzy/sequenzy-api/revisions/d7ea66dede72/schema)
