Skip to main content
GET
List links
Retrieve links from the workspace bound to your API key. Each item uses the same complete, safe resource format returned by Retrieve a link, including configuration and aggregate performance data.

Authentication and permission

Send a workspace API key with Links: Read (links.view):
links.view is the only API key permission this endpoint needs. It includes aggregate clicks, leads, sales, normalized USD revenue, and the most recent click time. You do not need a separate analytics permission or additional read permissions for the public folder, tag, pixel, and domain IDs contained in each link. You do not send a workspace ID. The key determines the workspace. The user who created the key must still have workspace access; their current workspace role also determines whether they can see every workspace link or only their own.

List the first page

Links are ordered newest first using created_at and an internal tie-breaker. The tie-breaker is never exposed. page_size defaults to 50 and accepts values from 1 through 100. All filters are optional. When you combine filters, a link must satisfy every filter. When you provide multiple tag_ids, a link may match any supplied tag. The endpoint rejects unknown query parameters. Internal numeric IDs, workspaceId, workspace_id, userId, arbitrary relation loading, and raw database filters or sorting are not supported.

Search by destination or alias

Filter by workspace resources

You can also send the tags as one comma-separated value:
An exact external-ID filter returns either an empty list or the single matching link because external_id is unique within a workspace.

Response

A successful request returns 200 OK. links contains zero or more complete link resources. No internal link, user, domain, folder, tag, pixel, or workspace numeric IDs are returned.
The API never returns the password, password hash, quarantine reason, or other private operational data. has_password only tells you whether protection is enabled. Deleted links are excluded.

Cursor pagination

Cursor pagination remains stable when links are added while you are traversing results. Do not construct or alter cursor values: use the public link IDs returned in pagination.

Get the next page

When next_cursor is not null, pass it as starting_after while keeping all other filters and page_size unchanged:
has_more indicates whether another older page exists. When it is false, next_cursor is null.

Return to the previous page

When previous_cursor is not null, pass it as ending_before:
You cannot send starting_after and ending_before together. A correctly formatted cursor that is deleted or unavailable in the key’s workspace returns 404 resource_not_found.

Empty result

No matches is a successful response, not an error:

Errors

Validation responses include error.details.errors keyed by query parameter. Every error contains a request_id, also returned in the X-Biq-Request-Id response header for tracing and support.
  • Use Count links with the same filters when you only need the number of matches.
  • Use Bulk create links to create up to 100 complete link configurations in request order.
  • Use Bulk update links to apply one shared partial update to up to 100 public or external IDs.
  • Use Bulk delete links to permanently remove up to 100 public IDs with idempotent retry behavior.

Shared API behavior

Authentication is workspace-scoped; see Authentication. Errors use the standard envelope and request IDs described in Errors, and requests are subject to Rate limits. This endpoint uses cursor pagination; see Pagination.

Authorizations

Authorization
string
header
required

A workspace API key beginning with biqli_.

Query Parameters

Partial search across public ID, external ID, name, alias or slug, and destination URL.

Required string length: 1 - 255
domain_id
string

Public custom-domain ID, or default for the default Biqli domain.

Pattern: ^(default|biq_dom_[0-9A-HJKMNP-TV-Z]{26})$
folder_id
string

Public folder ID.

Pattern: ^biq_fld_[0-9A-HJKMNP-TV-Z]{26}$
tag_ids
string[]

Public tag IDs. A link may match any supplied tag.

Required array length: 1 - 100 elements
Pattern: ^biq_tag_[0-9A-HJKMNP-TV-Z]{26}$
external_id
string

Exact match for the caller-controlled, workspace-unique external ID.

Required string length: 1 - 255
active
boolean

Filter by the requested active state.

safety_status
enum<string>

Filter by the current link safety state.

Available options:
clear,
pending,
quarantined
starting_after
string

Return the next, older page after this public link cursor. Mutually exclusive with ending_before.

Pattern: ^biq_lnk_[0-9A-HJKMNP-TV-Z]{26}$
ending_before
string

Return the previous, newer page before this public link cursor. Mutually exclusive with starting_after.

Pattern: ^biq_lnk_[0-9A-HJKMNP-TV-Z]{26}$
page_size
integer
default:50

Number of links to return.

Required range: 1 <= x <= 100

Response

Links returned successfully.

pagination
object
required
status
string
required
Allowed value: "success"