Skip to main content
PATCH
Bulk update links
Apply the same partial update to between 1 and 100 links. Identify targets with either their Biqli public IDs or your workspace-unique external IDs.

Authentication and permission

This endpoint requires Links: Write (links.update). Fields that reference domains, folders, pixels, or tags additionally require that resource’s read permission, exactly as described by Update a link.
Send link_ids and a non-empty data object. Only fields in data are changed.

Update by external ID

Use external_ids instead of link_ids when your integration owns the IDs:
link_ids and external_ids are mutually exclusive. Each list accepts 1 to 100 distinct strings. External IDs match exactly and are unique within the workspace.

Fields you can update

data accepts the mutable fields documented by the single Update a link endpoint: destination, name, domain, active state, password, schedule, expiration rule, UTM data, dynamic routing, resource attachments, conversion tracking, indexing, and custom preview fields. alias and external_id are intentionally excluded from a shared bulk patch because they are per-link unique identities. Change either one surgically with PATCH /v1/link/{link}. To clear a nullable value, send null; to clear a collection such as tags or geo rules, send []. Every target goes through the same plan, URL safety, reference, schedule, and activity flow as an individual PATCH. Updates run in request order and are independent.

Response and partial success

Complete success returns 200 OK. Any missing or rejected target produces 207 Multi-Status; successful targets remain updated.
The full response link contains every field from Retrieve a link. Valid-looking identifiers outside the key’s workspace are reported as not found, preventing workspace discovery. Always inspect each result and retry only failures.

Request-level errors

Item-specific 404, 409, and 422 outcomes appear inside a 207 response. Every top-level API error contains a traceable request_id.

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.

Authorizations

Authorization
string
header
required

A workspace API key beginning with biqli_.

Body

application/json
Required array length: 1 - 100 elements
Pattern: ^biq_lnk_[0-9A-HJKMNP-TV-Z]{26}$
data
object
required

A partial link update. Omitted properties keep their current values.

external_ids
string[]
Required array length: 1 - 100 elements
Required string length: 1 - 255

Response

Every link was updated.

results
object[]
required
summary
object
required
status
enum<string>
required
Available options:
success,
partial_success,
failed