---
title: "Create a link page"
method: POST
path: "/link-pages"
tags: ["Link Pages"]
---

# Create a link page

`POST /link-pages`

## Request

- Base URL: `https://getdynamicqr.com/api/v1`
- URL: `https://getdynamicqr.com/api/v1/link-pages`
- Auth: API key in header `X-Client-ID` and HTTP bearer

The slug is fixed at creation and is what the public URL is built from, so it cannot be
changed afterwards — the address is printed on things.

**Requires the `link_pages` plan feature.** Without it this endpoint answers 403 even with valid credentials.

## Request body

- object
  - `title` string, required: Page title. Max 100 chars.
  - `slug` string, required: URL slug (a-z, 0-9, - _). Must be unique.
  - `bio` string: Short bio/description. Max 300 chars.
  - `theme` string: One of: default, dark, gradient, minimal, neon.
  - `bg_color` string: Background hex color.
  - `text_color` string: Text hex color.
  - `button_color` string: Button hex color.

## Response `201`

Created

## Other responses

- `401`: No credentials, or credentials that are not valid.
- `403`: The account is inactive, or the plan does not carry this feature.
- `429`: Rate limit exceeded. See `Retry-After`.

---

[API](https://skmtc.dev/getdynamicqr/apis/d-qr-rest-api.md) · [All operations](https://skmtc.dev/getdynamicqr/apis/d-qr-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getdynamicqr/apis/d-qr-rest-api/revisions/4467aeca30ce?raw)
