Skip to main content
GET
/
v1
/
voice-agents
/
campaigns
List campaigns with pagination
curl --request GET \
  --url https://api.tryhamsa.com/v1/voice-agents/campaigns \
  --header 'Authorization: <api-key>'
{
  "success": true,
  "message": "Campaigns retrieved successfully",
  "messageKey": "CAMPAIGNS_RETRIEVED_SUCCESSFULLY",
  "data": {
    "campaigns": [
      {
        "id": "a8f7656f-098b-4c43-b165-7cfd2cc8ac50",
        "name": "Q1 Customer Outreach",
        "status": "SCHEDULED",
        "sendType": "NOW",
        "scheduledDate": "2025-12-01T09:00:00Z",
        "scheduledTimezone": "America/New_York",
        "timeRange": {
          "days": [
            "MONDAY",
            "TUESDAY",
            "WEDNESDAY"
          ],
          "startCallingTime": "09:00",
          "endCallingTime": "17:00"
        },
        "reservedConcurrency": 10,
        "projectId": "48f7656f-098b-4c43-b165-7cfd2cc8ac30",
        "voiceAgentId": "68f7656f-098b-4c43-b165-7cfd2cc8ac40",
        "recipientsCount": 100,
        "createdAt": "2025-12-06T10:00:00.000Z",
        "updatedAt": "2025-12-06T10:00:00.000Z"
      }
    ],
    "totalCount": 50,
    "returnedCount": 10
  }
}

Authorizations

Authorization
string
header
required

Pass the API key in the Authorization header, You need to put Token keyword before the API key. e.g. 'Authorization: Token '

Query Parameters

voiceAgentId
string<uuid>

Optional voice agent ID to filter campaigns.

Example:

"68f7656f-098b-4c43-b165-7cfd2cc8ac40"

take
integer
default:10

Number of items to return per page.

Example:

10

skip
integer
default:0

Number of items to skip (offset).

Example:

0

Search query for campaign name or campaign ID.

Example:

"Q1 Customer"

Response

Successful response

success
boolean
Example:

true

message
string
Example:

"Campaigns retrieved successfully"

messageKey
string
Example:

"CAMPAIGNS_RETRIEVED_SUCCESSFULLY"

data
object