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

# Quickstart: Make Your First Request

> Make your first Lava AI gateway request in under 5 minutes

In this quickstart, you'll route your first AI request through Lava's AI Gateway to track usage and costs. Routing through Lava is just a REST POST request — you swap the base URL and auth header, and everything else stays the same.

<Info>
  **Building with an AI agent?** See the [Agents guide](/agents/route-traffic) for how to do this programmatically from code.
</Info>

<Steps>
  <Step title="Get Your Secret Key">
    Go to [Developers > Secrets](https://lava.so/dashboard/gateway/secrets) in your dashboard and copy your secret key (`aks_live_...`).

    ```bash theme={null}
    export LAVA_SECRET_KEY=aks_live_your_key_here
    ```
  </Step>

  <Step title="Make Your First Request">
    Use your secret key in the `Authorization` header. The request body stays unchanged from the provider's API.

    <Tabs>
      <Tab title="cURL">
        ```bash theme={null}
        curl -X POST 'https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions' \
          -H 'Content-Type: application/json' \
          -H "Authorization: Bearer $LAVA_SECRET_KEY" \
          -d '{
            "model": "gpt-4o-mini",
            "messages": [{ "role": "user", "content": "Say hello in one sentence." }]
          }'
        ```
      </Tab>

      <Tab title="SDK">
        ```typescript theme={null}
        import { Lava } from '@lavapayments/nodejs';

        const lava = new Lava();

        const data = await lava.gateway('https://api.openai.com/v1/chat/completions', {
          body: {
            model: 'gpt-4o-mini',
            messages: [{ role: 'user', content: 'Say hello in one sentence.' }]
          }
        });
        ```
      </Tab>

      <Tab title="TypeScript">
        ```typescript theme={null}
        const response = await fetch(
          'https://api.lava.so/v1/forward?u=' +
            encodeURIComponent('https://api.openai.com/v1/chat/completions'),
          {
            method: 'POST',
            headers: {
              'Content-Type': 'application/json',
              'Authorization': `Bearer ${process.env.LAVA_SECRET_KEY}`
            },
            body: JSON.stringify({
              model: 'gpt-4o-mini',
              messages: [{ role: 'user', content: 'Say hello in one sentence.' }]
            })
          }
        );

        const data = await response.json();
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="Check the Dashboard">
    Go to **[Analytics > Requests](https://lava.so/dashboard/monetize/explore)** in your dashboard. Find your request by timestamp or request ID to see token counts, cost breakdown, model, and provider — all captured automatically.

    See the [Forward Proxy guide](/gateway/forward-proxy) for multi-provider examples, streaming, error handling, and advanced configuration.
  </Step>
</Steps>

## What's Next?

<CardGroup cols={2}>
  <Card title="Charge Your First Customer" icon="dollar-sign" href="/get-started/quickstart-charge">
    Set up pricing and checkout to monetize your AI service
  </Card>

  <Card title="How Lava Works" icon="lightbulb" href="/gateway/how-lava-gateway-works">
    Understand Lava's architecture, gateway routing, and key concepts
  </Card>
</CardGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Where is my secret key?" icon="key">
    Go to [Gateway > Secrets](https://lava.so/dashboard/gateway/secrets). If the section is missing, verify you're logged into a merchant account (not a wallet-only account).
  </Accordion>

  <Accordion title="401 Unauthorized" icon="lock">
    Verify you included the `Bearer` prefix in the Authorization header and that your secret key matches the one in your dashboard. See the [Forward Proxy troubleshooting](/gateway/forward-proxy#troubleshooting) for more details.
  </Accordion>

  <Accordion title="402 Insufficient Balance" icon="wallet">
    Your Lava wallet needs funds. Go to **Wallet > Billing** to add a payment method.
  </Accordion>

  <Accordion title="What about forward tokens?" icon="question">
    Using your secret key directly is the simplest way to get started — costs are charged to your merchant wallet. When you need to **bill customers**, you'll use a **forward token** instead: a base64-encoded JSON that bundles your secret key with a `customer_id` and `meter_slug`. See the [Forward Proxy guide](/gateway/forward-proxy) and [SDK reference](/sdk/nodejs) for details.
  </Accordion>
</AccordionGroup>
