Get list of campaigns

Returns a paginated list of all dialer campaigns.

The Get list of campaigns endpoint returns a paginated list of all Dialer campaigns.

Requirements: Base URL, Authentication, Error codes

Scope: campaigns.read

What this does

When you send a Get list of campaigns request,

Voiso
returns an array of campaign objects plus pagination metadata.

Endpoint


GET /api/v4/campaigns

Query parameters

All query parameters are optional.

  • limit
    The number of items to return. Default is 100. Maximum is 100.
  • offset
    The number of items to skip before starting to collect the result set. Default is 0.
  • name
    The name of the campaign. Typically used as a partial match.
  • status
    The campaign status, such as draft, active, paused, completed, etc.
  • strategy
    The dialing strategy, such as simple or predictive_ai.
  • method
    The campaign dialing method.
  • live
    Whether live is enabled for the campaign.

Example request

curl -X GET "https://{cluster_id}.voiso.com/api/v4/campaigns?limit=20&offset=40" \
  -H "Authorization: Bearer <contact_center_api_key>" \
  -H "Content-Type: application/json"

Response

If successful, the API returns a campaigns array and metadata.

metadata.total is the total number of campaigns available for the request. The number returned in the current response is campaigns.length.

{
  "campaigns": [
    {
      "id": 3,
      "name": "Summer Outreach Campaign",
      "status": "active",
      "strategy": "simple",
      "dial_level": 1,
      "max_dial_time": 60,
      "max_wait_time": 5,
      "max_dial_attempts": 3,
      "amd_enabled": true,
      "amd_voicemail_message": {
        "enabled": false,
        "voice_message": {
          "type": "voice_message",
          "name": "Instructions"
        }
      },
      "caller_id_sets": [
        {
          "phone_numbers": ["18885650001", "18885650002"]
        }
      ],
      "follow_up_mode": "timer",
      "created_at": "2026-01-15T10:30:00.000Z",
      "updated_at": "2026-01-20T14:15:00.000Z"
    }
  ],
  "metadata": {
    "total": 100
  }
}

Campaign fields shown above come from the Campaign schema: id, name, status, strategy, and dial_level.

Notes

  • status values include: draft, active, paused, stopping, completed, processing, stopped, auto_paused, pausing, auto_pausing, import_error.
  • strategy values include simple and predictive_ai.
  • Each item in campaigns[] is a full Campaign object. Some fields can be null depending on which features are enabled and which settings are configured.

Troubleshooting

400 Bad request

Common cause:

  • An invalid value was provided for limit or offset.

401 Unauthorized

What to check:

  • You are sending Authorization: Bearer <contact_center_api_key>.

403 Forbidden

What to check:

  • The API key is valid, but does not have access to campaign resources.

429 Too many requests

What to do:

  • Reduce request frequency and retry with backoff.
Query Params
integer
0 to 1000
Defaults to 100

The number of items to return.

integer
≥ 0
Defaults to 0

The number of items to skip before starting to collect the result set.

string
length ≥ 1

A campaign name.

enum

Filter by strategy. Accepts a single value or an array.

enum

Filter by status. Accepts a single value or an array.

enum

Filter by method. Accepts a single value or an array.

boolean

Whether or not the campaign type is live.

Responses

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