Renew a subscription
Open a checkout session for the next payment on one of your own subscriptions, using its existing customer and billing period (or inline item) rather than resubmitting them. Send the returned `checkout_url` to the buyer to collect payment. A cancelled or archived subscription, or a paid one-time purchase, cannot be renewed.
Authorization
ApiKey API key issued to the partner, sent with the Bearer prefix — for example: Authorization: Bearer su_key_9f2c4d1ab3….
Keys minted on the live instance are prefixed su_key_ and keys minted on sandbox su_test_key_. The two instances keep separate key tables and separate hosts, so a sandbox key sent to the live host — or the reverse — answers Invalid API key. rather than falling back to the other environment.
In: header
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
curl -X POST "https://example.com/subscription/renew/" \ -H "Content-Type: application/json" \ -d '{ "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627" }'{ "public_id": "cks_3n9k2xQ7m", "expires_at": "2026-07-03T10:45:00Z", "checkout_url": "https://app.suqo.ai/checkout/cks_3n9k2xQ7m"}List products GET
Paginated active products of your account, newest first, 20 per page by default and 100 at most (`page`, `page_size`), each with its plans and visible billing periods. Use a billing period's `pbp_id` to create a subscription, and its `interval_type` to tell a recurring plan from a one-time purchase before you offer cancel or resume on it.
List subscriptions GET
Paginated subscriptions for your account, newest first, 20 per page by default and 100 at most (`page`, `page_size`). The status counters cover recurring subscriptions only — one-time purchases appear in `results` but are excluded from the totals, which is why `total_subscriptions` can be lower than `count`.