# List a campaign's most clicked links

`GET /v1/campaigns/{id}/links`

Requires an API key with the `campaigns:read` scope. [About keys and scopes](/docs/api/authentication)

The links in a campaign email ranked by clicks, up to 50. `uniqueClicks` counts recipients who clicked the link at least once; `clicks` counts every click. A link is reported without its query string or fragment, so a personalised link counts as one. One recipient can click several links, so the unique clicks here can add up to more than the campaign's `clicked`.

## Path parameters

- `id` (string, required, uuid)

## Returns

Returns `200 OK`. Otherwise returns an error; [Errors](/docs/api/errors) lists every code and which to retry.

- `campaignId` (string, required, uuid)
- `links` (object[], required, at most 50 items) — Links ranked by clicks, most clicked first.
  - `url` (string, required) — The destination without its query string or fragment.
  - `clicks` (integer, required, min 0, max 9007199254740991) — Every click on the link.
  - `uniqueClicks` (integer, required, min 0, max 9007199254740991) — Recipients who clicked the link at least once.

## Example

```bash
curl https://api.kirora.io/v1/campaigns/018f2a4e-6b1c-7d3e-9f40-37386ae05a6b/links \
  -H "Authorization: Bearer $KIRORA_API_KEY"
```

Response `200`:

```json
{
  "data": {
    "campaignId": "018f2a4e-6b1c-7d3e-9f40-3478765e5a6b",
    "links": [
      {
        "url": "https://example.com/webhooks/kirora",
        "clicks": 0,
        "uniqueClicks": 0
      }
    ]
  }
}
```
