List campaigns and their progress
Newest first. A plain API key sees only campaigns shared with the whole workspace.
GET
https://app.softsolz.uk/api/v1/services/outreach/campaignsRecent Requests
Kept only in this browserTimeStatusTook
Send a request with Try it to see it here.
Headers
AuthorizationstringrequiredBearer token: Bearer sk_live_... (or sk_test_... for sandbox). A login token will not work here.
Query Params
statusstringFilter by status: draft, scheduled, queued, sending, paused, sent, failed or cancelled. active means queued or sending; ended means failed or cancelled.
limitintegerPage size, 1-200 (default 50).
offsetintegerRows to skip (default 0).
Response
Response Body · array of objects
idstringCampaign id.tenant_idstringWorkspace id.namestringCampaign name.channelstringHow the campaign reaches people.providerstring | nullThe messaging or email provider the campaign sends through.template_namestring | nullApproved WhatsApp or text template name.template_languagestringTemplate language code.template_variablesobjectValues for the template placeholders.body_previewstring | nullThe text message, for text campaigns.media_filenamestring | nullName of the attached image or file, if any.media_mimestring | nullType of the attached image or file, if any.has_mediabooleanWhether an image or file is attached.audienceobjectWho the campaign goes to (see the audience fields on create).statusstringWhere the campaign is in its life.scheduled_atstring | nullWhen the campaign is due to send.total_countintegerPeople queued to receive it.sent_countintegerMessages sent so far.delivered_countintegerMessages delivered so far.read_countintegerMessages read or opened so far.failed_countintegerMessages that failed.skipped_countintegerPeople left out, for example because they opted out.consecutive_failuresintegerFailures in a row since the last success.pause_reasonstring | nullWhy the campaign paused itself, when it did.pause_detailstring | nullMore detail about the pause.resume_afterstring | nullWhen a paused campaign carries on by itself.created_byinteger | nullMember who created the campaign.created_atstringWhen the campaign was created.updated_atstringWhen the campaign last changed.started_atstring | nullWhen sending started.completed_atstring | nullWhen sending finished or stopped.subjectstring | nullEmail subject line, for email campaigns.subject_bstring | nullSecond subject line for an A/B test, for email campaigns.ab_split_percentinteger | nullShare of people (10-90) who get the main subject in an A/B test; the rest get subject B.ab_winnerstring | nullThe subject that won an A/B test: a or b.body_htmlstring | nullEmail body as HTML, for email campaigns.from_sender_idstring | nullEmail address the campaign sends from, for email campaigns.template_keystring | nullSaved email template the body came from.source_campaign_idstring | nullEarlier campaign this one resends to, if any.source_engagementstring | nullWhich people from the earlier campaign it resends to.track_linksbooleanWhether links in a text message are shortened and tracked.local_timebooleanWhether a scheduled send waits for each person's own local time.fallback_sms_bodystring | nullText message sent instead when WhatsApp cannot deliver.ai_agent_idstring | nullAI agent that places the calls, for AI call campaigns.ai_settingsobjectSettings for AI calls, for AI call campaigns. Empty for other channels.visibilitystringWho can see it: private (only the creator), tenant (the whole workspace) or shared (named people or roles).shared_usersarray of objectsMembers it is shared with, when visibility is shared. Included when listing or reading one.shared_rolesarray of objectsRoles it is shared with, when visibility is shared. Included when listing or reading one.Request
curl --request GET \ --url https://app.softsolz.uk/api/v1/services/outreach/campaigns \ --header 'Authorization: Bearer sk_live_your_key'Credentials
Sent as a Bearer token and used in the samples above and in Try it. Kept only in this browser tab until you close it. Use an sk_test_ key to stay in your sandbox.
Response · 200
{ "data": [ { "id": "128", "tenant_id": "4c1a7e52-9b3d-4f86-a2e1-7d5c0b9f3e61", "name": "Autumn offer", "channel": "sms", "provider": "twilio", "template_name": "autumn_offer", "template_language": "en", "template_variables": { "1": "Jane" }, "body_preview": "Hi {{name}}, 20% off this week.", "media_filename": "offer.jpg", "media_mime": "image/jpeg", "has_media": false, "audience": { "book_ids": [ "42" ], "include_contacts": false }, "status": "draft", "scheduled_at": "2026-10-05T09:00:00.000Z", "total_count": 120, "sent_count": 80, "delivered_count": 76, "read_count": 41, "failed_count": 2, "skipped_count": 3, "consecutive_failures": 0, "pause_reason": null, "pause_detail": null, "resume_after": null, "created_by": 4115, "created_at": "2026-09-01T09:00:00.000Z", "updated_at": "2026-09-01T09:00:00.000Z", "started_at": null, "completed_at": null, "subject": "Your autumn offer", "subject_b": null, "ab_split_percent": null, "ab_winner": null, "body_html": "<p>Hello {{name}}</p>", "from_sender_id": "7", "template_key": null, "source_campaign_id": null, "source_engagement": null, "track_links": true, "local_time": false, "fallback_sms_body": null, "ai_agent_id": null, "ai_settings": {}, "visibility": "tenant", "shared_users": [ { "user_id": 4115, "name": "Jane Doe", "email": "jane@example.com" } ], "shared_roles": [ { "role_id": 12, "role_name": "manager" } ] } ], "meta": { "limit": 50, "offset": 0, "total": 1, "has_more": false }}