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

# Famulor SDK

> A typed TypeScript client for integrating Famulor into your server application

<Frame>
  <img src="https://mintcdn.com/ouraicall/Hpff3gs2PfOUdmrH/images/changelog/famulor-sdk-2026-10-10.png?fit=max&auto=format&n=Hpff3gs2PfOUdmrH&q=85&s=bd15c1f8f2e02d792b2ed4190b46fd4f" alt="Famulor SDK with the Famulor mascot, logo and TypeScript code" width="1672" height="941" data-path="images/changelog/famulor-sdk-2026-10-10.png" />
</Frame>

Build Famulor into your backend with the official TypeScript SDK. List assistants, start calls, read conversation results and manage workspace resources with typed requests and responses.

```bash theme={null}
npm install famulor-sdk
```

```typescript theme={null}
import { Famulor } from 'famulor-sdk';

const client = new Famulor({
  apiKey: process.env.FAMULOR_API_KEY,
});

const { data: assistants } = await client.assistants.list({ limit: 10 });
console.log(assistants.map(({ id, name }) => ({ id, name })));
```

## What you get

* **Complete public API coverage.** Every documented API operation is available through `client.api`.
* **Convenient resource methods.** Use `client.assistants.list()`, `client.calls.create()` and `client.calls.get()` for common tasks.
* **Types from the API contract.** Your editor shows request fields, allowed values and response properties.
* **Predictable requests.** Configure timeouts, cancel with an `AbortSignal` and handle structured errors.
* **Pagination.** Process call history with an async iterator that fetches pages as you need them.
* **Safe retry defaults.** Eligible read requests may be repeated. Write requests are never retried automatically.

## Requirements

Use **Node.js 22 or newer** and a workspace with **API Access**, enabled by your plan or an add-on. The SDK uses the same API credentials, scopes, roles and workspace limits as the REST API.

<Warning>
  This is a server SDK. Keep API keys and OAuth tokens in your backend or secret store. Never import the SDK into browser code or expose a credential in a public environment variable.
</Warning>

For a voice conversation inside your website, use the [Web widget](/web-widget). The server SDK manages resources and calls; it does not capture microphone audio or render a conversation interface.

## SDK, CLI and MCP

| Tool | Best for |
| - | - |
| SDK | TypeScript and JavaScript code inside your backend |
| [REST API](/api-reference/introduction) | HTTP integrations in any language |
| [CLI](/cli/overview) | Terminal commands, scripts and CI jobs |
| [MCP](/mcp/overview) | Giving an AI assistant access to workspace tools |

For example, the SDK's `client.assistants.list()` is also available in the CLI:

```bash theme={null}
npm install --global famulor
famulor auth login
famulor list-assistants --limit 10 --output table
```

API Access controls SDK and REST requests. **Connect AI / MCP** controls MCP access separately.

## Start building

<CardGroup cols={2}>
  <Card title="Quickstart" href="/sdk/quickstart" icon="bolt">
    Install, create a key and run your first read and outbound call.
  </Card>

  <Card title="Use the SDK" href="/sdk/usage" icon="code">
    Responses, pagination, complete API coverage and file requests.
  </Card>

  <Card title="Configuration and errors" href="/sdk/reference" icon="sliders">
    Authentication, custom domains, retries, timeouts and troubleshooting.
  </Card>
</CardGroup>


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