curl -X PATCH https://api.bouncy.ai/v1/links/my-link/status \
-H "Authorization: Bearer bcy_live_pk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"setActive": false}'
curl -X PATCH https://api.bouncy.ai/v1/links/my-link/status \
-H "Authorization: Bearer bcy_live_pk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"setActive": true}'
const response = await fetch(
'https://api.bouncy.ai/v1/links/my-link/status',
{
method: 'PATCH',
headers: {
'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ setActive: false })
}
);
const result = await response.json();
console.log(result.message);
import requests
response = requests.patch(
'https://api.bouncy.ai/v1/links/my-link/status',
headers={
'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={'setActive': False}
)
result = response.json()
print(result['message'])
{
"success": true,
"id": "my-link",
"isActive": false,
"message": "Deeplink deactivated successfully"
}
{
"success": true,
"id": "my-link",
"isActive": true,
"message": "Deeplink activated successfully"
}
{
"error": "Deeplink not found"
}
{
"error": "Conflict",
"code": "AMBIGUOUS_IDENTIFIER",
"message": "More than one of your links uses this slug (for example on different domains). Send the link id or its full short URL instead."
}
Links
Toggle Link Status
Enable or disable a short link without deleting it
PATCH
/
v1
/
links
/
{identifier}
/
status
curl -X PATCH https://api.bouncy.ai/v1/links/my-link/status \
-H "Authorization: Bearer bcy_live_pk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"setActive": false}'
curl -X PATCH https://api.bouncy.ai/v1/links/my-link/status \
-H "Authorization: Bearer bcy_live_pk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"setActive": true}'
const response = await fetch(
'https://api.bouncy.ai/v1/links/my-link/status',
{
method: 'PATCH',
headers: {
'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ setActive: false })
}
);
const result = await response.json();
console.log(result.message);
import requests
response = requests.patch(
'https://api.bouncy.ai/v1/links/my-link/status',
headers={
'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={'setActive': False}
)
result = response.json()
print(result['message'])
{
"success": true,
"id": "my-link",
"isActive": false,
"message": "Deeplink deactivated successfully"
}
{
"success": true,
"id": "my-link",
"isActive": true,
"message": "Deeplink activated successfully"
}
{
"error": "Deeplink not found"
}
{
"error": "Conflict",
"code": "AMBIGUOUS_IDENTIFIER",
"message": "More than one of your links uses this slug (for example on different domains). Send the link id or its full short URL instead."
}
Request
Headers
string
required
Must be
application/jsonPath Parameters
string
required
Any of:
- the link
idreturned by GET /v1/links (e.g.,my-linkortapmy.social__my-link) - the slug (e.g.,
my-link), matched against your own links first and then, for an active team member, the team owner’s links - the short URL, URL-encoded (e.g.,
https%3A%2F%2Ftapmy.social%2Fmy-link)
id or short URL always wins over a slug match. If a bare slug matches more than one of your links (for example tapmy.social/my-link and viewmy.link/my-link), the request is refused with 409 AMBIGUOUS_IDENTIFIER: send the link id or the short URL instead.bulk (in any case) is not a link identifier here: PATCH /v1/links/bulk/status is always the bulk status endpoint (400 without a links array, with a message pointing to the short URL). Toggle the link whose id is bulk by its short URL (https%3A%2F%2Fbouncy.ai%2Fbulk).Body
boolean
required
Set to
true to activate the link, false to deactivate itExample: falseDeactivated links will stop redirecting. The link is not deleted and can be re-activated at any time.
Response
boolean
Whether the operation succeeded
string
The link’s
id (resolved from the identifier you sent)boolean
New active status
string
Success message
curl -X PATCH https://api.bouncy.ai/v1/links/my-link/status \
-H "Authorization: Bearer bcy_live_pk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"setActive": false}'
curl -X PATCH https://api.bouncy.ai/v1/links/my-link/status \
-H "Authorization: Bearer bcy_live_pk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"setActive": true}'
const response = await fetch(
'https://api.bouncy.ai/v1/links/my-link/status',
{
method: 'PATCH',
headers: {
'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ setActive: false })
}
);
const result = await response.json();
console.log(result.message);
import requests
response = requests.patch(
'https://api.bouncy.ai/v1/links/my-link/status',
headers={
'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={'setActive': False}
)
result = response.json()
print(result['message'])
{
"success": true,
"id": "my-link",
"isActive": false,
"message": "Deeplink deactivated successfully"
}
{
"success": true,
"id": "my-link",
"isActive": true,
"message": "Deeplink activated successfully"
}
{
"error": "Deeplink not found"
}
{
"error": "Conflict",
"code": "AMBIGUOUS_IDENTIFIER",
"message": "More than one of your links uses this slug (for example on different domains). Send the link id or its full short URL instead."
}