List audiences (recipients)

Get the paginated, searchable, sortable list of audience recipients for a campaign, plus aggregate validation KPIs, a quality summary, and basic campaign info.

Auth: Both — authentication bearer token. When the campaign has a company_id, it is scoped in-controller (matches caller's person.company_id against that company or its parent/grandparent), so Partner- and Account-tier users inside the campaign's company tree may read it. 404 if campaign not found; 403 if it belongs to another company.

Rate limit: 30 requests/min.

Request

  • Query: page (integer, optional) — page number, min:1.
  • Query: limit (integer, optional) — page size, 10–100 (values below 10 are raised to 10), default 10.
  • Query: search_value (string, optional) — max:255; substring match.
  • Query: search_field (string, optional) — one of email, phone, customer_name, requestor_name, company, all (default all searches across all five).
  • Query: sort_by (string, optional) — asc or desc (case-insensitive), default desc.
  • Query: sort_field (string, optional) — one of created_at, email, phone, customer_name, requestor_name; default created_at.

Response{ data. } envelope (via CampaignAudienceCollection). Note the collection sets a top-level status: "success" alongside data.

  • data.audiences:
  • id (integer)
  • email (string|null)
  • phone (string|null)
  • requestor_name (string|null)
  • customer_name (string|null)
  • company (string|null)
  • validation_status (string)
  • is_email_valid (string) — e.g. valid / invalid / duplicate
  • is_phone_valid (string) — e.g. valid / invalid / duplicate
  • is_test (bool)
  • contact_quality (string) — derived: excellent / good / poor
  • created_at (string Y-m-d H:i:s | null)
  • updated_at (string Y-m-d H:i:s | null)
  • data.kpis (object) — total_audience, total_valid_emails, total_valid_phones, total_with_both_contacts, total_invalid_emails, total_invalid_phones, total_with_no_contacts, total_kiosk_audience, total_test_audience (ints; all but total_test_audience exclude is_test), plus email_validation_rate, phone_validation_rate, both_contacts_rate (floats, %).
  • data.summary (object) — insights (array of strings) and data_quality_score{ score (float), grade (string A+.F), status (excellent|good|needs_improvement) }.
  • data.campaign_info (object) — id, name, status, file_status (= request_file_status), created_at, updated_at.

Note: this endpoint does NOT use the page rule for slicing beyond the default page query-parameter resolution. Pagination metadata (links, meta) is merged at the top level of the response, beside status and data; data.audiences itself is a plain array of rows.

Path params

ParameterTypeRequiredNotes
campaignIdintegerRequiredDigits only.

Errors: 422 on validation failure.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required
Response

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json