---
title: "Get Campaigns Page"
method: GET
path: "/campaigns/page"
tags: ["campaigns"]
---

# Get Campaigns Page

`GET /campaigns/page`

The dashboard's Campaigns page in one call: cards, tile counts, plays, Recommended count.

## Response `200`

Successful Response

- CampaignsPageResponse — Everything the dashboard's Campaigns page renders on load (GET /campaigns/page).
  - `campaigns` CampaignsPageCampaign[], required
    - `id` string, required
    - `name` string, required
    - `status` string, required
    - `created_at` string, required
    - `goal_met_label` string
    - `total_sent` integer
    - `total_replied` integer
    - `total_goal_met` integer
    - `action_required` integer
    - `ongoing` integer
    - `won` integer
  - `plays` CampaignsPagePlay[], required
    - `play_key` string, required
    - `name` string, required
    - `description` string
    - `trigger_line` string
    - `audience_rule` string
    - `goal` string
    - `state` string
    - `launched` CampaignsPageWave — A play's latest wave, as the play card and its why-it-ran modal read it.
      - `campaign_id` string, required
      - `campaign_name` string
      - `goal_noun` string
      - `reasoning` CampaignReasoning — The two prose artifacts stored at launch (D6) — why now, and who.
        - `launch` CampaignReasoningNote
          - `headline` string
          - `narrative` string
        - `audience` CampaignReasoningNote
          - `headline` string
          - `narrative` string
  - `recommended_count` integer

## Other responses

- `404` — Not found

## Changes

- **2026-09-22** `f2cac64213a3` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/noso/apis/crucible-backend-api/changes/campaigns/page/get.md)

---

[API](https://skmtc.dev/noso/apis/crucible-backend-api.md) · [All operations](https://skmtc.dev/noso/apis/crucible-backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/noso/apis/crucible-backend-api/revisions/d1993647e543?raw)
