SUQODocs
User GuideAPI ReferenceSDKs

Changelog & versioning

Release history and versioning policy for the SUQO TypeScript SDK.

Versioning policy

The SDK follows strict SemVer: MAJOR.MINOR.PATCH.

  • MAJOR — bumped on either trigger: the API's path version changes (/api/v1//api/v2/), or the SDK introduces its own breaking change with no API change at all (a renamed export, a changed return shape).
  • MINOR — additive, backward-compatible: a new resource, a new optional parameter, a new non-breaking field.
  • PATCH — fixes only, no contract change of any kind.

Anything removed is deprecated one minor ahead with a documented warning, removed only at the next major — no feature is ever removed in a minor or patch release.

Compatibility table

SDK VersionSupported API VersionChange TypeStatus
1.0.0v1Initial releaseShipped

1.0.0 - 2026-09-11

Added

  • SuqoClient — environment (sandbox/live) inferred automatically from the API key prefix, with SuqoConfigError thrown before any request on a malformed key or a conflicting baseUrl override.
  • products.list() / .autoPaging() — browse the seller's product catalog. Works before KYC.
  • subscriptions.list() / .create() / .cancel() / .updateBillingCycle() / .resume() / .autoPaging() — full subscription lifecycle, including create-time reuse of an inactive/expired subscription for the same buyer + product + billing period.
  • customers.list() / .retrieve() — read-only access to the seller's customer records.
  • webhooks.verify() — HMAC-SHA256 signature verification for inbound webhook deliveries, with replay protection via a configurable timestamp tolerance. Makes no network call.
  • Automatic retries with exponential backoff and jitter for read operations, on NetworkError, 429, and 5xx — honoring a Retry-After header when present. Writes are never auto-retried (no idempotency-key support yet on the backend — see Idempotency).
  • Full SuqoError hierarchy (SuqoConfigError, AuthenticationError, KycRequiredError, ValidationError, NotFoundError, RateLimitError, ServerError, NetworkError) — every documented failure mode normalized to a class, never a wire-shape check.
  • Dual ESM + CommonJS build with bundled .d.ts, zero runtime dependencies.

Fixed

  • Corrected the sandbox base URL (test.be.suqo.ai, which did not resolve) to the real sandbox host, test-be.suqo.ai.

On this page