---
title: "Get campaign details"
method: GET
path: "/api/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}"
tags: ["Reach: Campaigns"]
---

# Get campaign details

`GET /api/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}`

Get a single campaign with its sender, subject, template reference, targeting and delivery
progress.

This describes how the campaign was set up and how far it has got. For opens, clicks and
unsubscribes use the campaign statistics endpoint.

## Path parameters

- `profileUuid` string, required
- `campaignUuid` string, required

## Response `200`

Success response

- ReachV1CampaignsCampaignDetailsResource
  - `uuid` string
  - `title` string
  - `subject` string
  - `sender_name` string
  - `sender_email` string
  - `template_uuid` string, nullable — The email template this campaign uses. The template title is not exposed.
  - `status` 'draft' | 'scheduled' | 'sending' | 'publish' | 'failed' — A fully sent campaign is `publish`. There is no `sent`, `paused` or `archived` status.
  - `type` 'campaign' | 'automation' | 'double_opt_in'
  - `failure_reason` string, nullable — Set only while the status is `failed`.
  - `is_smart_send` boolean — Whether delivery time is picked per contact rather than sent to everyone at once.
  - `is_all_contacts` boolean — Whether the campaign targets every contact instead of the listed segments.
  - `delivery` ReachV1CampaignsCampaignDeliveryResource — Delivery progress. While the campaign is `sending`, `total_sent` climbs towards the estimate.
    - `total_sent` integer — Emails sent so far.
    - `estimated_total_recipients` integer, nullable — Recipients this campaign was estimated to reach when sending started. Null for campaigns that have not started sending.
    - `subscribers_count` integer — Contacts currently targeted by this campaign.
  - `segment_uuids` string[] — Segments this campaign targets. Empty when it targets all contacts.
  - `created_at` string, date-time
  - `updated_at` string, date-time, nullable
  - `sent_at` string, date-time, nullable
  - `scheduled_at` string, date-time, nullable

## Other responses

- `401` — Unauthenticated response
- `500` — Error response

---

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