curl -X POST https://api.bouncy.ai/v1/websites \
-H "Authorization: Bearer bcy_live_pk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"slug": "johndoe",
"title": "John Doe - Links",
"description": "Digital Creator | Follow my socials",
"template": "bounce",
"theme": {
"backgroundColor": "#ffffff",
"textColor": "#000000",
"buttonColor": "#084c58"
},
"links": [
{
"title": "My Website",
"url": "https://johndoe.com",
"icon": "globe"
},
{
"title": "YouTube Channel",
"url": "https://youtube.com/@johndoe",
"icon": "youtube"
}
],
"socialLinks": {
"twitter": "johndoe",
"instagram": "johndoe"
}
}'
const response = await fetch('https://api.bouncy.ai/v1/websites', {
method: 'POST',
headers: {
'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
slug: 'johndoe',
title: 'John Doe - Links',
description: 'Digital Creator | Follow my socials',
template: 'bounce',
links: [
{ title: 'My Website', url: 'https://johndoe.com', icon: 'globe' },
{ title: 'YouTube Channel', url: 'https://youtube.com/@johndoe', icon: 'youtube' }
],
socialLinks: {
twitter: 'johndoe',
instagram: 'johndoe'
}
})
});
const website = await response.json();
console.log('Website created:', website.url);
import requests
response = requests.post(
'https://api.bouncy.ai/v1/websites',
headers={
'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'slug': 'johndoe',
'title': 'John Doe - Links',
'description': 'Digital Creator | Follow my socials',
'template': 'bounce',
'links': [
{'title': 'My Website', 'url': 'https://johndoe.com', 'icon': 'globe'},
{'title': 'YouTube Channel', 'url': 'https://youtube.com/@johndoe', 'icon': 'youtube'}
],
'socialLinks': {
'twitter': 'johndoe',
'instagram': 'johndoe'
}
}
)
website = response.json()
print(f"Website created: {website['url']}")
{
"id": "web_abc123xyz",
"slug": "johndoe",
"url": "https://bouncy.ai/johndoe",
"title": "John Doe - Links",
"description": "Digital Creator | Follow my socials",
"template": "bounce",
"createdAt": "2026-02-06T12:00:00Z"
}
{
"error": {
"code": "slug_already_exists",
"message": "The slug 'johndoe' is already in use"
}
}
Websites
Create Website
Create a new bio link page (website)
POST
/
v1
/
websites
curl -X POST https://api.bouncy.ai/v1/websites \
-H "Authorization: Bearer bcy_live_pk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"slug": "johndoe",
"title": "John Doe - Links",
"description": "Digital Creator | Follow my socials",
"template": "bounce",
"theme": {
"backgroundColor": "#ffffff",
"textColor": "#000000",
"buttonColor": "#084c58"
},
"links": [
{
"title": "My Website",
"url": "https://johndoe.com",
"icon": "globe"
},
{
"title": "YouTube Channel",
"url": "https://youtube.com/@johndoe",
"icon": "youtube"
}
],
"socialLinks": {
"twitter": "johndoe",
"instagram": "johndoe"
}
}'
const response = await fetch('https://api.bouncy.ai/v1/websites', {
method: 'POST',
headers: {
'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
slug: 'johndoe',
title: 'John Doe - Links',
description: 'Digital Creator | Follow my socials',
template: 'bounce',
links: [
{ title: 'My Website', url: 'https://johndoe.com', icon: 'globe' },
{ title: 'YouTube Channel', url: 'https://youtube.com/@johndoe', icon: 'youtube' }
],
socialLinks: {
twitter: 'johndoe',
instagram: 'johndoe'
}
})
});
const website = await response.json();
console.log('Website created:', website.url);
import requests
response = requests.post(
'https://api.bouncy.ai/v1/websites',
headers={
'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'slug': 'johndoe',
'title': 'John Doe - Links',
'description': 'Digital Creator | Follow my socials',
'template': 'bounce',
'links': [
{'title': 'My Website', 'url': 'https://johndoe.com', 'icon': 'globe'},
{'title': 'YouTube Channel', 'url': 'https://youtube.com/@johndoe', 'icon': 'youtube'}
],
'socialLinks': {
'twitter': 'johndoe',
'instagram': 'johndoe'
}
}
)
website = response.json()
print(f"Website created: {website['url']}")
{
"id": "web_abc123xyz",
"slug": "johndoe",
"url": "https://bouncy.ai/johndoe",
"title": "John Doe - Links",
"description": "Digital Creator | Follow my socials",
"template": "bounce",
"createdAt": "2026-02-06T12:00:00Z"
}
{
"error": {
"code": "slug_already_exists",
"message": "The slug 'johndoe' is already in use"
}
}
Complex Customization AvailableWebsite creation has many advanced parameters for design and customization that aren’t fully documented here.Need help? Create a website using the Bouncy.ai dashboard, then contact support - we’ll export the exact API calls for you to duplicate it programmatically.
Request
Headers
Must be
application/jsonBody
URL slug for the websiteExample:
myprofile
Result: bouncy.ai/myprofilePage titleExample:
John Doe - LinksPage description/bioExample:
Digital Creator | Follow my socialsTemplate style to useOptions:
bounce, simple, deeplink, spotlight, personal
Default: bounceURL to profile imageExample:
https://example.com/avatar.jpgResponse
Unique website ID
URL slug
Full URL to the websiteExample:
https://bouncy.ai/myprofilePage title
Template being used
ISO 8601 timestamp
curl -X POST https://api.bouncy.ai/v1/websites \
-H "Authorization: Bearer bcy_live_pk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"slug": "johndoe",
"title": "John Doe - Links",
"description": "Digital Creator | Follow my socials",
"template": "bounce",
"theme": {
"backgroundColor": "#ffffff",
"textColor": "#000000",
"buttonColor": "#084c58"
},
"links": [
{
"title": "My Website",
"url": "https://johndoe.com",
"icon": "globe"
},
{
"title": "YouTube Channel",
"url": "https://youtube.com/@johndoe",
"icon": "youtube"
}
],
"socialLinks": {
"twitter": "johndoe",
"instagram": "johndoe"
}
}'
const response = await fetch('https://api.bouncy.ai/v1/websites', {
method: 'POST',
headers: {
'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
slug: 'johndoe',
title: 'John Doe - Links',
description: 'Digital Creator | Follow my socials',
template: 'bounce',
links: [
{ title: 'My Website', url: 'https://johndoe.com', icon: 'globe' },
{ title: 'YouTube Channel', url: 'https://youtube.com/@johndoe', icon: 'youtube' }
],
socialLinks: {
twitter: 'johndoe',
instagram: 'johndoe'
}
})
});
const website = await response.json();
console.log('Website created:', website.url);
import requests
response = requests.post(
'https://api.bouncy.ai/v1/websites',
headers={
'Authorization': 'Bearer bcy_live_pk_YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'slug': 'johndoe',
'title': 'John Doe - Links',
'description': 'Digital Creator | Follow my socials',
'template': 'bounce',
'links': [
{'title': 'My Website', 'url': 'https://johndoe.com', 'icon': 'globe'},
{'title': 'YouTube Channel', 'url': 'https://youtube.com/@johndoe', 'icon': 'youtube'}
],
'socialLinks': {
'twitter': 'johndoe',
'instagram': 'johndoe'
}
}
)
website = response.json()
print(f"Website created: {website['url']}")
{
"id": "web_abc123xyz",
"slug": "johndoe",
"url": "https://bouncy.ai/johndoe",
"title": "John Doe - Links",
"description": "Digital Creator | Follow my socials",
"template": "bounce",
"createdAt": "2026-02-06T12:00:00Z"
}
{
"error": {
"code": "slug_already_exists",
"message": "The slug 'johndoe' is already in use"
}
}
⌘I