# @timbenniks/contentstack-platform-sdk

> [!WARNING]
> This is an experimental project maintained by Tim Benniks. It is not an official Contentstack project, and there is no official Contentstack support for it beyond reaching out to Tim.

Unified TypeScript SDK for building external apps on Contentstack.

This package includes:

- Core API clients (`/cma`, `/launch`, `/brandkit`, `/knowledge-vault`, `/generative-ai`)
- Server utilities (`/server`, `/server/middleware`, `/server/proxy`, `/server/webhooks`)
- React integration (`/react`, `/react/provider`, `/react/hooks`, `/react/auth`, `/react/content`)
- Vue integration (`/vue`, `/vue/provider`, `/vue/composables`, `/vue/auth`, `/vue/content`)
- Utilities (`/regions`, `/images`, `/rte`)

## Install

```bash
npm install @timbenniks/contentstack-platform-sdk
```

## Quick Start (CMA)

```ts
import { createCMAClient } from "@timbenniks/contentstack-platform-sdk/cma";

const cma = createCMAClient({
  region: "us",
  apiKey: "blt...",
  auth: { type: "management-token", token: "cms..." },
});

const entries = await cma.entries.listAll("blog_post");
console.log(`Found ${entries.length} entries`);
```

## Regions

Supported regions:

- `us` (alias: `na`)
- `eu` (alias: `europe`)
- `au` (alias: `australia`)
- `azure-na`
- `azure-eu`
- `gcp-na`
- `gcp-eu`

## Subpath Imports

```ts
import { createCMAClient } from "@timbenniks/contentstack-platform-sdk/cma";
import { createBrandKitClient } from "@timbenniks/contentstack-platform-sdk/brandkit";
import { createGenerativeAIClient } from "@timbenniks/contentstack-platform-sdk/generative-ai";
import { imageTransform } from "@timbenniks/contentstack-platform-sdk/images";
import { toHTML } from "@timbenniks/contentstack-platform-sdk/rte";
```

## Documentation

- Full docs: https://github.com/timbenniks/platform-sdk/tree/main/packages/docs
- Repository: https://github.com/timbenniks/platform-sdk

## License

Private - Contentstack
