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

# Official SDKs

> Official TypeScript and Python SDKs for Anima.

# Official SDKs

Seamlessly integrate Anima into your Python and TypeScript applications. Both SDKs provide access to the full unified platform: agents, email, vault, phone, and webhooks. Using Go? See the [Go SDK reference](/sdks/go).

## TypeScript / Node.js

The TypeScript SDK provides full type safety and works with Node.js, Bun, and Deno.

### Installation

```bash theme={null}
npm install @anima-labs/sdk
```

### Usage

```ts theme={null}
import { Anima } from "@anima-labs/sdk";

const anima = new Anima({ apiKey: "mk_..." }); // agent creation needs the master key

// Create an agent
const agent = await anima.agents.create({
  orgId: "org_...",
  name: "Researcher",
  slug: "researcher",
});

// Send email
await anima.messages.sendEmail({
  agentId: agent.id,
  to: ["user@example.com"],
  subject: "Hello",
  body: "Sent by an AI agent",
});
```

## Python

The Python SDK is fully typed and supports both sync and async operations.

### Installation

```bash theme={null}
pip install anima-labs
```

### Usage

```python theme={null}
from anima import Anima

anima = Anima(api_key="mk_...")  # agent creation needs the master key

# Create an agent
agent = anima.agents.create(
    org_id="org_...",
    name="Researcher",
    slug="researcher",
)

# Send email
anima.messages.send_email(
    agent_id=agent.id,
    to=["user@example.com"],
    subject="Hello",
    body="Sent by an AI agent",
)
```

### Async Usage

```python theme={null}
from anima import AsyncAnima

anima = AsyncAnima(api_key="mk_...")
agent = await anima.agents.create(
    org_id="org_...",
    name="Async Agent",
    slug="async-agent",
)
```

## Available Resources

Both SDKs expose the same set of resources:

| Resource        | Description                                 |
| --------------- | ------------------------------------------- |
| `agents`        | Create and manage AI agents                 |
| `organizations` | Organization settings and profile           |
| `messages`      | Send email and SMS as an agent              |
| `emails`        | List an agent's mail and handle attachments |
| `vault`         | Store and retrieve encrypted credentials    |
| `phones`        | Provision and manage phone numbers          |
| `calls`         | Place and manage voice calls                |
| `webhooks`      | Subscribe to real-time events               |
| `domains`       | Configure custom email domains              |
| `security`      | Content scanning and security events        |

…plus `identity`, `registry`, `wallet`, `pods`, `a2a`, `audit`, `compliance`, `anomaly`, `voices`, `events`, and `addresses` — the same names in both SDKs (snake\_case arguments in Python, camelCase in TypeScript).
