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

# SDK Overview

> Integrate Vatel voice agents into your applications with official SDKs for Python, JavaScript, and Go.

Use the official Vatel SDKs to connect your applications to voice agents over the REST API and WebSockets. Each SDK gives you a client for API calls and a way to run real-time voice sessions: send audio, receive events and agent audio, and handle tool calls.

<Info>
  You need an **organization API key** (from the Vatel dashboard) and an **agent ID** for the agent you want to run. Session tokens are short-lived JWTs obtained via the API and used to open the WebSocket connection.
</Info>

## Choose your language

<Columns cols={3}>
  <Card title="Python" icon="python" href="/deploy/sdk/python">
    REST and WebSocket with async support. Python 3.9+.
  </Card>

  <Card title="JavaScript / TypeScript" icon="node-js" href="/deploy/sdk/javascript">
    Node.js and browser. REST client and WebSocket session.
  </Card>

  <Card title="Go" icon="golang" href="/deploy/sdk/go">
    Single client for REST and WebSocket. Go 1.21+.
  </Card>

  <Card title="WebSockets" icon="radio" href="/api-reference/session/connection">
    Real-time voice sessions. Send audio, receive events, and handle tool calls.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/introduction">
    Full request/response details and all endpoints.
  </Card>
</Columns>

## How it works

<Steps>
  <Step title="Get credentials and agent ID">
    Use your organization API key and the agent UUID from the dashboard (or from the REST API).
  </Step>

  <Step title="Obtain a session token">
    Call the session-token endpoint with your API key and agent ID. The token authorizes one WebSocket connection for that agent.
  </Step>

  <Step title="Connect and run the session">
    Open the WebSocket with the token, then send input audio (e.g. from a microphone) and handle incoming events: agent audio, transcripts, tool calls, and session lifecycle.
  </Step>
</Steps>

## API reference

For full request/response details and all endpoints, see the API reference:

<Columns cols={2}>
  <Card title="Session token" icon="key" href="/api-reference/session/session-token">
    Get a short-lived JWT for the WebSocket connection.
  </Card>

  <Card title="Connection" icon="radio" href="/api-reference/session/connection">
    WebSocket URL, message types, and flow.
  </Card>
</Columns>

## Next steps

<Card title="Next.js example" icon="code" href="/deploy/examples/nextjs">
  Full Session WebSocket demo in Next.js: server-side token, real-time voice, and event display.
</Card>
