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

# Quickstart — list your Kataven agents in 5 lines of code

> Mint an API key in the dashboard, install the SDK, and call the Kataven Hub API in under two minutes. Python, Node, and curl side by side.

This page walks you from "I just signed up" to "I've called the API." About two minutes start to finish.

## 1. Mint an API key

<Steps>
  <Step title="Open Settings → API Keys">
    Sign in at [hub.kataven.ai](https://hub.kataven.ai), then go to [hub.kataven.ai/settings](https://hub.kataven.ai/settings) and click the **API Keys** tab at the top.
  </Step>

  <Step title="Create a key">
    Click **Create API key**. Give it a name (e.g. `local-dev`, `ci-deploy`, `claude-code`) and pick an expiry — `Never`, `1 year`, `90 days`, or `30 days`. Click **Create**.
  </Step>

  <Step title="Copy the token">
    The `sk_live_…` value appears once. **Copy it now** — we don't store the plaintext, only an HMAC. If you lose it, mint another.
  </Step>
</Steps>

<Note>
  Your token looks like `sk_live_acme_AbCd1234...`. The middle segment (`acme`) is your account slug — the API resolves your tenant from the prefix, so you don't need an `X-Account-ID` header anywhere.
</Note>

## 2. Install the SDK

<CodeGroup>
  ```bash Python theme={null}
  pip install kataven
  ```

  ```bash Node theme={null}
  npm install @kataven/server
  ```

  ```bash curl theme={null}
  # No install — just set the env var
  ```
</CodeGroup>

## 3. Set the env var

```bash theme={null}
export KATAVEN_API_KEY="sk_live_acme_AbCd1234..."
```

(Both SDKs read `KATAVEN_API_KEY` automatically. The Node SDK also reads `KATAVEN_BASE_URL` if you want to point at a non-prod instance.)

## 4. List your agents

<CodeGroup>
  ```python Python theme={null}
  from kataven import KatavenClient

  client = KatavenClient()                 # picks up KATAVEN_API_KEY
  for agent in client.agents.list():
      print(agent["id"], agent["name"])
  ```

  ```typescript Node theme={null}
  import { Kataven } from "@kataven/server";

  const client = new Kataven();
  const agents = await client.agents.list();
  for (const a of agents) console.log(a.id, a.name);
  ```

  ```bash curl theme={null}
  curl https://api.kataven.ai/v1/agents \
    -H "Authorization: Bearer $KATAVEN_API_KEY"
  ```
</CodeGroup>

A fresh account has zero agents — empty list is expected. Onto creating one.

## 5. Create your first agent

<CodeGroup>
  ```python Python theme={null}
  agent = client.agents.create(
      name="Front Desk",
      description="Greets callers and books appointments.",
      system_prompt="You are a friendly receptionist for Acme Co.",
      greeting_message="Thanks for calling Acme. How can I help?",
      llm_model="gpt-4o",
      voice_provider="cartesia",
      voice_id="a0e99841-438c-4a64-b679-ae501e7d6091",
  )
  print("Created:", agent["id"])
  ```

  ```typescript Node theme={null}
  const agent = await client.agents.create({
    name: "Front Desk",
    description: "Greets callers and books appointments.",
    system_prompt: "You are a friendly receptionist for Acme Co.",
    greeting_message: "Thanks for calling Acme. How can I help?",
    llm_model: "gpt-4o",
    voice_provider: "cartesia",
    voice_id: "a0e99841-438c-4a64-b679-ae501e7d6091",
  });
  console.log("Created:", agent.id);
  ```

  ```bash curl theme={null}
  curl -X POST https://api.kataven.ai/v1/agents \
    -H "Authorization: Bearer $KATAVEN_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "Front Desk",
      "system_prompt": "You are a friendly receptionist for Acme Co.",
      "greeting_message": "Thanks for calling Acme. How can I help?",
      "llm_model": "gpt-4o",
      "voice_provider": "cartesia",
      "voice_id": "a0e99841-438c-4a64-b679-ae501e7d6091"
    }'
  ```
</CodeGroup>

## Verify in the dashboard

Open [hub.kataven.ai/agents](https://hub.kataven.ai/agents). Your new agent shows up at the top of the list. Click it to see config, attach playbooks/FAQs, or test it in the playground.

## What's next

<CardGroup cols={2}>
  <Card title="Your first agent (full)" icon="play" href="/guides/your-first-agent">
    Carry on past listing — attach a phone number, place a test call, run a campaign. \~10 minutes.
  </Card>

  <Card title="Concepts: Agents" icon="book" href="/concepts/agents">
    Every field on an agent and what it does — system prompt, voice, LLM, auth modes, greeting modes.
  </Card>

  <Card title="API Reference" icon="terminal" href="/api-reference/introduction">
    Every endpoint with try-it. Generated from the same OpenAPI spec the SDKs are built on.
  </Card>

  <Card title="Manage from AI" icon="sparkles" href="/guides/ai-agents">
    Hand the API to Claude, ChatGPT, or Codex and have them build agents for you.
  </Card>
</CardGroup>
