SUQODocs
User GuideAPI ReferenceSDKs

API changelog

What changed in each version of the SUQO API.

The API is versioned independently of the dashboard and of the SDKs. When a new version is cut the previous one stays published at its own URL, and a selector at the top of the sidebar switches between them.

1.0.0

The published version of the External API, at /api/v1/. Changes are listed newest first; nothing below removed an endpoint.

Checkout sessions

Added

  • POST /checkout-sessions/ — open a session for one to ten items and send the buyer to checkout_url. This is now the recommended way to collect payment. Each item is either an existing pbp_id or a partner-priced inline item, and prices are snapshotted when the session opens. See Create a checkout session.
  • POST /customers/ and PATCH /customers/{public_id}/ — the customers resource is no longer read-only. Re-sending a phone you already hold corrects that customer and answers 200 instead of 201, so the call is safe to retry. See Customers.
  • Rate limiting, on POST /checkout-sessions/ only: 20 sessions a minute per account, answered with 429 and a detail naming the wait. Every other endpoint is unlimited. See Errors → Rate limits.

Changed

  • Breaking. checkout.succeeded and checkout.failed are now one delivery per checkout session, keyed by session_id and carrying an items array, instead of one per subscription keyed by subscription_id. Payments taken through the legacy POST /subscriptions/ endpoint report through the same payload. See Webhook events.
  • Breaking. A customer's id is a string public id (cus_…), never an integer. Code that parses it as a number must change.
  • Breaking. The customer and webhook path parameters are named {public_id}, not {id}.
  • POST /subscriptions/ is now legacy. It is still supported and existing integrations keep working; new ones should open a checkout session instead. See Create a subscription.
  • The 403 for an account that has not cleared KYC is now specified, with its own shape — status_code and message, and no detail. KYC is not enforced on the sandbox, and GET /products/ and the /webhooks/ routes do not require it at all.

Initial release

First published version of the External API.

On this page