← Back to API Reference overview

Page Theme Templates

Endpoints for managing Page Theme Templates in Linkbreakers. These endpoints allow you to create, retrieve, update, publish, import, and delete reusable page styling.

Shortcut: ⌘K

#The ThemeColor object

Reusable color payload used across design-oriented APIs (page themes, QR code designs, etc.). It supports solid colors and gradients with optional direction and per-stop offsets.

colors

array<string>Required

Color values in render order (hex, rgb/rgba, hsl/hsla).

direction

string

Optional direction for linear gradients (e.g. "135deg", "to right").

stops

array<string>

Optional stop offsets aligned with `colors` (e.g. "0%", "50%", "100%").

type

string (enum)Required

Color type

Allowed values
THEME_COLOR_TYPE_UNSPECIFIED
THEME_COLOR_TYPE_SOLID
THEME_COLOR_TYPE_LINEAR
THEME_COLOR_TYPE_RADIAL
GET/v1/page-theme-templatesRequires auth

#List my page theme templates

Retrieve page theme templates that belong to the authenticated caller's workspace.

#Parameters

query parameters

include

array<string>query

search

stringquery

pageSize

integer (int64)query

pageToken

stringquery

scope

stringquery

Which templates to return. WORKSPACE (default) returns only templates owned by the caller's workspace. AVAILABLE also returns built-in templates and templates other workspaces have published, ordered by the workspace's own usage first, then its own templates, then the rest. templates published by other workspaces.

Allowed values
PAGE_THEME_TEMPLATE_SCOPE_UNSPECIFIED

Defaults to PAGE_THEME_TEMPLATE_SCOPE_WORKSPACE.

PAGE_THEME_TEMPLATE_SCOPE_WORKSPACE

Only templates owned by the caller's workspace.

PAGE_THEME_TEMPLATE_SCOPE_AVAILABLE

Every template the workspace may use: its own, built-in ones, and

#Response

200

Everything worked as expected.

hasMore

boolean

Whether another page exists after this result set

nextPageToken

string

Cursor token returned when another page is available

pageThemeTemplates

array<object>

#Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

objectRequired

Wrapped error response.

GET/v1/page-theme-templates/{id}Requires auth

#Get a workspace page theme template

Retrieve a page theme template that belongs to the authenticated caller's workspace.

#Parameters

path parameters

id

stringRequiredpath

query parameters

include

array<string>query

#Response

200

Everything worked as expected.

badgeSignedUrl

string

Signed URL for the template's badge image. Empty when the template has no badge.

builtIn

boolean

Whether the template is maintained by Linkbreakers (available to every workspace)

coverSignedUrl

string

Signed URL for the template's cover image. Empty when the template has no cover.

createdAt

string (date-time)

When the template was created

description

string

Short marketing description displayed in the template picker

duplicatedFrom

string

Reference to the original public template when this template was created via import. Null for original templates.

faq

string

Frequently Asked Questions about this template stored as JSON

id

string

Unique identifier of the template (UUID)

learnMore

string

Extended markdown-supported content providing detailed information about the template

name

string

Human-readable name shown in the gallery

owned

boolean

True when the template belongs to the caller's workspace. False for built-in templates and for community templates published by other workspaces.

pageTheme

object

Page theme configuration

pageThemeId

string

Backing page theme that carries the styling (UUID)

publishedAt

string (date-time)

When the template was published. Null means private template, only visible to creating workspace.

slug

string

Slug used in public template selection URLs

tags

string

Tags for categorizing and filtering templates (comma-separated)

thumbnailPendingUpdateSince

string (date-time)

When the template thumbnail entered the regeneration queue

thumbnailSignedUrl

string

Signed thumbnail preview of the template styling

updatedAt

string (date-time)

When the template metadata was last updated

usageCount

string (int64)

Number of links in the caller's workspace whose theme was applied from this template. Drives the 'most used' ordering in the template picker.

workspaceId

string

Workspace that owns the template; empty for built-in templates (UUID when present)

#Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

objectRequired

Wrapped error response.

GET/v1/public/page-theme-templatesRequires auth

#List page theme templates

Retrieve available public page theme templates, optionally filtered by search terms.

#Parameters

query parameters

include

array<string>query

Related objects to include in the response List of related objects to include. Supported values: 'workspace'

search

stringquery

Search query applied to template name/description

pageSize

integer (int64)query

Maximum number of templates to return (defaults to 20)

pageToken

stringquery

Cursor token to retrieve the next page of results

workspaceId

stringquery

Optional workspace ID to filter templates by workspace Filter public templates by workspace. Only published templates for that workspace will be returned.

#Response

200

Everything worked as expected.

hasMore

boolean

Whether another page exists after this result set

nextPageToken

string

Cursor token for the next page, if any

pageThemeTemplates

array<object>

#Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

objectRequired

Wrapped error response.

GET/v1/public/page-theme-templates/{slug}Requires auth

#Get a public page theme template

Retrieve a single published page theme template that is visible in the public gallery.

#Parameters

path parameters

slug

stringRequiredpath

query parameters

include

array<string>query

Related objects to include in the response List of related objects to include. Supported values: 'workspace'

#Response

200

Everything worked as expected.

badgeSignedUrl

string

Signed URL for the template's badge image. Empty when it has no badge.

builtIn

boolean

Whether the template is maintained by Linkbreakers (available to every workspace)

coverSignedUrl

string

Signed URL for the template's cover image. Empty when it has no cover.

description

string

Short marketing description displayed in the template picker

faq

string

Frequently Asked Questions about this template stored as JSON

learnMore

string

Extended markdown-supported content providing detailed information about the template

name

string

Human-readable name shown in the gallery

pageTheme

object

Page theme configuration

publishedAt

string (date-time)

When the template was published and made available to all workspaces

slug

string

Slug used in public template selection URLs

tags

string

Tags for categorizing and filtering templates (comma-separated)

thumbnailSignedUrl

string

Signed thumbnail preview of the template styling

workspace

object

PublicWorkspace represents a publicly visible workspace with limited data

#Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

objectRequired

Wrapped error response.

POST/v1/page-theme-templatesRequires auth

#Create a new page theme template

Create a page theme template by copying the styling of an existing page theme into a fresh detached theme owned by the template.

#Parameters

This endpoint does not accept any parameters.

#Request body

description

string

The description of the page theme template

faq

string

FAQ data stored as JSON

learnMore

string

Extended markdown-supported content for "learn more" section

name

string

The name of the page theme template

sourcePageThemeId

string

Page theme to copy the styling from, usually a link's own theme. Omit to start from the default styling.

styling

object

PageThemeStyling is the set of visual values a page theme carries. It exists so styling can travel on its own, detached from any stored theme: the editor sends what is currently on screen, which is what the user means by "this look", whether or not it has been saved yet.

tags

string

Tags for categorizing and filtering templates (comma-separated)

#Response

200

Everything worked as expected.

pageThemeTemplate

object

Reusable page styling presets that help teams give every link page a consistent look.

#Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

objectRequired

Wrapped error response.

POST/v1/page-theme-templates/{id}/publishRequires auth

#Publish a workspace page theme template

Publish a page theme template to make it available in the public gallery. Requires workspace to be public and template to have slug, description, and name.

#Parameters

path parameters

id

stringRequiredpath

The ID of the page theme template to publish (UUID)

#Request body

No structured schema available for this section.

#Response

200

Everything worked as expected.

pageThemeTemplate

object

Reusable page styling presets that help teams give every link page a consistent look.

#Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

objectRequired

Wrapped error response.

POST/v1/page-theme-templates/importRequires auth

#Import a public page theme template

Import a public page theme template into your workspace by slug. Creates a private copy owned by your workspace.

#Parameters

This endpoint does not accept any parameters.

#Request body

slug

string

The slug of the public page theme template to import into your workspace

#Response

200

Everything worked as expected.

pageThemeTemplate

object

Reusable page styling presets that help teams give every link page a consistent look.

#Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

objectRequired

Wrapped error response.

PATCH/v1/page-theme-templates/{id}Requires auth

#Update a workspace page theme template

Modify the metadata of a page theme template owned by the authenticated workspace.

#Parameters

path parameters

id

stringRequiredpath

The ID of the page theme template to update (UUID)

#Request body

description

string

The new description of the page theme template

faq

string

FAQ data to update (JSON string)

learnMore

string

Extended markdown-supported content for "learn more" section

name

string

The new name of the page theme template

slug

string

The new slug for the page theme template (must be unique globally)

tags

string

The new tags for the page theme template (comma-separated)

#Response

200

Everything worked as expected.

pageThemeTemplate

object

Reusable page styling presets that help teams give every link page a consistent look.

#Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

objectRequired

Wrapped error response.

PATCH/v1/page-theme-templates/{id}/stylingRequires auth

#Update a page theme template's styling

Edit the colours, typography, container and media of a page theme template. Queues a thumbnail regeneration.

#Parameters

path parameters

id

stringRequiredpath

The ID of the page theme template whose styling to update (UUID)

#Request body

badge

object

badgeEnabled

boolean

--- Badge Section ---

badgeIconColor

object

Reusable color payload used across design-oriented APIs (page themes, QR code designs, etc.). It supports solid colors and gradients with optional direction and per-stop offsets.

badgeShape

string (enum)
Allowed values
PAGE_THEME_BADGE_SHAPE_UNSPECIFIED
PAGE_THEME_BADGE_SHAPE_CIRCLE
PAGE_THEME_BADGE_SHAPE_SQUARE
PAGE_THEME_BADGE_SHAPE_ROUNDED

bodyFont

object

Font configuration with family, styling, and color

canvasColor

object

Reusable color payload used across design-oriented APIs (page themes, QR code designs, etc.). It supports solid colors and gradients with optional direction and per-stop offsets.

canvasCover

object

canvasCoverMode

string (enum)
Allowed values
PAGE_THEME_BACKGROUND_COVER_MODE_UNSPECIFIED
PAGE_THEME_BACKGROUND_COVER_MODE_FULL
PAGE_THEME_BACKGROUND_COVER_MODE_PROGRESSIVE_TOP
PAGE_THEME_BACKGROUND_COVER_MODE_PROGRESSIVE_BOTTOM

containerConfig

object

Container styling configuration

containerEnabled

boolean

elementColor

object

Reusable color payload used across design-oriented APIs (page themes, QR code designs, etc.). It supports solid colors and gradients with optional direction and per-stop offsets.

elementFont

object

Font configuration with family, styling, and color

titleFont

object

Font configuration with family, styling, and color

#Response

200

Everything worked as expected.

pageThemeTemplate

object

Reusable page styling presets that help teams give every link page a consistent look.

#Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

objectRequired

Wrapped error response.

DELETE/v1/page-theme-templates/{id}Requires auth

#Delete a workspace page theme template

Remove a page theme template belonging to the authenticated caller's workspace. Pages already styled from it are unaffected.

#Parameters

path parameters

id

stringRequiredpath

#Response

200

Everything worked as expected.

No structured schema available for this section.

#Error response

400-599

All endpoints may return an unexpected error payload when a request cannot be processed.

error

objectRequired

Wrapped error response.