Skip to main content

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.

TypeScript / Node.js

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

Installation

npm install @anima-labs/sdk

Usage

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

pip install anima-labs

Usage

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

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:
ResourceDescription
agentsCreate and manage AI agents
organizationsOrganization settings and profile
messagesSend email and SMS as an agent
emailsList an agent’s mail and handle attachments
vaultStore and retrieve encrypted credentials
phonesProvision and manage phone numbers
callsPlace and manage voice calls
webhooksSubscribe to real-time events
domainsConfigure custom email domains
securityContent 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).