Open & Click Logs

Retrieve detailed paginated event logs of email opens and link clicks for a campaign.
GET /campaigns/{uuid}/open-click-reports

Retrieves detailed, paginated tracking logs of either opens or link clicks for a campaign. The user's metadata (IP address, country, device, browser, and clicked link destination) is returned when available.

Query Parameters

Parameter Type Status Description
type String Optional The log type to fetch: opens or clicks (Default: opens).
per_page Integer Optional Number of records per page (Default: 15).
page Integer Optional The page number of results to fetch (Default: 1).

cURL Examples

Fetch Opens Log

curl -X GET "https://api.hotsol.net/api/v1/campaigns/9c8a7b6f-4a3b-4c2d-9e1f-88b77a66c5d4/open-click-reports?type=opens&per_page=2" \
     -H "Authorization: Bearer hk_sec_your_secret_key_here" \
     -H "Accept: application/json"

Fetch Clicks Log

curl -X GET "https://api.hotsol.net/api/v1/campaigns/9c8a7b6f-4a3b-4c2d-9e1f-88b77a66c5d4/open-click-reports?type=clicks&per_page=2" \
     -H "Authorization: Bearer hk_sec_your_secret_key_here" \
     -H "Accept: application/json"

Response Example (type=clicks)

{
    "success": true,
    "message": "Clicks tracking logs retrieved successfully.",
    "data": [
        {
            "id": 15,
            "uuid": "2bc983df-2dfc-4d3b-8a14-23a74b68e9f5",
            "campaign_id": 8,
            "url_id": 4,
            "subscriber_id": 12,
            "device": "desktop",
            "browser": "Chrome",
            "country": "United States",
            "ip_address": "8.8.8.8",
            "user_agent": "Mozilla/5.0 ...",
            "created_at": "2026-08-21T09:05:00.000000Z",
            "subscriber": {
                "id": 12,
                "email": "john.doe@gmail.com",
                "first_name": "John",
                "last_name": "Doe"
            },
            "url": {
                "id": 4,
                "destination": "https://hotsol.io/pricing"
            }
        }
    ],
    "meta": {
        "current_page": 1,
        "last_page": 1,
        "per_page": 2,
        "total": 1
    }
}