> ## 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.

# Bachs SDKs

> Official libraries and tools for building with Bachs: the Node.js and TypeScript server SDK, the browser checkout overlay, the CLI, and community SDKs for other languages.

Bachs SDKs handle the parts of an integration every app needs: authenticating requests, typed responses, safe retries and webhook signature checks. You write the parts that are yours, such as orders, access and fulfilment.

Every SDK calls the same [Bachs API](/api-reference/overview). Anything you can do with an SDK, you can also do with a plain HTTP request.

## Server-side SDKs

Use a server-side SDK from your backend, where your secret API key lives. Never use one in a browser or a mobile app.

| Language | Package | Version | Install |
| - | - | - | - |
| [Node.js and TypeScript](/sdks/node) | [`@bachs/sdk`](https://www.npmjs.com/package/@bachs/sdk) | 1.0.0 | `npm install @bachs/sdk` |

The [Node.js SDK guide](/sdks/node) covers installing it, creating a client, sending requests, handling errors and verifying webhooks.

For another server language, call the [API](/api-reference/overview) directly, or try a [community SDK](#community-sdks).

## Browser SDK

The overlay checkout opens a Bachs checkout in a modal on your own page. Load it with a script tag or install it from npm. It never sees card details, and it needs no API key: your server creates the checkout session and the browser only opens it.

| Package | Install | Guide |
| - | - | - |
| [`@bachs/js`](https://www.npmjs.com/package/@bachs/js) | `npm install @bachs/js`, or load `https://checkout.bachs.io/bachs.js` | [Add an overlay checkout](/guides/checkout/overlay-checkout) |

## Developer tools

* [Bachs CLI](/cli/overview): forward webhooks to localhost, trigger sample events, and call any API operation from your terminal.
* [Bachs skill](/build/ai/skills): give your coding assistant the Bachs integration rules, including when to use the SDK.
* [Starter templates](/build/starters/overview): Next.js apps with checkout, subscriptions and webhooks already wired up with the SDK.
* [API reference](/api-reference/overview): every endpoint, parameter and response, including the operations the SDK does not cover yet.

## Community SDKs

Developers have built SDKs for Python, Go, Rust and PHP. Bachs does not maintain or review them, so check what a library covers before you depend on it. Browse them in [Community projects](/community/projects).

The official Node.js package is `@bachs/sdk`. A community package called `bachs-sdk` is unrelated to it.

## Versioning

Official SDKs use [semantic versioning](https://semver.org). The SDK version and the API version are separate: SDK 1.x calls API `/v1`. See [SDK versioning and support](/sdks/versioning).


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