Skip to main content
PATCH
/
v1
/
payment-links
/
{id}
Update payment link
curl --request PATCH \
  --url https://api.meum.io/v1/payment-links/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "<string>",
  "description": "<string>",
  "image_url": "<string>",
  "amount": "<string>",
  "min_amount": "<string>",
  "max_amount": "<string>",
  "suggested_amounts": [
    123
  ],
  "allow_multiple_payments": true,
  "public_visible": true,
  "expires_at": "2023-11-07T05:31:56Z",
  "success_url": "<string>",
  "metadata": {}
}
'
{
  "id": "<string>",
  "public_id": "<string>",
  "public_url": "https://pay.meum.io/plpub_c9a9bb730611077574c828af5af5fed1",
  "title": "Summer fundraiser",
  "description": "<string>",
  "image_url": "<string>",
  "amount": "25.00",
  "currency": "USD",
  "min_amount": "<string>",
  "max_amount": "<string>",
  "suggested_amounts": [
    10,
    25,
    50
  ],
  "allow_multiple_payments": true,
  "public_visible": true,
  "expires_at": "2023-11-07T05:31:56Z",
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "stats": {
    "total_payments": "12",
    "paid_payments": "10",
    "total_volume": "250.00"
  }
}

Authorizations

Authorization
string
header
required

Store-scoped API key. Prefix with sk_live_. Example: Authorization: Bearer sk_live_EXAMPLE_DO_NOT_USE

Path Parameters

id
string
required

Pay Link ID from create or list responses (starts with plink_).

Pattern: ^(inv_|txn_|plink_|wh_|whd_|evt_|int_)[0-9a-z]{20,32}$

Body

application/json

Send only the fields you want to change; others stay unchanged.

title
string

New checkout title. Omit to keep the current title.

Required string length: 1 - 200
description
string | null

New description, or null to remove it. Omit to keep unchanged.

Maximum string length: 2000
image_url
string | null

New image URL, or null to remove. Omit to keep unchanged.

Maximum string length: 2048
amount_mode
enum<string>

How pricing works on this Pay Link:

  • fixed_amount: you set the price; the customer pays exactly that amount
  • customer_defined_amount: the customer chooses how much to pay (within min/max you set)
Available options:
fixed_amount,
customer_defined_amount
amount
string | null

New fixed price (e.g. "25.00") when using fixed_amount. Omit to keep unchanged.

min_amount
string | null

New minimum for variable-amount links. Omit to keep unchanged.

max_amount
string | null

New maximum for variable-amount links. Omit to keep unchanged.

suggested_amounts
(number | null)[]

Replace quick-pick amounts entirely. Omit to keep the current list.

allow_multiple_payments
boolean

Turn multiple payments on or off. Omit to keep unchanged.

public_visible
boolean

Show or hide the public checkout URL. Omit to keep unchanged.

expires_at
string<date-time> | null

New expiration (UTC), or null to remove expiry. Omit to keep unchanged.

success_url
string<uri>

New redirect URL after successful payment. Requires redirect URLs to be enabled on your account. Omit to keep the current URL.

metadata
object

Replace all custom metadata. Omit to keep unchanged.

Response

Payment link updated

Merchant-facing Pay Link resource with configuration and stats.

id
string

Merchant resource ID (plink_...). Use in API paths and webhooks.

Pattern: ^(inv_|txn_|plink_|wh_|whd_|evt_|int_)[0-9a-z]{20,32}$
public_id
string

Buyer-facing token (plpub_...) embedded in public checkout URLs.

Pattern: ^plpub_[0-9a-z]{20,32}$
public_url
string<uri>

Shareable checkout page URL for this link.

Example:

"https://pay.meum.io/plpub_c9a9bb730611077574c828af5af5fed1"

title
string

Link title shown on checkout and in the merchant dashboard.

Example:

"Summer fundraiser"

description
string | null

Optional description for payers.

image_url
string<uri> | null

Optional image URL displayed on the checkout page.

amount_mode
enum<string>

How pricing works on this Pay Link:

  • fixed_amount: you set the price; the customer pays exactly that amount
  • customer_defined_amount: the customer chooses how much to pay (within min/max you set)
Available options:
fixed_amount,
customer_defined_amount
amount
string | null

Fixed price when amount_mode is fixed_amount.

Example:

"25.00"

currency
string

Currency for all amounts on this link.

Example:

"USD"

min_amount
string | null

Minimum payer-entered amount for variable-amount links.

max_amount
string | null

Maximum payer-entered amount for variable-amount links.

suggested_amounts
number[]

Suggested preset amounts shown as quick-select buttons on checkout.

Example:
[10, 25, 50]
allow_multiple_payments
boolean

When true, the link can generate multiple paid invoices over its lifetime.

public_visible
boolean

When true, the link is reachable via its public URL without extra auth.

status
enum<string>

Whether the Pay Link can accept payments right now:

  • active: open for payments
  • inactive: turned off by you; no new payments
  • expired: past its expiration date
  • completed: single-use link already paid, or usage limit reached
Available options:
active,
inactive,
expired,
completed
effective_status
enum<string>

Computed status accounting for expiry and usage limits.

Available options:
active,
inactive,
expired,
completed
expires_at
string<date-time> | null

After this time (UTC) the link no longer accepts payments. null if it never expires.

created_at
string<date-time>

When the link was created.

updated_at
string<date-time>

When the link was last modified.

stats
object

Aggregated payment metrics for a Pay Link.