Skip to main content
DELETE

Request

Headers

string
required
Must be application/json

Body

Identifiers of the links to delete (max: 100). Each one is resolved exactly like DELETE /v1/links/: the link id or its full short URL. A bare slug only matches the link whose id it is (a bouncy.ai link); it is never looked up across your other domains, so resending the same request after a timeout reports the already deleted links as not found instead of deleting other links that share their slugs. An identifier also never falls through to a similar link (another case of a custom path, a_b for a/b, the bare domain for a used www. host), and a short URL with #, a . or .. segment or an encoded / fails as not found: see Delete Link. For an active, non-viewer team member, the team owner’s links resolve too, by their exact id or short URL.A link named more than once (for example by its id and by its short URL) is deleted once; the extra entries are listed under skipped.The links in one request can be on at most 10 different custom domains (each one is redeployed after the delete). Over that, the request is refused with 400 TOO_MANY_CUSTOM_DOMAINS and nothing is deleted: split it by domain.Example: ["my-link", "tapmy.social__promo", "https://go.example.com/sale"]
This action is permanent and cannot be undone. All short URLs will immediately stop working. Contacts collected by a deleted website are deleted with it, and each affected custom domain is redeployed once.
The deletes are committed before any custom domain is redeployed. Redeploys run a few at a time within a fixed time budget, so the response always arrives well inside the request timeout. A domain whose redeploy did not finish in time is listed in redeployPending: its links are deleted, but the domain may keep serving the deleted paths until it is next deployed.

Response

boolean
true when the request was processed (individual links can still fail)
string
Summary of the counts
object
integer
Number of links deleted
array
{ domain, reason } for each affected custom domain whose redeploy was not confirmed (empty when every domain was redeployed). reason is timed_out (still running when the time budget ran out), not_started (the budget ran out first) or failed.