TidePay
Subscriptions

Migrate to a different pricing option

POST
/subscriptions/{subscriptionId}/migrate

Moves a subscriber to another pricing option on the same offer. Deliberately two-step: the new terms cannot take effect until the customer re-authorizes on-chain, since an EVM allowance is sized against the amount granted and Solana stores it immutably. This records the intent and returns an authorizationUrl; the subscription keeps billing its CURRENT terms until the customer completes it. An abandoned migration changes nothing — there is no path where a subscriber is charged more than they agreed to.

X-API-Key<token>

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

In: header

Path Parameters

subscriptionId*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 POST "https://example.com/subscriptions/string/migrate" \  -H "Content-Type: application/json" \  -d '{    "priceId": "price_01j8x2q3r4s5t6u7v8w9x0y1z7"  }'
{  "id": "string",  "status": "pending_authorization",  "priceId": "string",  "pendingOfferPriceId": "string",  "pendingPriceId": "string",  "authorizationUrl": "https://tidepay.cc/subscribe/sub_01j8x2q3r4s5t6u7v8w9x0y1z6"}