TidePay
Offers

Update an offer

PATCH
/offers/{offerId}

Presentation, addressing, distribution limits and lifecycle only. pricing is NOT patchable: an existing option's terms are immutable, because a subscriber's on-chain authorization is sized against the amount in force when they subscribed. Add an option with POST /offers/{offerId}/pricing, retire one with DELETE /offers/{offerId}/pricing/{priceId}, and move an existing subscriber with POST /subscriptions/{subscriptionId}/migrate.

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

curl -X PATCH "https://example.com/offers/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "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"}