> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bachs.io/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Money is always a decimal string at the currency's precision (for example "29.00"), paired with an ISO 4217 currency field. Never use minor units.
> Build against the sandbox first: base URL https://sandbox-api.bachs.io with sk_sandbox_ keys. Production is https://api.bachs.io with sk_live_ keys; going live is a key swap.
> Treat webhooks (for example collection.succeeded) as the source of truth for fulfilment, never client-side events or redirects.
> Subscriptions are created by completing a checkout for a recurring product. There is no direct create-subscription endpoint.
> IDs carry resource prefixes (cust_, prod_, sub_, chk_, inv_, ref_) and timestamps are ISO 8601 UTC.

# SDK versioning and support

> How official Bachs SDKs are versioned, how SDK versions relate to the API version, and which runtimes are supported.

## Semantic versioning

Official Bachs SDKs follow [semantic versioning](https://semver.org). For a version `MAJOR.MINOR.PATCH`:

* **Major** releases can break your code, for example by renaming a method or changing a type. Read the changelog before you upgrade.
* **Minor** releases add features, such as a new resource or method, without breaking existing code.
* **Patch** releases fix bugs.

A version with a hyphen, such as `1.1.0-rc.1`, is a pre-release. Pre-releases are published under the npm `next` tag, so `npm install @bachs/sdk` never installs one. Install one by name only when you want to try it.

## SDK and API versions

The SDK version and the API version are separate. The API is versioned in its path, `/v1`. SDK 1.x calls API `/v1`.

When the API adds a field, you can read it from the response before an SDK release types it: responses keep fields the SDK does not know about yet. When the API adds an endpoint, the SDK adds it in a minor release. Until then, call the endpoint [directly](/api-reference/overview).

## Supported runtimes

| SDK | Runtime | Tested on |
| - | - | - |
| `@bachs/sdk` 1.x | Node.js 22 or later | Node.js 22 and 24 |

The SDK uses the `fetch` and `crypto` built into Node.js. It is for servers only and does not support browsers.

## Upgrade

Check the version you have:

```bash theme={"dark"}
npm ls @bachs/sdk
```

Update within your current major version:

```bash theme={"dark"}
npm install @bachs/sdk@^1
```

Every release is listed in the [changelog](https://github.com/bachsdev/bachs-node/blob/main/CHANGELOG.md). Major releases are also announced in the [product changelog](/changelog/product).

<Warning>
  `@bachs/sdk` version `0.0.1` is an empty placeholder. If your lockfile has it, upgrade to 1.0.0 or later.
</Warning>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.