MCP is live.Set upAsk the community
OmniDimension
WhatsApp

Get a campaign

One campaign with its counts and analytics: per-source figures and the failed contacts grouped by reason. delivery_rate and read_rate are null on a number that does not report receipts.

Set up WhatsApp first. Connect a WhatsApp number in the dashboard or with Connect numbers. Included on every paid plan. See plans.

GET/whatsapp/campaigns/
Path parameters
campaign_idrequired
curl -X GET 'https://backend.omnidim.io/api/v1/whatsapp/campaigns/{campaign_id}' \
  -H 'Authorization: Bearer YOUR_API_KEY'
Example response
synthetic
{
  "id": 0,
  "name": "string",
  "status": "draft",
  "pause_reason": "human",
  "campaign_mode": "broadcast",
  "send_mode": "review",
  "data_source": "csv",
  "is_dynamic": false,
  "phone_number_id": 0,
  "template": {
    "id": 0,
    "name": "string"
  },
  "agent_id": 0,
  "variable_mapping": "string",
  "counts": {
    "total": 0,
    "sent": 0,
    "delivered": 0,
    "read": 0,
    "replied": 0,
    "failed": 0,
    "skipped": 0,
    "opted_out": 0
  },
  "receipts_reported": false,
  "delivery_rate": 0,
  "read_rate": 0,
  "reply_rate": 0,
  "spend": {
    "amount": 0,
    "currency": "USD"
  },
  "created_at": "string",
  "analytics": {
    "pending": 0,
    "failures": [
      {
        "category": "string",
        "count": 0
      }
    ],
    "by_source": "string"
  }
}

Authorization

BearerAuth
headerAuthorizationBearer <token>

Bearer token authentication. Obtain your API key from the OmniDimension dashboard.

Path Parameters

campaign_id*integer

Id of a WhatsApp campaign, from listWhatsappCampaigns.

Response body

application/json

Response Body

The campaign with analytics.

application/json
id?integer
name?string
status?string
Value in"draft""scheduled""in_progress""paused""completed""failed""cancelled"
pause_reason?string

Why it paused, or null. Only human waits for you; the rest resume on their own.

Value in"human""balance""channel_down""monthly_limit"
campaign_mode?string
Value in"broadcast""broadcast_reply"
send_mode?string
Value in"review""on_arrival"
data_source?string
Value in"csv""webhook"
is_dynamic?boolean
phone_number_id?integer
template?
agent_id?integer

The agent that answers replies, when one is attached.

variable_mapping?

Template field to contact field or static text.

counts?
receipts_reported?boolean

This number reports delivery and read receipts, so the rates are real.

delivery_rate?number

Delivered as a percentage of sent. Null when receipts are not reported.

read_rate?number

Read as a percentage of delivered. Null when receipts are not reported.

reply_rate?number

Replied as a percentage of sent.

spend?

What the campaign cost so far. Null without billing access.

created_at?string
analytics?

Added to getWhatsappCampaign only.