Authorization: Bearer <JWT> (obtain via Partner login, refresh via Refresh token).pageNumber (integer, default 1) - 1-based page index.pageSize (integer, 1-1000, default 20) - records per page.search (string, optional) - free-text filter matched against the campaign name (case-insensitive, partial).status (string, optional) - filter by campaign status; omit to include all statuses.providerType (string, optional) - filter by channel/provider type (e.g. Sms, Viber, Whatsapp); omit for all.channelsUsed (string[], optional) - restrict to campaigns that use these channels; combined per channelFilterMode.channelFilterMode (string, optional) - "ALL" = campaign must use exactly these channels (all present, none extra); any other value or omitted = match campaigns using any of them.sortBy (string, optional) - one of name, status, scheduleDate, modifiedAt, createdAt; unknown/omitted defaults to createdAt.sortDescending (boolean, default true) - true = descending, false = ascending.curl --location 'https://api.veloconnect.me/api/v2/campaigns/query' \
--header 'Content-Type: application/json' \
--data '{
"pageNumber": 0,
"pageSize": 0,
"search": "string",
"status": "string",
"providerType": "string",
"channelsUsed": [
"string"
],
"channelFilterMode": "string",
"sortBy": "string",
"sortDescending": true
}'{
"data": [
{
"items": [
{
"id": null,
"businessId": null,
"name": null,
"status": null,
"scheduleDate": null,
"timezone": null,
"timezoneId": null,
"createdAt": null,
"modifiedAt": null,
"totalRecipientsCount": null,
"totalAttemptedCount": null,
"totalSentCount": null,
"totalDeliveredCount": null,
"totalFailedCount": null,
"totalSkippedCount": null,
"deliveryRate": null,
"totalPrice": null,
"totalCost": null,
"currency": null,
"totalClicks": null,
"uniqueClicks": null,
"ctr": null,
"channelsUsedSummary": null,
"channels": null
}
],
"totalCount": 0,
"pageSize": 0,
"pageNumber": 0
}
]
}