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

# Quickstart and projects

> Create a Relay project, issue a key, connect a provider, and send your first routed request.

A Relay project is the boundary for keys, provider credentials, routing policy, traffic, reports, and limits. Use separate projects for applications or environments that need independent access or measurement.

By the end of this guide, you will:

* create an isolated Relay project,
* issue and safely store a Relay key,
* verify a provider credential,
* send one OpenAI-compatible routed request, and
* confirm the routing decision in Traffic.

<Steps>
  <Step title="Create a project">
    Open **Relay → Projects**, select **New project**, and give it a name that identifies the workload or environment.

    Project creation is idempotent in the guided quickstart: returning to setup reuses the project instead of creating duplicates.
  </Step>

  <Step title="Create a Relay key">
    Create a key for the application. Relay shows the full `ox_...` value once; store it in your secret manager before closing the dialog.

    <Warning>
      Relay cannot reveal a key again. Revoke a lost key and create a replacement.
    </Warning>
  </Step>

  <Step title="Connect a provider">
    Add the provider credential Relay should use to execute requests. Verify it before enabling automatic routing.

    Observe-only projects do not need a provider credential unless Relay will also execute shadow comparisons.
  </Step>

  <Step title="Point your client at Relay">
    Set the OpenAI-compatible base URL and use the Relay key as the API key:

    ```bash theme={null}
    export OPENAI_BASE_URL="https://relay.oximy.com/v1"
    export OPENAI_API_KEY="ox_..."
    ```

    Send a request directly to the endpoint:

    ```bash theme={null}
    curl https://relay.oximy.com/v1/chat/completions \
      -H "Authorization: Bearer $OPENAI_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "oximy/auto",
        "messages": [{"role": "user", "content": "Explain this incident in three bullets."}]
      }'
    ```

    An existing OpenAI-compatible client can use the same base URL and Relay
    key after the direct request succeeds.
  </Step>

  <Step title="Confirm the request">
    Open **Relay → Traffic**. Confirm the request source, status, requested and resolved models, cost, latency, and routing reason.
  </Step>
</Steps>

## Project operations

Project settings act as defaults. Individual Relay keys can carry narrower request-rate, monthly-budget, expiry, or routing overrides.

Archiving removes a project from normal active use without erasing its historical records. Unarchive it when the same boundary should become active again.

<CardGroup cols={2}>
  <Card title="Choose another integration" icon="git-branch" href="/docs/relay/integration-modes">
    Observe existing calls or request decisions without proxying provider traffic.
  </Card>

  <Card title="Configure models and routing" icon="sliders-horizontal" href="/docs/relay/routing-fallbacks">
    Move from the first request to a production routing policy.
  </Card>
</CardGroup>
