List links
Filter and paginate through the links available to your workspace API key.
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
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.
Filter links
All filters are optional. When you combine filters, a link must satisfy every filter. When you provide multipletag_ids, a link may match any supplied tag.
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
Find a link by external ID
external_id is unique within a workspace.
Response
A successful request returns200 OK. links contains zero or more complete
link resources. No internal link, user, domain, folder, tag, pixel, or workspace
numeric IDs are returned.
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 inpagination.
Get the next page
Whennext_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
Whenprevious_cursor is not null, pass it as ending_before:
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
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.
Related link workflows
- 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
A workspace API key beginning with biqli_.
Query Parameters
Partial search across public ID, external ID, name, alias or slug, and destination URL.
1 - 255Public custom-domain ID, or default for the default Biqli domain.
^(default|biq_dom_[0-9A-HJKMNP-TV-Z]{26})$Public folder ID.
^biq_fld_[0-9A-HJKMNP-TV-Z]{26}$Public tag IDs. A link may match any supplied tag.
1 - 100 elements^biq_tag_[0-9A-HJKMNP-TV-Z]{26}$Exact match for the caller-controlled, workspace-unique external ID.
1 - 255Filter by the requested active state.
Filter by the current link safety state.
clear, pending, quarantined Return the next, older page after this public link cursor. Mutually exclusive with ending_before.
^biq_lnk_[0-9A-HJKMNP-TV-Z]{26}$Return the previous, newer page before this public link cursor. Mutually exclusive with starting_after.
^biq_lnk_[0-9A-HJKMNP-TV-Z]{26}$Number of links to return.
1 <= x <= 100
