---
title: "fetch list of active campaigns for a given audience"
method: GET
path: "/api/servicepool/audiences/{identifier}/activeCampaigns"
tags: ["audiences"]
---

# fetch list of active campaigns for a given audience

`GET /api/servicepool/audiences/{identifier}/activeCampaigns`

## Request

- Base URL: `https://services.fountain.com`
- URL: `https://services.fountain.com/api/servicepool/audiences/{identifier}/activeCampaigns`
- Auth: HTTP bearer

## Path parameters

- `identifier` string, uuid, required

## Response `200`

list of active campaigns for a given audience

- object
  - `data` AudienceCampaignDto[], required
    - `uuid` string, required: The unique identifier of the audience campaign
    - `companyUuid` string, required: The unique identifier of the company that owns the audience campaign
    - `audienceUuid` string, required: The unique identifier of the audience that the audience campaign is targeting
    - `linkedOpeningUuid` string: The unique identifier of the Hire opening this campaign is linked to. Populated for invitation campaigns created from a Hire opening (category === application); undefined for nurture / event campaigns and historical rows that pre-date this field.
    - `hasOpeningLink` boolean: True when the campaign is linked to a Hire opening (derived from linkedOpeningUuid). Drives the email metric-set branch (with-link vs without-link) on the Active Campaigns widget.
    - `campaignType` 'email' | 'sms', required: The type of campaign
    - `status` 'active' | 'archived' | 'completed' | 'deleted' | 'draft' | 'scheduled' | 'queued', required: The status of the audience campaign
    - `outboundMessages` object[], required
      - `day` number, required: The day of the outbound message
      - `communicateCampaignUuid` string, required: The unique identifier of the communicate campaign
      - `hour` string, required: The hour of the outbound message
      - `minute` string, required: The minute of the outbound message
      - `timezone` string, required: The timezone of the outbound message
      - `sendAt` string, date-time: The authoritative UTC send instant for this step, persisted at campaign activation. Undefined for not-yet-activated campaigns and historical rows that pre-date this field.
      - `stats` object
        - `total` number, required: The total number of messages coming from the audience campaign
        - `sent` number, required: The number of messages sent from the audience campaign
        - `failed` number, required: The number of failed messages from the audience campaign
        - `delivered` number, required: The number of delivered messages from the audience campaign
        - `clicked` number, required: The number of clicked messages from the audience campaign
        - `opened` number, required: The number of messages opened from the audience campaign
        - `unsubscribed` number: The number of recipients who unsubscribed from the audience campaign
      - `statsByDay` object[]: Per-day delivery rollups mirrored from this step's child communicate campaign, sorted ascending by day. Powers the Active Campaigns chart's day-by-day bars and rate lines. Undefined for steps without a communicate stats CDC update since this field shipped — the chart falls back to bucketing the cumulative stats on sendAt.
        - `day` string, required: UTC day (YYYY-MM-DD) this rollup covers — the same keying as attributionByDay, so the chart can join both without a timezone re-bucket
        - `total` number, required: Messages targeted on this day
        - `sent` number, required: Messages sent on this day
        - `failed` number, required: Messages failed on this day
        - `delivered` number, required: Messages delivered on this day
        - `clicked` number, required: Messages clicked on this day
        - `opened` number, required: Messages opened on this day
        - `unsubscribed` number: Recipients who unsubscribed on this day
      - `calculatedStats` object
        - `deliveryRate` number, required: The message delivery rate of the audience campaign
        - `openRate` number, required: The message open rate of the audience campaign
        - `clickRate` number, required: The message click rate of the audience campaign
        - `bounceRate` number, required: The message bounce rate of the audience campaign
        - `unsubscribeRate` number: The unsubscribe rate of the audience campaign (unsubscribed / delivered)
    - `name` string, required: The name of the audience campaign
    - `from` string, required: The reply-to address of the audience campaign (email only). Use exactly an address from getSenders email.replyTo (replyTo[0] by default); never one outside that list, and never an empty value. Emails are sent from noreply@wxp.fountain.com; this address receives replies.
    - `category` 'application' | 'nurture' | 'event', required: The category of the audience campaign. Some plans include only "application". If a call is refused on this field, retry with "application".
    - `mode` 'dynamic' | 'static', required: The mode of the audience campaign. Some plans include only "static". If a call is refused on this field, retry with "static".
    - `activatedAt` string, date-time: The time the campaign starts or started sending. On a draft, setting it through an edit stores a start time only; pool_activateCampaign launches the campaign. On a scheduled campaign, changing it does not move or cancel the scheduled send. Leaving it out of an edit clears it.
    - `deactivateAt` string, date-time, nullable: The date and time the audience campaign will be deactivated
    - `talentCount` number: The number of talents in the audience campaign
    - `recipients` number: The number of people who have been sent messages as part of this campaign
    - `audienceName` string: The name of the audience associated with the audience campaign
    - `audienceFilterValues` string: The filter values of the audience associated with the audience campaign
    - `timezone` string: The timezone of the audience campaign
    - `messageSendSetting` 'None' | 'ClickCTA' | 'OpensMessage', required: The message send setting of the audience campaign
    - `stats` object
      - `total` number, required: The total number of messages coming from the audience campaign
      - `sent` number, required: The number of messages sent from the audience campaign
      - `failed` number, required: The number of failed messages from the audience campaign
      - `delivered` number, required: The number of delivered messages from the audience campaign
      - `clicked` number, required: The number of clicked messages from the audience campaign
      - `opened` number, required: The number of messages opened from the audience campaign
      - `unsubscribed` number: The number of recipients who unsubscribed from the audience campaign
    - `calculatedStats` object
      - `deliveryRate` number, required: The message delivery rate of the audience campaign
      - `openRate` number, required: The message open rate of the audience campaign
      - `clickRate` number, required: The message click rate of the audience campaign
      - `bounceRate` number, required: The message bounce rate of the audience campaign
      - `unsubscribeRate` number: The unsubscribe rate of the audience campaign (unsubscribed / delivered)
    - `createdAt` string, date-time, required: The date and time the audience campaign was created
    - `createdBy` string, required: The unique identifier of the user who created the audience campaign
    - `updatedAt` string, date-time, required: The date and time the audience campaign was updated
    - `updatedBy` string, required: The unique identifier of the user who updated the audience campaign
    - `lastEditedAt` string, date-time: The date and time a user last acted on the campaign (create, edit, duplicate, activate, cancel, archive, delete, complete, or a message-content edit). System writes such as stats syncs never move it. Absent before the backfill reaches the campaign, and on campaigns the backfill could not resolve.
    - `lastEditedBy` string: The employer audience uuid of the user behind lastEditedAt, the same identity updatedBy carries.
    - `updatedByName` string: The display name of the user who last updated the campaign, resolved from updatedBy. Populated by the Active Campaigns dashboard endpoint; undefined on the general-purpose list, and when the editor is not found or has no display name.
    - `createdByName` string: The display name of the user who created the campaign, resolved from createdBy. Populated by the Active Campaigns dashboard endpoint as the editor-line fallback when updatedBy is NIL/unresolvable (e.g. system-created campaigns); undefined on the general-purpose list, and when the creator is not found or has no display name.
    - `deletedAt` string, date-time: The date and time the audience campaign was soft-deleted
    - `deletedBy` string: The unique identifier of the user who soft-deleted the audience campaign
    - `archivedAt` string, date-time: The date and time the audience campaign was archived
    - `archivedBy` string: The unique identifier of the user who archived the audience campaign
    - `activationRefusal` object: Why this campaign went back to Draft after it was activated or scheduled. Present when the activation engine put it back: the plan does not include its mode or category, its audience cannot be used (either mode), or, for a static campaign, its audience is empty or reached nobody. `detail` names what to change. Cleared by a later successful activation, by an update that brings the mode and category inside the plan (for a plan reason), and by an update that changes the audience (for an audience reason).
      - `code` string, required
      - `title` string, required
      - `detail` string, required
      - `at` string, date-time, required
  - `meta` ResponsesPartMeta, required
    - `timestamp` string, date-time, required
    - `verb` 'OPTION' | 'GET' | 'PUT' | 'POST' | 'PATCH' | 'DELETE'
    - `path` string
    - `jti` string
    - `rid` string
    - `count` number
    - `capped` boolean: The server lowered filter[limit] to its ceiling. Page with filter[skip] to read past it.
    - `status` string
    - `duration` number
    - `size` number

---

[API](https://skmtc.dev/fountain/apis/worker-experience-public-api.md) - [All operations](https://skmtc.dev/fountain/apis/worker-experience-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fountain/apis/worker-experience-public-api/revisions/6b9a31f79e22?raw)
