Skip to main content
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

Content-Type
string
required
Must be application/json

Body

slug
string
required
URL slug for the websiteExample: myprofile Result: bouncy.ai/myprofile
title
string
required
Page titleExample: John Doe - Links
description
string
Page description/bioExample: Digital Creator | Follow my socials
template
string
Template style to useOptions: bounce, simple, deeplink, spotlight, personal Default: bounce
theme
object
Theme configuration
Array of link objects to display
profileImage
string
URL to profile imageExample: https://example.com/avatar.jpg
Social media links

Response

id
string
Unique website ID
slug
string
URL slug
url
string
Full URL to the websiteExample: https://bouncy.ai/myprofile
title
string
Page title
template
string
Template being used
createdAt
string
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"
  }
}