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

# Quickstart

> Get started in minutes by following this quickstart guide.

In just a few steps, you'll have OpenStack up and running, ready to handle requests from your AI applications.

<Steps>
  <Step title="Sign up for OpenStack">
    If you haven't already, sign up for an OpenStack account at [https://app.openstack.ai](https://app.openstack.ai).
  </Step>

  <Step title="Connect your LLM provider">
    In the OpenStack dashboard connect your preferred LLM provider (e.g., OpenAI, Anthropic) by adding your API key. Learn
    more about [model providers](/features/models).
  </Step>

  <Step title="Get your OpenStack API key">
    Once your LLM provider is connected, you will get an OpenStack API key. This key will be used to authenticate requests
    from your AI applications to OpenStack. Keep it secure!
  </Step>

  <Step title="Update your application to use OpenStack">
    Swap your AI application's LLM provider endpoint with OpenStack's endpoint: `https://api.openstack.ai/v1`. Make sure to include a user id, [learn more here](/how-to-guides/pass-user-id).

    <Tabs>
      <Tab title="OpenAI TypeScript">
        ```ts theme={null}
        import OpenAI from "openai";

        const openai = new OpenAI({
          apiKey: "YOUR_OPENSTACK_API_KEY",
          baseURL: "https://api.openstack.ai/v1",
        });

        const response = await openai.chat.completions.create({
          model: "gpt-5",
          messages: [{ role: "user", content: "Hello!" }],
          user: "user_123",
        });
        ```
      </Tab>

      <Tab title="AI SDK Typescript">
        ```ts theme={null}
        import { streamText } from 'ai'
        import { createOpenAI } from '@ai-sdk/openai'

        const openstack = createOpenAI({
          apiKey: 'YOUR_OPENSTACK_API_KEY',
          baseURL: 'https://api.openstack.ai/v1',
        })

        const stream = await streamText(openstack, {
          model: openstack('gpt-5'),
          messages: [{ role: 'user', content: 'Hello!' }],
          user: "user_123",
        })
        ```
      </Tab>

      <Tab title="OpenAI Python">
        ```python theme={null}
        from openai import OpenAI

        openai = OpenAI(
            api_key="YOUR_OPENSTACK_API_KEY",
            base_url="https://api.openstack.ai/v1"
        )
        response = openai.chat.completions.create(
            model="gpt-5",
            messages=[{"role": "user", "content": "Hello!"}],
            user="user_123",
        )
        ```
      </Tab>

      <Tab title="OpenStack SDK (soon)">
        ```ts theme={null}
        import OpenStack from "@openstack-ai/sdk";

        const openstack = new OpenStack({
          apiKey: "YOUR_OPENSTACK_API_KEY",
        });

        const response = await openstack.chat.completions.create({
          model: "gpt-5",
          messages: [{ role: "user", content: "Hello!" }],
          user: "user_123",
        });
        ```
      </Tab>

      <Tab title="cURL">
        ```bash theme={null}
        curl https://api.openstack.ai/v1/chat/completions \
          -H "Authorization: Bearer YOUR_OPENSTACK_API_KEY" \
          -H "Content-Type: application/json" \
          -d '{
            "model": "gpt-5",
            "messages": [{"role": "user", "content": "Hello!"}],
            "user": "user_123"
          }'
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step>
    That's it! Your AI application is now set up to use OpenStack. You can start sending requests and enable advanced features and integrations as you need them.
  </Step>
</Steps>

<Columns cols="2">
  <Card title="Analytics" href="/features/analytics" icon="chart-bar">
    Plug-in analytics integrations for usage insights
  </Card>

  <Card title="Billing" href="/features/billing" icon="credit-card">
    Manage billing and payments for your AI applications
  </Card>

  <Card title="Webhooks" href="/features/webhooks" icon="link">
    Automate workflows with webhooks
  </Card>

  <Card title="Authentication" href="/features/authentication" icon="user-lock">
    Securely manage access to your AI applications (soon)
  </Card>

  <Card title="Monitoring" href="/features/monitoring" icon="radar">
    Monitor your AI application's health (soon)
  </Card>

  <Card title="Observability" href="/features/observability" icon="eye">
    Integrate with observability tools (soon)
  </Card>
</Columns>
