Tracking Link

    An Airbridge tracking link is an all-in-one link that serves as both a linking tool to redirect users and a tracking tool for attribution.

    When they are clicked on, tracking links enable users to reach their desired destination in the app regardless of the platform, channel, or device operating system. It also helps to analyze and attribute the source of user conversions such as link click, post-click install, and post-install purchase.

    It is advised to use the "Tracking link API token" when creating tracking links from the client server.


    POST

    https://api.airbridge.io/v1/tracking-links

    Request to create Tracking Link.

    rate limit : 50 tracking link per second

    Accept-Language
    string

    You can specify the language to use for API requests and responses. It follows the ISO-639-1 format.

    Content-Type
    string

    Represents the media type of the resource. Defaults to application/json.

    Authorization
    string

    The key value to use for API requests. Instructions for getting API keys are in "how to generate API Keys".

    channel
    Requiredstring

    Channel name of the touchpoint and conversion.

    Upon creation, tracking links are separated into "integrated" channels and "custom" channels.

    "Integrated" channels are medias with postback integration, and have predefined channel names. All other channel names are considered "Custom" channels.

    campaignParams
    object

    Configure campaign parameter for tracking link.

    campaignParams.campaign
    string

    The campaign credited with the winning touchpoint or conversion.

    campaignParams.ad_group
    string

    The ad group credited with the winning touchpoint or conversion.

    campaignParams.ad_creative
    string

    The ad creative credited with the winning touchpoint or conversion.

    campaignParams.content
    string

    The content credited with the winning touchpoint or conversion.

    campaignParams.term
    string

    The search term credited with the winning touchpoint or conversion.

    campaignParams.sub_id
    string

    The sub publisher that generated the touchpoint.
    Sub media values are usually provided by predefined "integrated" channels.

    campaignParams.sub_id_1
    string

    The 1st level sub-sub publisher that generated the touchpoint.
    Sub media values are usually provided by predefined "integrated" channels.

    campaignParams.sub_id_2
    string

    The 2nd level sub-sub publisher that generated the touchpoint.
    Sub media values are usually provided by predefined "integrated" channels.

    campaignParams.sub_id_3
    string

    The 3rd level sub-sub publisher that generated the touchpoint.
    Sub media values are usually provided by predefined "integrated" channels.

    isReengagement
    enum

    Configure the Re-engagement parameter. The Re-engagement parameter has three options: OFF, ON-TRUE, and ON-FALSE.

    ENUM VALUES
    OFF

    OFF is the default setting. The touchpoint can be attributed to both install events and post-install events (in-app events).

    ON-TRUE

    ON-TRUE is used for re-engagement campaigns for installed users. The touchpoint generated by the tracking link is attributed only to the deeplink open and the following in-app events, not to the install event.

    ON-FALSE

    ON-FALSE is used for user acquisition campaigns targeting uninstalled users. The touchpoint generated by the tracking link is attributed only to the install event and the following in-app events, not to the 'deeplink open' event.

    deeplinkUrl
    stringnullable

    Configure the Deeplink URL for redirect.

    If deeplinkUrl is missing or null, the deeplink setting is not configured.

    Example format: URLScheme://path?key=value

    If an invalid deeplinkUrl is used, the deep link may not work properly and could result in unexpected behavior or issues.

    deeplinkOption
    object
    deeplinkOption.showAlertForInitialDeeplinkingIssue
    boolean

    Stopover Page

    true: activate

    false: deactivate

    fallbackPaths
    object

    Configure the redirect path by platform when deep linking doesn't redirect as intended.

    fallbackPaths.android
    enum

    Redirect android user to google-play, airpage or http(s) url

    ENUM VALUES
    google-play

    Landing in the Google Play Store.

    {http_url}

    Landing in the URL.

    fallbackPaths.ios
    enum

    Redirect iOS user to itunes-appstore, airpage or http(s) url

    ENUM VALUES
    itunes-appstore

    Landing in the App Store.

    {http_url}

    Landing in the URL.

    fallbackPaths.desktop
    enum

    Redirect desktop user to google-play, itunes-appstore or http(s) url

    ENUM VALUES
    google-play

    Landing in the Google Play Store.

    itunes-appstore

    Landing in the App Store.

    airpage

    Landing in the airpage.

    {http_url}

    Landing in the URL.

    fallbackPaths.option
    object
    fallbackPaths.option.iosCustomProductPageId
    string

    The ppid for the Custom Product Page in the Apple App Store.

    Enable the custom product page to be shown when landing in the App Store.

    fallbackPaths.option.googlePlayCustomStoreListing
    string

    The Custom Store Listing listing value for the Google Play Store.

    Enables the display of your custom store listing when landing on the Google Play Store.

    ogTag
    object

    Configure the Open Graph for the tracking link that will be shown when the link is shared or posted.

    ogTag.title
    string

    The Open Graph of url specified in fallbackPath.

    ogTag.description
    string

    og:title for tracking link

    ogTag.imageUrl
    string

    og:description for tracking link

    ogTag.websiteCrawl
    enum

    og:image for tracking link

    ENUM VALUES
    desktop

    The Open Graph of the desktop fallbackPath is crawled and used. The values set for title, description, and imageUrl will be ignored.

    ogTag.useDefault
    boolean

    Enable the Social Share preview default values set in the Airbridge dashboard.
    Note. Other parameter values in the og tag will be ignored.

    customShortId
    string

    Configure the Short Link ID of tracking links depending on your campaign or contents. If not passed, a random Short Link ID will be generate, and can not be changed once generated.

    The Short Link ID of a tracking link cannot be reused even if the tracking link has been deprecated.

    Allowed Characters & Restrictions

    • Lowercase English letters: a–z

    • Korean characters (Hangul): 가–힣

    • Numbers: 0–9

    • Special characters: hyphen (-), underscore (_)

    • Maximum length: 45 characters

    Request
    12345
    curl -X POST 'https://api.airbridge.io/v1/tracking-links' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}' \
      -d '{"channel":"my-channel","campaignParams":{"campaign":"2022_FW_Sale_Festival","ad_group":"UA","ad_creative":"Coat_840x600"},"isReengagement":"ON-TRUE","deeplinkOption":{"showAlertForInitialDeeplinkingIssue":true},"fallbackPaths":{"option":{"iosCustomProductPageId":"5ae82ffe-1f08-428d-b352-ac1c3a22aa1e","googlePlayCustomStoreListing":"custom-store-listing"}},"ogTag":{"title":"30% Off Winter Apparel for 3 Days Only","description":"Get great deals on apparel to keep you warm this winter","imageUrl":"https://static.airbridge.io/images/2021_airbridge_og_tag.png"}}'
    Payload
    1234567891011121314151617181920212223
    {
      "channel": "my-channel",
      "campaignParams": {
        "campaign": "2022_FW_Sale_Festival",
        "ad_group": "UA",
        "ad_creative": "Coat_840x600"
      },
      "isReengagement": "ON-TRUE",
      "deeplinkOption": {
        "showAlertForInitialDeeplinkingIssue": true
      },
      "fallbackPaths": {
        "option": {
          "iosCustomProductPageId": "5ae82ffe-1f08-428d-b352-ac1c3a22aa1e",
          "googlePlayCustomStoreListing": "custom-store-listing"
        }
      },
      "ogTag": {
        "title": "30% Off Winter Apparel for 3 Days Only",
        "description": "Get great deals on apparel to keep you warm this winter",
        "imageUrl": "https://static.airbridge.io/images/2021_airbridge_og_tag.png"
      }
    }

    200SUCCESS

    Tracking Link was successfully created.

    404ERROR

    There is no such app. Please check the request token again.

    422ERROR

    There are some invalid values in request.

    429ERROR

    rate limit exceeded

    Response
    12345678910111213141516
    {
      "data": {
        "trackingLink": {
          "id": 10000,
          "link": {
            "click": "http://abr.ge/@airbridge/my-channel?...",
            "impression": "http://abr.ge/@airbridge/my-channel?...",
            "serverToServerClick": null
          },
          "shortId": "6nwx4w",
          "shortUrl": "http://abr.ge/6nwx4w",
          "channelType": "custom",
          "trackingTemplateId": "706f9839a7b50d87ab917dbb1b9fa7f3"
        }
      }
    }
    Response
    1234567
    {
      "type": "about:blank",
      "title": "Not Found",
      "detail": "There is no such app.",
      "status": 404,
      "traceId": "1-000000-000000000000000"
    }
    Response
    1234567891011
    {
      "detail": [
        {
          "loc": [
            "string"
          ],
          "msg": "string",
          "type": "string"
        }
      ]
    }
    Response
    123456
    {
      "type": "Rate limit exceeded",
      "title": null,
      "status": 429,
      "traceId": "1-6768fb4d-0833f0c4639017b1613ac244"
    }

    GET

    https://api.airbridge.io/v1/tracking-links/{id}

    Get the details of a tracking link.

    Accept-Language
    string

    You can specify the language to use for API requests and responses. It follows the ISO-639-1 format.

    Content-Type
    string

    Represents the media type of the resource. Defaults to application/json.

    Authorization
    string

    The key value to use for API requests. Instructions for getting API keys are in "how to generate API Keys".

    id
    Requiredstring

    The ID of the Tracking Link.

    idType
    string

    The format of the tracking link identifier. The default setting is id

    - id: The identifier of a generic tracking link. It can be obtained via the list get API.
    - shortId: Short link ID. A short link is a tracking link in short link format.
    - trackingTemplateId: ID of the tracking link template.

    Request
    1234
    curl -X GET 'https://api.airbridge.io/v1/tracking-links/10000?idType=id' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'

    200SUCCESS

    400ERROR

    There is an error in the field provided, or there is no such resource.

    422ERROR

    A field is missing or has an error.

    Response
    123456789101112131415161718192021222324252627282930313233343536373839404142434445
    {
      "data": {
        "link": {
          "click": "https://go.ab180.co/@ablog/my-channel?...",
          "impression": null,
          "serverToServerClick": null
        },
        "email": "contact@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": "ri4lnp",
        "shortUrl": "https://go.ab180.co/ri4lnp",
        "createdAt": "2023-01-01T00:00:00+09:00",
        "channelName": "my-channel",
        "channelType": "custom",
        "deeplinkUrl": null,
        "deeplinkOption": {
          "showAlertForInitialDeeplinkingIssue": false
        },
        "fallbackPaths": {
          "ios": "itunes-appstore",
          "option": {
            "iosCustomProductPageId": null
          },
          "android": "google-play",
          "desktop": "https://airbridge.io"
        },
        "campaignParams": {
          "campaign": "123",
          "adCreative": "asdf",
          "adGroup": "zxcv",
          "content": null,
          "term": "poiu",
          "subId": null,
          "subId1": null,
          "subId2": null,
          "subId3": null
        },
        "isReengagement": "OFF"
      }
    }
    Response
    1234567
    {
      "type": "about:blank",
      "title": "Not Found",
      "detail": "Resource not found.",
      "status": 404,
      "traceId": "1-6450a21d-2b02e4d533589b625d875399"
    }
    Response
    1234567891011
    {
      "detail": [
        {
          "loc": [
            "string"
          ],
          "msg": "string",
          "type": "string"
        }
      ]
    }

    PATCH

    https://api.airbridge.io/v1/tracking-links/{id}/og-tag

    Supported HTTP Methods: PUT, PATCH

    Update the Open Graph of the tracking link.

    Accept-Language
    string

    You can specify the language to use for API requests and responses. It follows the ISO-639-1 format.

    Content-Type
    string

    Represents the media type of the resource. Defaults to application/json.

    Authorization
    string

    The key value to use for API requests. Instructions for getting API keys are in "how to generate API Keys".

    id
    Requiredstring

    The ID of the Tracking Link.

    idType
    string

    The format of the tracking link identifier. The default setting is id

    - id: The identifier of a generic tracking link. It can be obtained via the list get API.
    - shortId: Short link ID. A short link is a tracking link in short link format.
    - trackingTemplateId: ID of the tracking link template.

    title
    Requiredstring

    og.description of the tracking link

    description
    Requiredstring

    og:image of the tracking link

    imageUrl
    Requiredstring
    ogTag.websiteCrawl
    enum

    og:image for tracking link

    ENUM VALUES
    desktop

    The Open Graph of the desktop fallbackPath is crawled and used. The values set for title, description, and imageUrl will be ignored.

    ogTag.websiteCrawl
    enum

    og:image for tracking link

    ENUM VALUES
    desktop

    The Open Graph of the desktop fallbackPath is crawled and used. The values set for title, description, and imageUrl will be ignored.

    ogTag.useDefault
    boolean

    Enable the Social Share preview default values set in the Airbridge dashboard.
    Note. Other parameter values in the og tag will be ignored.

    Request
    12345
    curl -X PATCH 'https://api.airbridge.io/v1/tracking-links/10000/og-tag' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}' \
      -d '{"idType":"id","title":"30% Off Winter Apparel for 3 Days Only","description":"Get great deals on apparel to keep you warm this winter","imageUrl":"https://static.airbridge.io/images/2021_airbridge_og_tag.png"}'
    Payload
    123456
    {
      "idType": "id",
      "title": "30% Off Winter Apparel for 3 Days Only",
      "description": "Get great deals on apparel to keep you warm this winter",
      "imageUrl": "https://static.airbridge.io/images/2021_airbridge_og_tag.png"
    }

    200SUCCESS

    400ERROR

    The image URL used an incorrect URL type.

    404ERROR

    There is an error in the field provided, or there is no such resource.

    Response
    1
    {}
    Response
    12345678910111213141516
    {
      "instance": [
        {
          "loc": [
            "imageUrl"
          ],
          "msg": "Invalid URL",
          "type": "validation_error"
        }
      ],
      "detail": "invalid_request",
      "status": 400,
      "title": "Bad Request",
      "traceId": "1-67c6a5e8-1f93748e2c8c732e71767b98",
      "type": "about:blank"
    }
    Response
    1234567
    {
      "type": "about:blank",
      "title": "Not Found",
      "detail": "Resource not found.",
      "status": 404,
      "traceId": "1-6450a21d-2b02e4d533589b625d875399"
    }

    PATCH

    https://api.airbridge.io/v1/tracking-links/{id}/routing

    Supported HTTP Methods: PUT, PATCH

    Update the destination and fallback path for the Tracking Link.

    Accept-Language
    string

    You can specify the language to use for API requests and responses. It follows the ISO-639-1 format.

    Content-Type
    string

    Represents the media type of the resource. Defaults to application/json.

    Authorization
    string

    The key value to use for API requests. Instructions for getting API keys are in "how to generate API Keys".

    id
    Requiredstring

    The ID of the Tracking Link.

    idType
    string

    The format of the tracking link identifier. The default setting is id

    - id: The identifier of a generic tracking link. It can be obtained via the list get API.
    - shortId: Short link ID. A short link is a tracking link in short link format.
    - trackingTemplateId: ID of the tracking link template.

    deeplinkUrl
    stringnullable

    Configure the Deeplink URL for redirect.

    If deeplinkUrl is missing or null, the deeplink setting is not configured.

    Example format: URLScheme://path?key=value

    If an invalid deeplinkUrl is used, the deep link may not work properly and could result in unexpected behavior or issues.

    deeplinkOption
    objectnullable
    deeplinkOption.showAlertForInitialDeeplinkingIssue
    booleannullable

    Stopover page

    true : active

    false : inactive

    fallbackPaths
    object

    Configure the redirect path by platform when deep linking doesn't redirect as intended.

    fallbackPaths.android
    enum

    Redirect android user to google-play, airpage or http(s) url

    ENUM VALUES
    google-play

    Landing in the Google Play Store.

    {http_url}

    Landing in the URL.

    fallbackPaths.ios
    enum

    Redirect iOS user to itunes-appstore, airpage or http(s) url

    ENUM VALUES
    itunes-appstore

    Landing in the App Store.

    {http_url}

    Landing in the URL.

    fallbackPaths.desktop
    enum

    Redirect desktop user to google-play, itunes-appstore or http(s) url

    ENUM VALUES
    google-play

    Landing in the Google Play Store.

    itunes-appstore

    Landing in the App Store.

    airpage

    Landing in the airpage.

    {http_url}

    Landing in the URL.

    fallbackPaths.option
    object

    Set option of fallback.

    fallbackPaths.option.iosCustomProductPageId
    string

    The ppid from the Custom Product Page in the Apple App Store.

    fallbackPaths.option.googlePlayCustomStoreListing
    string

    The Custom Store Listing listing value for the Google Play Store.

    Request
    12345
    curl -X PATCH 'https://api.airbridge.io/v1/tracking-links/10000/routing' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}' \
      -d '{"idType":"id","deeplinkOption":{"showAlertForInitialDeeplinkingIssue":true}}'
    Payload
    123456
    {
      "idType": "id",
      "deeplinkOption": {
        "showAlertForInitialDeeplinkingIssue": true
      }
    }

    200SUCCESS

    404ERROR

    There is an error in the field provided, or there is no such resource.

    Response
    1
    {}
    Response
    1234567
    {
      "type": "about:blank",
      "title": "Not Found",
      "detail": "Resource not found.",
      "status": 404,
      "traceId": "1-6450a21d-2b02e4d533589b625d875399"
    }

    GET

    https://api.airbridge.io/v2/tracking-links

    Retrieves a list of generated tracking links.

    Accept-Language
    string

    You can specify the language to use for API requests and responses. It follows the ISO-639-1 format.

    Content-Type
    string

    Represents the media type of the resource. Defaults to application/json.

    Authorization
    string

    The key value to use for API requests. Instructions for getting API keys are in "how to generate API Keys".

    from
    Requiredstring

    The start date for tracking link list query.

    to
    Requiredstring

    The end date for tracking list query.

    next_cursor
    numbernullable

    A cursor used to retrieve the next page of data

    size
    number

    The number of items to retrieve.

    Note that up to 1000 can be set.

    keyword
    string

    The keyword to search for.

    channel_name
    string

    Filter channel.

    sort_key
    enum

    Sort standard. The default is createdAt

    ENUM VALUES
    createdAt

    Sort by created at.

    sort_type
    enum

    Sort by. (Default: ASC)

    ENUM VALUES
    DESC

    Descending.

    ASC

    Ascending.

    Request
    1234
    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}'

    200SUCCESS

    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.

    400ERROR

    The field contains an error or is incorrectly formatted.

    Response
    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
    {
      "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."
    }
    Response
    12345678910111213141516
    {
      "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"
    }

    GET

    https://api.airbridge.io/v1/tracking-links

    Get a list of the Tracking Links.

    Accept-Language
    string

    You can specify the language to use for API requests and responses. It follows the ISO-639-1 format.

    Content-Type
    string

    Represents the media type of the resource. Defaults to application/json.

    Authorization
    string

    The key value to use for API requests. Instructions for getting API keys are in "how to generate API Keys".

    from
    Requiredstring

    The start date for tracking link list query.

    to
    Requiredstring

    The end date for tracking list query.

    skip
    number

    The number of items to skip.

    size
    number

    The number of items to retrieve.

    Note that up to 500 can be set.

    keyword
    string

    The keyword to search for.

    channel_name
    string

    Filter channel.

    sort_key
    enum

    Sort standard. The default is createdAt

    ENUM VALUES
    createdAt

    Sort by created at.

    sort_type
    enum

    Sort by. (Default: DESC)

    ENUM VALUES
    DESC

    Descending.

    ASC

    Ascending.

    Request
    1234
    curl -X GET 'https://api.airbridge.io/v1/tracking-links?from=2023-04-01&to=2023-04-02&skip=0&size=10&sort_key=createdAt&sort_type=DESC' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'

    200SUCCESS

    400ERROR

    The field contains an error or is incorrectly formatted.

    Response
    12345678910111213
    {
      "data": {
        "totalCount": 2,
        "trackingLinks": [
          {
            "id": 10001
          },
          {
            "id": 10002
          }
        ]
      }
    }
    Response
    12345678910111213141516
    {
      "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"
    }