Skip to main content

List Campaign Link Clicks

Retrieve every tracked link in a campaign together with how many times it was clicked. Use it to see which links drove the most engagement.

Links that were never clicked are included, with clicks and unique_clicks of 0, so the response is also the full list of the campaign's tracked links. Results are ordered by clicks, most-clicked first.

Request

GET /campaigns/{uuid}/link-clicks

Path Parameters

ParameterTypeDescription
uuidstringCampaign's UUID

Query Parameters

All parameters are optional.

ParameterTypeDefaultDescription
pageinteger1Page number (min: 1)
per_pageinteger100Items per page (min: 1, max: 100)

An out-of-range page / per_page returns 422 VALIDATION_ERROR.

Example Request

curl -X GET "https://email.easy.tools/api/v1/campaigns/550e8400-e29b-41d4-a716-446655440000/link-clicks?page=1&per_page=50" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"

Response

Success Response (200 OK)

{
"data": [
{
"uuid": "b25cdf8d-47d3-4d30-b097-e83a05577e8e",
"url": "https://example.com/pricing",
"clicks": 142,
"unique_clicks": 118
},
{
"uuid": "35e588a2-db36-4ffe-b674-d941db35910a",
"url": "https://example.com/blog",
"clicks": 37,
"unique_clicks": 35
},
{
"uuid": "1b134336-29bf-48be-b3d7-a067ddbc663a",
"url": "https://example.com/docs",
"clicks": 0,
"unique_clicks": 0
}
],
"pagination": {
"current_page": 1,
"per_page": 100,
"total": 3
}
}

A campaign with no tracked links returns an empty data array.

Response Fields

FieldTypeDescription
uuidstringThe tracked link's unique identifier
urlstringThe link's destination URL
clicksintegerTotal number of clicks on the link
unique_clicksintegerNumber of distinct recipients who clicked the link

Pagination Object

FieldTypeDescription
current_pageintegerCurrent page number
per_pageintegerNumber of items per page
totalintegerNumber of tracked links in the campaign

Error Responses

Not Found Error (404)

{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Campaign with UUID '550e8400-e29b-41d4-a716-446655440000' not found"
}
}

Validation Error (422 Unprocessable Entity)

{
"error": {
"code": "VALIDATION_ERROR",
"message": "The given data was invalid",
"details": {
"per_page": ["The per page field must not be greater than 100."]
}
}
}