MASK

Bio Pages API

Programmatically create and manage link-in-bio pages with custom themes, content blocks, and analytics tracking.

# The bio page object

Fields

FieldTypeDescription
idstringUnique bio page identifier (e.g. bp_abc123)
titlestringPage title displayed at the top
slugstringURL slug for the bio page
descriptionstring | nullShort bio description
avatar_urlstring | nullURL to the avatar image
themeobjectTheme configuration (colors, fonts, layout)
blocksBlock[]Array of content blocks
domainstringThe domain serving this bio page
viewsnumberTotal page views
publishedbooleanWhether the page is publicly visible
created_atstringISO 8601 creation timestamp
updated_atstringISO 8601 last update timestamp

# Block types

Available block types

Each block has a type, a position integer, and a type-specific data object.

link

A clickable link button with title and URL

header

A section header or divider text

text

A paragraph of rich text content

image

An image with optional link and caption

video

An embedded video from YouTube or Vimeo

social

Social media profile icons row

email

Email signup or contact form

map

Embedded map location

spotify

Spotify track or playlist embed

product

Product card with image, price, and buy link

POST/v1/bio-pages

Create a bio page

Create a new bio page with title, description, theme, and optional initial blocks.

Request body

{
  "title": "Jane Smith",
  "slug": "jane",
  "description": "Designer & Content Creator",
  "domain": "bio.yourbrand.com",
  "theme": {
    "bg_color": "#ffffff",
    "text_color": "#000000",
    "button_style": "rounded",
    "font": "inter"
  },
  "published": true
}

Response

{
  "id": "bp_abc123",
  "title": "Jane Smith",
  "slug": "jane",
  "description": "Designer & Content Creator",
  "domain": "bio.yourbrand.com",
  "theme": { ... },
  "blocks": [],
  "views": 0,
  "published": true,
  "created_at": "2026-03-13T10:00:00Z"
}
GET/v1/bio-pages

List bio pages

Retrieve all bio pages in the workspace. Supports pagination with page and per_page query parameters.

Response

{
  "data": [
    {
      "id": "bp_abc123",
      "title": "Jane Smith",
      "slug": "jane",
      "views": 1420,
      "published": true,
      "created_at": "2026-03-13T10:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 50,
    "total": 3
  }
}
GET/v1/bio-pages/:id

Get a bio page

Retrieve a single bio page by ID, including all blocks and theme configuration.

Response

{
  "id": "bp_abc123",
  "title": "Jane Smith",
  "slug": "jane",
  "description": "Designer & Content Creator",
  "blocks": [
    {
      "id": "blk_001",
      "type": "link",
      "position": 0,
      "data": {
        "title": "My Portfolio",
        "url": "https://janesmith.com"
      }
    }
  ],
  "theme": { ... },
  "views": 1420,
  "published": true
}
PATCH/v1/bio-pages/:id

Update a bio page

Update bio page fields. Only include the fields you want to change.

Request body

{
  "title": "Jane Smith - Updated",
  "description": "Designer, Creator & Speaker",
  "published": true
}

Response

{
  "id": "bp_abc123",
  "title": "Jane Smith - Updated",
  "description": "Designer, Creator & Speaker",
  "updated_at": "2026-03-13T12:00:00Z"
}
POST/v1/bio-pages/:id/blocks

Add a block

Add a new content block to a bio page. Specify the block type, position, and type-specific data.

Request body

{
  "type": "link",
  "position": 0,
  "data": {
    "title": "My YouTube Channel",
    "url": "https://youtube.com/@janesmith"
  }
}

Response

{
  "id": "blk_002",
  "type": "link",
  "position": 0,
  "data": {
    "title": "My YouTube Channel",
    "url": "https://youtube.com/@janesmith"
  },
  "created_at": "2026-03-13T12:00:00Z"
}
DELETE/v1/bio-pages/:id

Delete a bio page

Permanently delete a bio page and all its blocks. The URL will return a 404 immediately. This cannot be undone.

Response

{
  "deleted": true,
  "id": "bp_abc123"
}

Build bio pages programmatically.

Create and manage bio pages at scale with the MASK API.

Get Started

Ready to get started?

Start building with a free account.
Speak to an expert for your Pro or Enterprise needs.

Explore MASK Enterprise

with an interactive product tour,
trial, or a personalized demo.