> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequenzy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a Push Campaign

> Read a push campaign and its stats

# Get a Push Campaign

Returns a push campaign's content, audience and status. Once the campaign has started sending, `stats` holds its delivery and engagement counts; it is `null` for drafts. Requires the `campaigns:read` scope.

## Request

<ParamField path="campaignId" type="string" required>
  The push campaign ID.
</ParamField>

```bash theme={null}
curl "https://api.sequenzy.com/api/v1/push/campaigns/cmp_abc123" \
  --header "Authorization: Bearer $SEQUENZY_API_KEY"
```

## Responses

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "campaign": {
      "id": "cmp_abc123",
      "name": "Flash sale",
      "type": "push",
      "status": "sent",
      "content": {
        "title": "24h sale",
        "body": "30% off everything",
        "url": "https://shop.example.com/sale",
        "imageUrl": null,
        "iconUrl": null,
        "platforms": [
          "web",
          "ios"
        ]
      },
      "targetLists": {
        "type": "all"
      },
      "scheduledAt": null,
      "sentAt": "2026-10-01T15:02:11.000Z",
      "estimatedRecipientCount": 340,
      "labelIds": [],
      "createdAt": "2026-10-01T12:00:00.000Z",
      "updatedAt": "2026-10-01T12:00:00.000Z"
    },
    "stats": {
      "total": 340,
      "pending": 0,
      "sent": 331,
      "failed": 4,
      "skipped": 5,
      "delivered": 210,
      "clicked": 48,
      "devicesTargeted": 402,
      "devicesAccepted": 389,
      "skipReasons": [
        {
          "reason": "no_active_device",
          "count": 5
        }
      ],
      "failureReasons": [
        {
          "reason": "all_devices_invalid",
          "count": 4
        }
      ]
    }
  }
  ```

  ```json 400 theme={null}
  {
    "error": "This campaign is not a push campaign."
  }
  ```

  ```json 401 theme={null}
  {
    "error": "Invalid API key"
  }
  ```

  ```json 403 theme={null}
  {
    "error": "API key is missing required scope: campaigns:read"
  }
  ```

  ```json 404 theme={null}
  {
    "error": "Campaign not found."
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.