---
title: "Update a Pay Link"
method: PATCH
path: "/v1/paylink/{id}/api-key"
tags: ["Paylink"]
---

# Update a Pay Link

`PATCH /v1/paylink/{id}/api-key`

Update the details of a paylink.

## Path parameters

- `id` string, required

## Query parameters

- `apiKey` string, required

## Request body

- UpdatePaylinkWithApiDto
  - `name` string — Name or title of the pay link product or service.
  - `price` string — Price is an int64 represented in base units of the currency, e.g. "1000000" = 1 USDC.
  - `pricingCurrency` string — Currency ID used to price the paylink (fiat or crypto). Retrieve this value from the Get Currencies endpoint.
  - `features` UpdateLinkFeaturesDto
    - `splitRevenue` boolean
    - `splitEqually` boolean
    - `canChangeQuantity` boolean
    - `requireQuantityLimits` boolean
    - `canChangePrice` boolean
    - `isEscrowed` boolean
    - `showDiscountCode` boolean
    - `requireAllowlist` boolean
    - `requireRaffle` boolean
    - `shouldRedirectOnSuccess` boolean
    - `requireEmail` boolean
    - `requireDiscordUsername` boolean
    - `requireDiscordLogin` boolean
    - `requireFullName` boolean
    - `requireTwitterUsername` boolean
    - `requireTelegramUsername` boolean
    - `requireCountry` boolean
    - `requireDeliveryAddress` boolean
    - `requirePhoneNumber` boolean
    - `requireProductDetails` boolean
    - `requireMaxTransactions` boolean
    - `requireNftGate` boolean
    - `requireDiscordAuth` boolean
    - `requireAccessCode` boolean
    - `requireXFollow` boolean
    - `canSwapTokens` boolean
    - `canPayWithCard` boolean
    - `allowAffiliate` boolean
    - `enableCountdown` boolean
    - `customThemeEnabled` boolean
    - `disableEmailReceipt` boolean — Hides the email receipt option at checkout so buyers are not offered an emailed receipt.
  - `recipients` RecipientDto[] — List of recipient wallets and currencies.
    - `currencyId` string, required — Currency ID retrieved from the Get Currencies endpoint.
    - `walletId` string, required — Wallet ID (Helio ID) copied from Dashboard → Settings → Wallets (not your public key).
    - `sourceBlockchainEngine` string — Optional blockchain engine identifier for the source of the transaction. Use `63b6b1200cfb4b3f6131f2b4` for Solana or `63b6b1200cfb4b3f6131f2b2` for EVM and `63da34127a40a721a6e0a21d` for Bitcoin.
  - `splitWallets` SplitWalletDto[] — List of wallets to distribute the payment among.
    - `address` string, required — Enter the wallet address that should receive a portion of the funds from this payment.
    - `percent` number — Specify the percentage of the total payment to allocate to this wallet.
  - `discountCodes` DiscountCodeDto[] — Array of discount codes applicable to the pay link.
    - `percent` number, required — Enter the discount percentage to apply when this code is used (e.g., 15 for 15%).
    - `token` string, required
    - `prId` string
    - `id` string
    - `tokenType` 'CODE' | 'NFT_COLLECTION', required — Specify whether this discount is based on a standard code or an NFT collection.
  - `limitSaleType` 'transaction' | 'discordId' — Restricts sales to a transaction count or specific Discord ID.
  - `minQuantity` number — Minimum quantity a user must purchase.
  - `maxQuantity` number — Maximum quantity a user can purchase.
  - `affiliateDetails` AffiliateDetailsDto
    - `bps` number, required — Specify the affiliate commission as basis points (1% = 100 bps).
  - `raffleDetails` RaffleDetailsDto
  - `redirectUrl` string — URL to redirect users after completing the payment.
  - `redirectTimeout` 0 | 3 — Delay (in seconds) before redirecting the user to `redirectUrl` after a successful payment. Use 0 for an instant redirect, or 3 to show the confirmation screen for 3 seconds before redirecting.
  - `creationSource` 'PRIVATE_API' | 'PUBLIC_API' — Indicates whether the pay link was created via private or public API.
  - `subscriptionDetails` SubscriptionDetailsDto
    - `renewalReminders` number, required — Specify how many reminder emails should be sent before the subscription renews.
    - `gracePeriod` number, required — Enter the number of days allowed as a grace period after a failed renewal attempt.
    - `annualDiscountBps` number, required — Define the annual subscription discount in basis points (1% = 100 bps).
    - `interval` 'MONTH' | 'QUARTER' | 'BIANNUALLY' | 'YEAR', required — Choose how often the subscription renews.
    - `isAnonymous` boolean — Set to true if the subscription should be anonymous. Optional.
  - `description` string — Description of the product or service offered.
  - `notifySenderByEmail` boolean — If true, notifies the sender via email after a successful payment.
  - `notifyReceiverByEmail` boolean — If true, notifies the receiver via email after a successful payment.
  - `addDiscordRole` boolean — Automatically assigns a Discord role upon successful payment.
  - `discordRoleIds` string[] — List of Discord role IDs to be assigned.
  - `disabled` boolean — If true, disables the pay link without deleting it.
  - `dynamic` boolean — Enables dynamic pricing features for the pay link.
  - `content` ContentDto
    - `text` string
    - `mediaUrl` string
    - `mediaAttachmentId` string
  - `maxTransactions` number — Maximum number of transactions allowed for this pay link.
  - `product` ProductDto
    - `name` string, required
    - `description` string, required
    - `type` 'TEXT' | 'SELECTOR', required
    - `active` boolean
  - `nftCollectionAddress` string — Blockchain address of the NFT collection used in this pay link.
  - `discordAuthDetails` DiscordAuthDetailsDto[] — Details for Discord authentication and role assignment.
    - `serverId` string, required
    - `roleId` string, required
  - `accessCodeAuthProperties` AccessCodeAuthPropertiesDto
    - `accessCode` string, required
  - `eventDetails` EventDetailsDto
    - `datetime` string, date-time, required
    - `location` string
    - `timezoneLocation` string
  - `countdownDetails` CountdownDetailsDto
    - `startDatetime` string, date-time, required
    - `endDatetime` string, date-time
    - `timezoneLocation` string
  - `customTheme` CustomThemeDto
    - `primaryColor` string, required — Hex code for the primary color (e.g. #FF0000).
    - `neutralColor` string, required — Hex code for neutral colour(e.g. #00FF00).
    - `textColorOnButton` 'WHITE' | 'BLACK', required — Text color used on buttons.
    - `themeMode` 'LIGHT' | 'DARK', required — Visual theme of the UI.
    - `backgroundColor` string — Hex code for the background color (e.g. #0000FF).

## Response `200`

Paylink successfully updated.

## Other responses

- `401` — Provided API key is invalid or unauthorized.

---

[API](https://skmtc.net/hel/apis/helio-open-api.md) · [All operations](https://skmtc.net/hel/apis/helio-open-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hel/helio-open-api/revisions/5732beb2d39f/schema)
