Viso.li

Detach Link

DELETEhttps://www.viso.li/api/campaign/:id/links/:slug

Removes one short link from a campaign. The link itself is kept. A campaign must keep at least one link.

Send Authorization: Bearer sk_api_your_api_key on every request. See authentication.

Path parameters

FieldTypeDescription
idstringRequired. The campaign UUID.
slugstringRequired. Public slug of the link to remove.

Example request

1curl -X DELETE https://www.viso.li/api/campaign/3f1c0c2a-7b4e-4d91-9c2a-1b8e6f0d2a11/links/abc123 \
2 -H "Authorization: Bearer sk_api_your_api_key"

Success response

Returns 200 OK. The body matches GET /api/campaign/:id.

response.json
1{
2 "id": "3f1c0c2a-7b4e-4d91-9c2a-1b8e6f0d2a11",
3 "name": "Bio link",
4 "description": null,
5 "status": "ACTIVE",
6 "templateKey": "bio-evergreen",
7 "goal": {
8 "type": "CLICKS",
9 "config": {
10 "target": 10000,
11 "windowDays": 30
12 }
13 },
14 "progress": {
15 "type": "CLICKS",
16 "target": 10000,
17 "current": 1240,
18 "remaining": 8760,
19 "percent": 12,
20 "reached": false
21 },
22 "linkCount": 1,
23 "links": [
24 {
25 "slug": "abc123",
26 "alias": null,
27 "url": "https://example.com/bio"
28 }
29 ],
30 "startsAt": null,
31 "endsAt": null,
32 "createdAt": "2026-08-22T14:00:00.000Z"
33}

Response fields

FieldTypeDescription
idstringRequired. Campaign UUID.
namestringRequired. Campaign name.
descriptionstring | nullRequired. Short description, or null.
statusstringRequired. ACTIVE, DRAFT, or ENDED.
templateKeystring | nullRequired. Stored template key, or null.
goalobject | nullRequired. Typed goal settings stored for this campaign.
progressobject | nullRequired. Current vs target, when the goal is numeric.
linkCountnumberRequired. Number of attached links.
linksobject[]Required. Attached short links with slug, alias, and destination URL.
links[].slugstringRequired. Public slug of the attached link.
links[].aliasstring | nullRequired. Custom back-half, or null.
links[].urlstringRequired. Destination URL.
startsAtstring | nullRequired. ISO 8601 start, or null.
endsAtstring | nullRequired. ISO 8601 end, or null.
createdAtstringRequired. ISO 8601 time the campaign was created.

Errors

StatusErrorDescription
400Bad RequestThe campaign id is invalid, the slug could not be found, or this is the campaign's last link.
401UnauthorizedMissing, malformed, or invalid Bearer token.
403ForbiddenCampaigns are not available on the current plan.
404Not FoundNo campaign with that id belongs to you.
429Too Many RequestsMore than 10 requests per minute and 50 requests per day. Some responses include a Retry-After header.
500Internal Server ErrorUnexpected server error. Retry the request.