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

# Quickstart

> Send your first request in minutes

Install an SDK, set your API key, and make a chat completion call.

## Prerequisites

* An [Auriko account](https://auriko.ai/signup?redirectTo=%2Fdashboard%3Ftab%3Dapi-keys) with an API key

## 1. Get an API Key

<Card title="Sign Up" icon="key" href="https://auriko.ai/signup?redirectTo=%2Fdashboard%3Ftab%3Dapi-keys">
  Create your account and get an API key from the dashboard
</Card>

<Snippet file="base-url-note.mdx" />

## 2. Install

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

  ```bash TypeScript OpenAI theme={null}
  npm install openai
  ```

  ```bash Python Auriko theme={null}
  pip install auriko
  ```

  ```bash TypeScript Auriko theme={null}
  npm install @auriko/sdk
  ```
</CodeGroup>

## 3. Make Your First Request

<CodeGroup>
  ```python Python OpenAI theme={null}
  import os
  from openai import OpenAI

  client = OpenAI(
      api_key=os.environ["AURIKO_API_KEY"],
      base_url="https://api.auriko.ai/v1"
  )

  response = client.chat.completions.create(
      model="gpt-5.4",
      messages=[{"role": "user", "content": "Hello!"}]
  )

  print(response.choices[0].message.content)
  ```

  ```typescript TypeScript OpenAI theme={null}
  import OpenAI from "openai";

  const client = new OpenAI({
      apiKey: process.env.AURIKO_API_KEY,
      baseURL: "https://api.auriko.ai/v1",
  });

  const response = await client.chat.completions.create({
      model: "gpt-5.4",
      messages: [{ role: "user", content: "Hello!" }],
  });

  console.log(response.choices[0].message.content);
  ```

  ```python Python Auriko theme={null}
  import os
  from auriko import Client

  client = Client(
      api_key=os.environ["AURIKO_API_KEY"],
      base_url="https://api.auriko.ai/v1"
  )

  response = client.chat.completions.create(
      model="gpt-5.4",
      messages=[{"role": "user", "content": "Hello!"}]
  )

  print(response.choices[0].message.content)
  if response.routing_metadata:
      print(f"Provider: {response.routing_metadata.provider}")
      if response.routing_metadata.cost:
          print(f"Cost: ${response.routing_metadata.cost.usd:.6f}")
  ```

  ```typescript TypeScript Auriko theme={null}
  import { Client } from "@auriko/sdk";

  const client = new Client({
      apiKey: process.env.AURIKO_API_KEY,
      baseUrl: "https://api.auriko.ai/v1",
  });

  const response = await client.chat.completions.create({
      model: "gpt-5.4",
      messages: [{ role: "user", content: "Hello!" }],
  });

  console.log(response.choices[0].message.content);
  ```

  ```bash cURL theme={null}
  curl https://api.auriko.ai/v1/chat/completions \
    -H "Authorization: Bearer $AURIKO_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "gpt-5.4",
      "messages": [{"role": "user", "content": "Hello!"}]
    }'
  ```
</CodeGroup>

## 4. Enable Routing Features (Optional)

<CodeGroup>
  ```python Python OpenAI theme={null}
  response = client.chat.completions.create(
      model="gpt-5.4",
      messages=[{"role": "user", "content": "Hello!"}],
      extra_body={"gateway": {"routing": {
          "optimize": "cost-focus",   # Optimize for cost
          "max_ttft_ms": 1000,        # Max 1s to first token
          "ttft_percentile": "p50",
      }}}
  )
  ```

  ```typescript TypeScript OpenAI theme={null}
  const response = await client.chat.completions.create({
      model: "gpt-5.4",
      messages: [{ role: "user", content: "Hello!" }],
      gateway: { routing: {
          optimize: "cost-focus",
          max_ttft_ms: 1000,
          ttft_percentile: "p50",
      } },
  });

  console.log(response.choices[0].message.content);
  ```

  ```python Python Auriko theme={null}
  response = client.chat.completions.create(
      model="gpt-5.4",
      messages=[{"role": "user", "content": "Hello!"}],
      gateway={"routing": {
          "optimize": "cost-focus",   # Optimize for cost
          "max_ttft_ms": 1000,        # Max 1s to first token
          "ttft_percentile": "p50",
      }}
  )
  ```

  ```typescript TypeScript Auriko theme={null}
  const response = await client.chat.completions.create({
      model: "gpt-5.4",
      messages: [{ role: "user", content: "Hello!" }],
      gateway: { routing: {
          optimize: "cost-focus",     // Optimize for cost
          max_ttft_ms: 1000,          // Max 1s to first token
          ttft_percentile: "p50",
      }},
  });
  ```

  ```bash cURL theme={null}
  curl https://api.auriko.ai/v1/chat/completions \
    -H "Authorization: Bearer $AURIKO_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "gpt-5.4",
      "messages": [{"role": "user", "content": "Hello!"}],
      "gateway": {"routing": {"optimize": "cost-focus", "max_ttft_ms": 1000, "ttft_percentile": "p50"}}
    }'
  ```
</CodeGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="API Reference" icon="code" href="/api-reference/overview">
    Full API documentation
  </Card>

  <Card title="Routing Options" icon="route" href="/guides/routing-options">
    Configure cost/latency optimization
  </Card>

  <Card title="Streaming" icon="bolt" href="/guides/streaming">
    Real-time streaming responses
  </Card>

  <Card title="Tool Calling" icon="wrench" href="/guides/tool-calling">
    Let LLMs call your functions
  </Card>

  <Card title="Vision" icon="image" href="/guides/vision">
    Analyze images with chat completions
  </Card>

  <Card title="Structured Output" icon="brackets-curly" href="/guides/structured-output">
    Get JSON responses matching a schema
  </Card>

  <Card title="LangChain" icon="link" href="/frameworks/langchain">
    Use with LangChain
  </Card>
</CardGroup>

## Machine-readable sources

You can access Auriko's documentation in machine-readable formats for AI agents and programmatic use.

* [llms.txt](/llms.txt) — Index of all documentation sections in plaintext, following the [llms.txt standard](https://llmstxt.org/)
* [llms-full.txt](/llms-full.txt) — Complete documentation in a single file
* [OpenAPI spec](/openapi.yaml) — OpenAPI 3.1 specification for all API endpoints
