API Reference · Campaigns

Pause a campaign

Stops a campaign from placing new calls. Calls already in progress carry on to the end. Resume it any time and it continues where it left off.

POST/campaigns/{campaign_id}/pause

https://calling.ubiqproject.com/api/v1/campaigns/{campaign_id}/pause · Auth: API key (full access)

Request

Path parameters

campaign_idstring (UUID)required
The campaign's ID.

No body.

Request
curl -X POST https://calling.ubiqproject.com/api/v1/campaigns/9b4e6f12-8a3c-4d71-b05e-2f6a8c1d7e93/pause \
  -H "Authorization: Bearer vk_live_YOUR_KEY"

What it does

Pause always succeeds, whatever the campaign's state:

  • running → paused.
  • A draft waiting for a scheduled start (config.start_at) has the schedule cancelled and stays a draft.
  • Anything else — already paused, done, or a draft with no schedule — is left as it is.

Response

The campaign.

Response · 200
{
  "id": "9b4e6f12-8a3c-4d71-b05e-2f6a8c1d7e93",
  "name": "October EMI reminders",
  "agent_id": "3f8c2a1e-6b4d-4c7a-9e21-5d0f7b8a9c34",
  "agent_name": "Priya",
  "phone_number": "+918046801234",
  "created_by": "",
  "concurrency": 5,
  "contacts_total": 3,
  "contacts_done": 1,
  "contacts_failed": 0,
  "contacts_pending": 2,
  "state": "paused",
  "created_at": "2026-10-08T09:14:22.512341Z",
  "started_at": "2026-10-08T09:15:03.204511Z",
  "config": {
    "daily": {
      "enabled": true,
      "start": "10:00",
      "stop": "19:00",
      "timezone": "Asia/Kolkata"
    },
    "retry": {
      "enabled": true,
      "max_attempts": 3,
      "schedule": "custom",
      "days": 0,
      "hours": 2
    }
  }
}

Response fields

idstring (UUID)
The campaign's ID.
namestring
The campaign's name.
agent_idstring (UUID)
The AI employee that makes the calls.
agent_namestring
That AI employee's name.
phone_numberstring | null
The number calls are made from. null when the AI employee's own number is used.
created_bystring | null
Email of the dashboard user who created it. Empty when created with an API key.
concurrencyinteger
How many calls may run at the same time (1–20).
contacts_totalinteger
Every contact in the campaign, including ones your conditions filtered out.
contacts_doneinteger
Contacts whose call connected and finished.
contacts_failedinteger
Contacts that couldn't be reached after all attempts, plus contacts your conditions filtered out (never called).
contacts_pendinginteger
Contacts waiting to be called or on a call right now.
statestring
draft (not started), running, paused or done (every contact handled).
created_atstring (ISO 8601)
When it was created.
started_atstring | null
When it first started calling. null for a draft.
configobject
Calling hours, retries, conditions and more — see Create a campaign → config.

Errors

Responses

Campaign not found404
No campaign with this ID in your company.
Invalid id400
campaign_id isn't a UUID.