---
title: "Get link metrics for an action"
method: GET
path: "/v1/campaigns/{campaign_id}/actions/{action_id}/metrics/links"
tags: ["Automations"]
---

# Get link metrics for an action

`GET /v1/campaigns/{campaign_id}/actions/{action_id}/metrics/links`

## Request

- Base URL: `https://api.customer.io`
- URL: `https://api.customer.io/v1/campaigns/{campaign_id}/actions/{action_id}/metrics/links`
- Auth: HTTP bearer

Returns link click metrics for an individual action. Unless you specify otherwise, the response contains data for the maximum period by days (45 days).

You cannot request fewer than 2 steps of any period (2 hours, 2 days, 2 weeks, or 2 months). For instance, `?period=days&steps=1` means two days - the 48 hours before the API request was made. `?period=days&steps=0` returns the same as the maximum of the period - `?period=days&steps=45`. See the `steps` parameter below for the maximum count of each period.

## Response `200`

Returns action metrics by `series` (with increments are based on the `period` and `step` in your request) for the automation.

- object
  - `links` LinkMetrics[]: Each object in the array represents a link in your action.
    - `link` object
      - `id` integer: The ID of the link.
      - `href` string: The link destination—a URL, mailto, etc.
    - `metric` object: Contains metrics for the link.
      - `series` object
        - `clicked` integer[]: An array of results from oldest to newest, where each result indicates a period.
        - `human_clicked` integer[]: An array of human click counts (clicks excluding machine clicks) from oldest to newest, where each result indicates a period. This metric is reliable starting April 20, 2025. [Learn more](/messaging/metrics/analytics/#delivery-metrics).
        - `machine_clicked` integer[]: An array of machine click counts (clicks attributed to bots or prefetching) from oldest to newest, where each result indicates a period. This metric is reliable starting April 20, 2025. [Learn more](/messaging/metrics/analytics/#delivery-metrics).

## Other responses

- `400`: The `campaignID` or `actionID` is invalid.
- `404`: The automation and/or action do not exist.
- `429`: Your request is over the 10-per-second limit. `Retry-After` tells you how many seconds you must wait before you send the next request.

## Changes

- **2026-09-02** `5da2740beeb5`: 1 info
  - added the media type `application/json` for the response with the status `429`

[Operation history](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/changes/v1/campaigns/:campaign_id/actions/:action_id/metrics/links/get.md)

---

[API](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference.md) - [All operations](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/customer/apis/customer-io-journeys-api-reference/revisions/ac0b282053fe?raw)
