---
title: "Create payment link"
method: POST
path: "/payment_links/links/"
tags: ["Payments"]
---

# Create payment link

`POST /payment_links/links/`

## Headers

- `x-simple-workspace` string, required
- `x-piriod-test-mode` boolean

## Request body

- PaymentLink — Sharable payment link rendered by Piriod (`/publishable/payment_links/links/{publishable_key}/hosted/`).
  - `id` integer
  - `name` string, required
  - `publishable_key` string — Use this key on the publishable endpoints to fetch and pay the link.
  - `cta` 'book' | 'donate' | 'pay'
  - `amount` number, nullable
  - `amount_min` number, nullable
  - `amount_max` number, nullable
  - `amount_preset` number, nullable
  - `amount_scheme` 'custom' | 'fixed'
  - `currency` string, required — ISO currency code.
  - `customer_type` 'individual' | 'business' | 'both'
  - `description` string, nullable
  - `end_description` string, nullable — Markdown shown after a successful payment.
  - `hosted_page_title` string, nullable
  - `hosted_page_description` string, nullable
  - `hosted_page_layout` 'vertical' | 'horizontal'
  - `image` string, uri, nullable
  - `return_url` string, uri, nullable
  - `create_invoice` boolean — When true, completed payments generate an invoice with `document`.
  - `document` integer, nullable
  - `status` 'active' | 'archived'
  - `test_mode` boolean
  - `created` string, date-time
  - `updated` string, date-time

## Response `201`

Created.

- PaymentLink — Sharable payment link rendered by Piriod (`/publishable/payment_links/links/{publishable_key}/hosted/`).
  - `id` integer
  - `name` string, required
  - `publishable_key` string — Use this key on the publishable endpoints to fetch and pay the link.
  - `cta` 'book' | 'donate' | 'pay'
  - `amount` number, nullable
  - `amount_min` number, nullable
  - `amount_max` number, nullable
  - `amount_preset` number, nullable
  - `amount_scheme` 'custom' | 'fixed'
  - `currency` string, required — ISO currency code.
  - `customer_type` 'individual' | 'business' | 'both'
  - `description` string, nullable
  - `end_description` string, nullable — Markdown shown after a successful payment.
  - `hosted_page_title` string, nullable
  - `hosted_page_description` string, nullable
  - `hosted_page_layout` 'vertical' | 'horizontal'
  - `image` string, uri, nullable
  - `return_url` string, uri, nullable
  - `create_invoice` boolean — When true, completed payments generate an invoice with `document`.
  - `document` integer, nullable
  - `status` 'active' | 'archived'
  - `test_mode` boolean
  - `created` string, date-time
  - `updated` string, date-time

## Other responses

- `400` — Request body or query parameters failed validation.

---

[API](https://skmtc.net/piriod/apis/piriod-api.md) · [All operations](https://skmtc.net/piriod/apis/piriod-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/piriod/piriod-api/versions/70cbc827dc7b/schema)
