> ## Documentation Index
> Fetch the complete documentation index at: https://help.airbridge.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List Tracking Links v2

Retrieves a list of generated tracking links.

<Card title="Try API Request" icon="rectangle-api" horizontal href="https://www.postman.com/airbridge-engineering/workspace/airbridge-api/request/22395869-9838b3eb-1eed-4a86-8aed-75a62e3165e5" />

```text GET theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
https://api.airbridge.io/v2/tracking-links
```

<h2 id="list-tracking-links-v2-request">
  Request
</h2>

***

<h3 id="list-tracking-links-v2-headers">
  Headers
</h3>

<ParamField header="Accept-Language" type="string">
  You can specify the language to use for API requests and responses. It follows the ISO-639-1 format.
</ParamField>

<ParamField header="Content-Type" type="string">
  Represents the media type of the resource. Defaults to `application/json`.
</ParamField>

<ParamField header="Authorization" type="string">
  The key value to use for API requests. Instructions for getting API keys are in "[how to generate API Keys](/en/references/introduction#authorization)".
</ParamField>

<h3 id="list-tracking-links-v2-query-params">
  Query Params
</h3>

<ParamField query="from" type="string" required>
  The start date for tracking link list query.
</ParamField>

<ParamField query="to" type="string" required>
  The end date for tracking list query.
</ParamField>

<ParamField query="next_cursor" type="number">
  A cursor used to retrieve the next page of data
</ParamField>

<ParamField query="size" type="number">
  The number of items to retrieve.

  Note that up to 1000 can be set.
</ParamField>

<ParamField query="keyword" type="string">
  The keyword to search for.
</ParamField>

<ParamField query="channel_name" type="string">
  Filter channel.
</ParamField>

<ParamField query="sort_key" type="enum">
  Sort standard. The default is `createdAt`

  | Value       | Description         |
  | ----------- | ------------------- |
  | `createdAt` | Sort by created at. |
</ParamField>

<ParamField query="sort_type" type="enum">
  Sort by. (Default: ASC)

  | Value  | Description |
  | ------ | ----------- |
  | `DESC` | Descending. |
  | `ASC`  | Ascending.  |
</ParamField>

<RequestExample>
  ```shellscript Request theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
  curl -X GET 'https://api.airbridge.io/v2/tracking-links?from=2023-04-01&to=2023-04-02&next_cursor=123456789&size=10&sort_key=createdAt&sort_type=ASC' \
    -H 'Accept-Language: ko' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'
  ```
</RequestExample>

<h2 id="list-tracking-links-v2-response">
  Response
</h2>

***

### 200

**nextCursor**

* Type: number (nullable)
* Description: A cursor used to retrieve the next page of data. Pass the returned nextCursor value as the next\_cursor parameter in the next API request to continue fetching data. If there is no more data available, null will be returned.

**hasNext**

* Type: boolean
* Description: Indicates whether additional data is available for the next page. Returns true if more data exists, false if no additional data can be retrieved. Typically used in conjunction with nextCursor.

### 400

The field contains an error or is incorrectly formatted.

<ResponseExample>
  ```json 200 theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
  {
    "data": {
      "hasNext": true,
      "nextCursor": 55843942,
      "totalCount": 2,
      "trackingLinks": [
        {
          "id": 55835049,
          "link": {
            "click": "https://abr.ge/@app_name/channel?og_tag_id=123&routing_short_id=id&tracking_template_id=template&ad_type=click",
            "impression": null,
            "serverToServerClick": null
          },
          "email": "user@ab180.co",
          "ogTag": {
            "title": "AB180",
            "imageUrl": "http://static.airbridge.io/images/og_tags/50ca2e8d-07b2-4a0e-8294-f00ddb8e59ae.png",
            "description": "Discovering Metrics That Matter!"
          },
          "company": null,
          "shortId": "short_id",
          "shortUrl": "https://abr.ge/short_id",
          "createdAt": "2024-02-26T19:35:02+09:00",
          "channelName": "channel",
          "channelType": "custom",
          "deeplinkUrl": "scheme://",
          "fallbackPaths": {
            "ios": "https://airbridge.io",
            "option": {
              "iosCustomProductPageId": null,
              "googlePlayCustomStoreListing": null
            },
            "android": "https://airbridge.io",
            "desktop": "https://airbridge.io"
          },
          "campaignParams": {
            "term": null,
            "subId": null,
            "subId1": null,
            "subId2": null,
            "subId3": null,
            "adGroup": null,
            "content": null,
            "campaign": null,
            "adCreative": null
          },
          "deeplinkOption": {
            "showAlertForInitialDeeplinkingIssue": false
          },
          "isReengagement": "OFF"
        },
        {
          "id": 55835585,
          "link": {
            "click": "https://abr.ge/@app_name/test?campaign=test&routing_short_id=short&tracking_template_id=template&ad_type=click",
            "impression": null,
            "serverToServerClick": null
          },
          "email": "user@ab180.co",
          "ogTag": {
            "title": "AB180",
            "imageUrl": "http://static.airbridge.io/images/og_tags/50ca2e8d-07b2-4a0e-8294-f00ddb8e59ae.png",
            "description": "Discovering Metrics That Matter!"
          },
          "company": null,
          "shortId": "short_id2",
          "shortUrl": "https://abr.ge/short_id2",
          "createdAt": "2024-02-26T19:40:44+09:00",
          "channelName": "channel",
          "channelType": "custom",
          "deeplinkUrl": null,
          "fallbackPaths": {
            "ios": "itunes-appstore",
            "option": {
              "iosCustomProductPageId": null,
              "googlePlayCustomStoreListing": null
            },
            "android": "google-play",
            "desktop": "https://airbridge.io"
          },
          "campaignParams": {
            "term": null,
            "subId": null,
            "subId1": null,
            "subId2": null,
            "subId3": null,
            "adGroup": null,
            "content": null,
            "campaign": "test",
            "adCreative": null
          },
          "deeplinkOption": {
            "showAlertForInitialDeeplinkingIssue": false
          },
          "isReengagement": "OFF"
        }
      ]
    },
    "resultMessage": "Here is your result."
  }
  ```

  ```json 400 theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
  {
    "instance": [
      {
        "loc": [
          "size"
        ],
        "msg": "must be less than or equal to 1000",
        "type": "validation_error"
      }
    ],
    "detail": "invalid_request",
    "status": 400,
    "title": "Bad Request",
    "traceId": "1-68513579-369f49243aa5430b228cfa8a",
    "type": "about:blank"
  }
  ```
</ResponseExample>
