Get Campaign Audience
Returns the paginated list of customers in a campaign's audience.
GET https://api.platica.mx/v1/campaigns/{campaignId}/audience URL parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
campaignId | string | Unique identifier of the campaign | required |
Query parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
limit | number | Maximum customers in the response per workspace. Maximum: 500. Default: 50 | — |
pageToken | string | nextPageToken cursor from the previous response. Preferred over offset. Cannot be combined with offset, and is invalidated if you change the sort | — |
offset | number | Number of records to skip. Legacy alternative to pageToken; capped at 100000. The only option when the campaign combines more than 30 dynamic tags | — |
sortBy | enum | Sort field: lastUpdate (default) or creationDate | — |
sortDirection | enum | Sort direction: desc (default) or asc | — |
Response
{
"workspaces": [
{
"id": "ws_abc123",
"name": "Empresa Principal",
"clientsCount": 2,
"clients": [
{
"id": "client_abc001",
"phoneNumber": "521234567890",
"name": "Ana García",
"firstname": "Ana",
"lastname": "García",
"email": "ana.garcia@example.com",
"birthdate": null,
"gender": "female",
"company": "Acme S.A.",
"country": "MX",
"state": "Jalisco",
"city": "Guadalajara",
"address": null,
"postalCode": null,
"tags": [
"campaign-abc123",
"Lead Calificado"
],
"owners": [
"agente@empresa.com"
],
"customFields": {},
"creationDate": "2026-03-02T18:32:28.903Z",
"lastUpdate": "2026-03-05T16:54:25.221Z"
},
{
"id": "client_abc002",
"phoneNumber": "529876543210",
"name": "Carlos Mendoza",
"firstname": "Carlos",
"lastname": "Mendoza",
"email": null,
"birthdate": null,
"gender": null,
"company": null,
"country": null,
"state": null,
"city": null,
"address": null,
"postalCode": null,
"tags": [
"campaign-abc123"
],
"owners": [],
"customFields": {},
"creationDate": "2026-03-03T10:15:00.000Z",
"lastUpdate": "2026-03-03T10:15:00.000Z"
}
],
"pagination": {
"limit": 50,
"offset": 0,
"hasMore": false
}
}
],
"nextPageToken": null
} Response fields
| Field | Type | Description |
|---|---|---|
workspaces | array | List of workspaces with the paginated audience |
Each item in workspaces[]
| Field | Type | Description |
|---|---|---|
id | string | Workspace ID |
name | string | Workspace name |
clients | array | List of customers in the audience |
Each item in clients[]
| Field | Type | Description |
|---|---|---|
id | string | Internal customer ID |
phoneNumber | string | Phone number in international format |
name | string | null | Customer full name |
firstname | string | null | Customer first name |
lastname | string | null | Customer last name |
email | string | null | Email address |
birthdate | string | null | Date of birth in ISO 8601 |
gender | string | null | Gender |
company | string | null | Company |
country | string | null | Country |
state | string | null | State |
city | string | null | City |
address | string | null | Address |
postalCode | string | null | Postal code |
tags | string[] | Customer tags (includes the campaign tag) |
owners | string[] | Emails of users responsible for the customer |
customFields | object | Customer custom fields |
creationDate | string | null | Creation date in ISO 8601 |
lastUpdate | string | null | Last update date in ISO 8601 |
Pagination fields
| Field | Description |
|---|---|
clientsCount | Total number of customers returned for that workspace |
pagination.limit | Maximum number of results requested |
pagination.offset | Number of results skipped |
pagination.hasMore | Indicates whether more results exist |
nextPageToken | Cursor to request the next page, at the response root. null when no results are left, and when the audience combines more than 30 dynamic tags, in which case it is resolved in memory and you have to paginate with offset |