List tracked links
GET
/links
const url = 'https://app.whatsetter.com/api/v1/links?status=active&limit=25';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://app.whatsetter.com/api/v1/links?status=active&limit=25' \ --header 'Authorization: Bearer <token>'The workspace’s tracked WhatsApp links, newest first, with their
click counter and last click. Filter by campaign (document id or
slug) and status. Requires scope links:read.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”campaign_id
string
Campaign document id or campaign_id slug.
status
string
limit
integer
cursor
string
Opaque cursor from the previous page’s pagination.next_cursor.
Responses
Section titled “Responses”The links
Media typeapplication/json
object
data
Array<object>
object
id
string
slug
string
name
string | null
url
The public short link, https://app.whatsetter.com/l/<slug>.
string
campaign_id
The campaign slug the link routes to.
string | null
status
string
channel
auto = the platform is read on each click (default); otherwise a forced platform (instagram, tiktok, …).
string
clicks
Click counter
integer
last_click_at
string | null format: date-time
created_at
string format: date-time
pagination
object
has_more
boolean
next_cursor
string | null
Example
{ "data": [ { "id": "68d9aa11bb22cc33dd44ee55", "slug": "insta-bio", "name": "Instagram bio", "url": "https://app.whatsetter.com/l/insta-bio", "campaign_id": "auto24-maroc-4-bu76", "status": "active", "channel": "auto", "clicks": 128, "last_click_at": "2026-09-18T10:00:00.000Z", "created_at": "2026-09-01T08:00:00.000Z" } ], "pagination": { "has_more": false, "next_cursor": null }}Missing, unknown or revoked API key
Media typeapplication/json
object
error
object
code
string
message
string
Examplegenerated
{ "error": { "code": "example", "message": "example" }}The key lacks the required scope
Media typeapplication/json
object
error
object
code
string
message
string
Examplegenerated
{ "error": { "code": "example", "message": "example" }}Invalid parameter or body (also an invalid or expired cursor)
Media typeapplication/json
object
error
object
code
string
message
string
Examplegenerated
{ "error": { "code": "example", "message": "example" }}
