TidePay
Offers

Add a pricing option

POST
/offers/{offerId}/pricing

Adds a pricing option to an existing offer — the offer and its checkoutUrl stay the same, only the option list grows. This replaces the removed POST /paylinks/{paylinkId}/variants, which cloned an entire plan and minted a second, unrelated link.

X-API-Key<token>

Your merchant API key, shown once at creation in the dashboard (Settings → API key).

In: header

Path Parameters

offerId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/offers/string/pricing" \  -H "Content-Type: application/json" \  -d '{    "amount": "30",    "acceptedTokens": [      "usdc-base"    ],    "billing": {      "type": "one_time"    }  }'
{  "id": "offer_01j8x2q3r4s5t6u7v8w9x0y1z2",  "name": "Pro",  "description": "string",  "imageUrl": "string",  "identifier": "pro",  "productRef": "SKU-1234",  "checkoutUrl": "https://tidepay.cc/pay/a8f3k2",  "pricing": [    {      "id": "price_01j8x2q3r4s5t6u7v8w9x0y1z3",      "label": "Monthly",      "amount": "30",      "currency": "USDC",      "billing": {        "type": "recurring",        "interval": "month"      },      "acceptedTokens": [        {          "tokenKey": "usdc-polygon",          "chainId": 8453,          "amountBaseUnits": "30000000"        }      ],      "trialDays": 7,      "maxCycles": 12,      "maxFailedCycles": 3,      "active": true    }  ],  "active": true,  "availableQuantity": 100,  "redeemedCount": 12,  "expiresAt": "2026-08-19T14:32:00.000Z",  "afterCompletion": {    "property1": null,    "property2": null  },  "features": [    {      "property1": null,      "property2": null    }  ],  "collectFields": {    "property1": null,    "property2": null  },  "allowedPaymentMethods": {    "property1": null,    "property2": null  },  "metadata": {    "orderId": "12345"  },  "reference": "ORDER-2024-001",  "isSandbox": true,  "createdAt": "2026-08-19T14:32:00.000Z",  "updatedAt": "2026-08-19T14:32:00.000Z"}