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

# SDK Overview

> The REST API is the supported integration surface; the TypeScript client is early access

<Warning>
  **The REST API is the primary, supported way to integrate MeshQu.** The TypeScript client (`@meshqu/client`) is an early-access convenience wrapper. It is **not published to npm**, its surface is **not stable**, and it may change without notice. Build against the [REST API](../api/reference) for any production integration; contact [contact@meshqu.com](mailto:contact@meshqu.com) for early access to the client.
</Warning>

The **REST API** is the integration surface MeshQu supports. Every capability — evaluate, record, policies, alerts, webhooks — is reachable over plain HTTP with two headers, from any language. See the [API Reference](../api/reference).

For internal Node.js and TypeScript usage we also maintain a thin convenience client, `@meshqu/client`, that wraps the same REST endpoints. It is offered as **early access** only.

| Package          | Language                | Status                                        |
| ---------------- | ----------------------- | --------------------------------------------- |
| `@meshqu/client` | TypeScript / JavaScript | Early access — not on npm, surface may change |

The client is a convenience wrapper around the REST API. It handles:

* Authentication header injection.
* Tenant header injection.
* Typed request and response objects.
* Error mapping to exception classes.
* Timeout and retry options.

<Warning>
  These conveniences (typed objects, exception classes, timeout/retry options) are **not a stability contract**. The client surface is early access and may change in any release. The REST contract is the surface to depend on.
</Warning>

## When to use the client vs. the REST API

The **REST API** is the right choice for any production integration, and the only choice from a language other than TypeScript or from infrastructure tooling (CI pipelines, shell scripts, etc.).

The TypeScript **client** can remove boilerplate inside a Node.js or TypeScript codebase during early access — but treat its surface as provisional and pin a known-good version, since it is not published to npm and may change without notice.

## Other languages

There is no official SDK for other languages. Use the REST API directly — for example with `httpx` or `requests` in Python. See the [API Reference](../api/reference) for endpoint details.

If you need a purpose-built SDK for a specific language, contact [contact@meshqu.com](mailto:contact@meshqu.com).
