> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://cla-demo.postmansolutions.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://cla-demo.postmansolutions.com/_mcp/server.

# SDK Quickstart

All five AutoExtract OpenAPI specifications are combined under one Fern generator group (`sdk`), producing **one** SDK. Each microservice is exposed as a namespaced sub-client.

| Sub-client                | Source service    | Example                                         |
| ------------------------- | ----------------- | ----------------------------------------------- |
| `client.fileIntake`       | File Intake       | `client.fileIntake.files.upload(...)`           |
| `client.registration`     | Registration      | `client.registration.clientApplications.list()` |
| `client.extractor`        | Extractor         | `client.extractor.jobs.run(fileId)`             |
| `client.statusCheck`      | Status Check      | `client.statusCheck.files.getStatusHistory(id)` |
| `client.documentSplitter` | Document Splitter | `client.documentSplitter.health.check()`        |

## Install

```bash
npm install @cla-demo/autoextract-sdk
```

> **Warning**
>
> The package name and output repository are demo placeholders. Replace them in `fern/generators.yml` before publishing.

## Authenticate

The SDK reads a JWT from `AUTOEXTRACT_TOKEN`, or you can pass `token` explicitly.

```typescript
import { AutoExtractClient } from "@cla-demo/autoextract-sdk";

const client = new AutoExtractClient({ token: process.env.AUTOEXTRACT_TOKEN });

const status = await client.statusCheck.files.getStatusHistory("<fileId>");
```

> **Note**
>
> Each service is deployed on its own host. Pass the base URL for the service you are calling via the client's `environment` option.