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

# Set up

> Provision your managed gateway and make your first request — about two minutes, nothing to install.

From zero to a governed LLM request through your own managed gateway, with nothing to install.

## Before you start

* A Guardway account ([sign up](/getting-started/sign-up)) with the **owner** or **admin** role
* An API key from at least one LLM provider (OpenAI, Anthropic, Google, Groq, …)

## The five steps

<Steps>
  <Step title="Open the SaaS tab">
    In the dashboard, go to **Gateways** and select the **SaaS** tab (marked <strong>Beta</strong>).

    <Frame caption="The SaaS tab before setup">
      <img src="https://mintcdn.com/fcguardwayai/NkqpoyOQ-G1T5--J/images/screenshots/gateway/saas/setup-empty-state.png?fit=max&auto=format&n=NkqpoyOQ-G1T5--J&q=85&s=92e3b9465ccd6066746b5ea55352f222" alt="SaaS tab empty state with the Setup button" width="1200" height="750" data-path="images/screenshots/gateway/saas/setup-empty-state.png" />
    </Frame>
  </Step>

  <Step title="Click Setup SaaS Gateway">
    One click — no tokens, no configuration choices. The card flips to **Provisioning** while Guardway creates your dedicated gateway. It typically shows **Online** in one to two minutes.

    <Frame caption="Your gateway card once it is Online">
      <img src="https://mintcdn.com/fcguardwayai/NkqpoyOQ-G1T5--J/images/screenshots/gateway/saas/card-online.png?fit=max&auto=format&n=NkqpoyOQ-G1T5--J&q=85&s=0ee6101ecc7c9dbe0246b62f230eca8f" alt="SaaS gateway card showing Online status and the endpoint" width="1200" height="750" data-path="images/screenshots/gateway/saas/card-online.png" />
    </Frame>
  </Step>

  <Step title="Connect a provider">
    Open **Configuration → Providers**, pick a preset, paste your provider API key, and attach it to your SaaS gateway. Your gateway picks the change up automatically within about a minute.

    [Full walkthrough →](/platform/configuration/providers)
  </Step>

  <Step title="Create a Guardway API key">
    Open **Configuration → API Keys** and create a key. This is the key your applications send — your provider keys stay server-side and are never exposed to callers.

    [Full walkthrough →](/platform/configuration/api-keys)
  </Step>

  <Step title="Make your first request">
    The gateway is OpenAI-compatible: point any OpenAI SDK at the endpoint and use your Guardway API key.

    <CodeGroup>
      ```bash curl theme={null}
      curl https://gateway.guardway.ai/v1/chat/completions \
        -H "Authorization: Bearer YOUR_GUARDWAY_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
          "model": "gpt-4o-mini",
          "messages": [{"role": "user", "content": "Hello!"}]
        }'
      ```

      ```python Python theme={null}
      from openai import OpenAI

      client = OpenAI(
          base_url="https://gateway.guardway.ai/v1",
          api_key="YOUR_GUARDWAY_API_KEY",
      )
      resp = client.chat.completions.create(
          model="gpt-4o-mini",
          messages=[{"role": "user", "content": "Hello!"}],
      )
      print(resp.choices[0].message.content)
      ```

      ```ts Node theme={null}
      import OpenAI from 'openai';

      const client = new OpenAI({
        baseURL: 'https://gateway.guardway.ai/v1',
        apiKey: 'YOUR_GUARDWAY_API_KEY',
      });
      const resp = await client.chat.completions.create({
        model: 'gpt-4o-mini',
        messages: [{ role: 'user', content: 'Hello!' }],
      });
      console.log(resp.choices[0].message.content);
      ```
    </CodeGroup>

    Use a model your connected provider serves (for Google, e.g. `gemini-2.5-flash`; for OpenAI, e.g. `gpt-4o-mini`).
  </Step>
</Steps>

## Try it without writing code

The gateway card has an **Open Playground** button — it opens the [Playground](/platform/playground) already pointed at your SaaS Gateway, so you can send a real request from the browser, pick from your synced models, and see the response streamed back.

## If something looks off

* **Stuck on Provisioning past \~5 minutes** — click into the card later or contact support; provisioning reports its status automatically.
* **`{"error":"no providers available"}`** — no provider is attached to this gateway yet, or it was attached moments ago; give it a minute (step 3).
* **`401` from the endpoint** — the API key is wrong, revoked, or from a different organization.
* **Provider errors (e.g. `429 quota`)** — passed through verbatim from your LLM provider; check that account's plan and limits.
