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

# Production

> Use the SDK without a browser in production or CI.

There is no `elding login` browser flow in production. Provide the token and set through
**two environment variables**. The SDK reads them **automatically**, so your code does not
change.

```bash theme={null}
ELDING_REFRESH_TOKEN=eld_rt_...   # generate it in Dashboard → API Keys
ELDING_SET_ID=...                 # the ID of the set to load
```

<Note>
  Keep these exact names. The SDK detects them automatically, with **no options** required for
  `configure()`. The same code works in development and production.
</Note>

## An HTTP API key with `configure()`

Use exactly the same code as in development:

```js theme={null}
import OpenAI from "openai";
import { configure } from "@elding/sdk";

const openai = new OpenAI(
  await configure("OPENAI_API_KEY", "https://api.openai.com")
);
```

<Warning>
  Elding does not replace non-HTTP variables. Keep `DATABASE_URL`, `JWT_SECRET`, `REDIS_URL`,
  certificates, and database passwords in your platform's environment variables.
</Warning>

## Where to find the two values

| Variable               | Where to find it                                                             |
| ---------------------- | ---------------------------------------------------------------------------- |
| `ELDING_REFRESH_TOKEN` | Run `elding deploy` (CLI) or Dashboard → **API Keys** → New key. Shown once. |
| `ELDING_SET_ID`        | Open the set in the dashboard. Its ID appears in the URL.                    |

<Note>
  Your API keys remain in the vault and are retrieved at runtime through **one** token.
  Rotation, revocation, and audit logs remain centralized.

  **Rotation propagation:** the SDK caches API keys in memory for up to 5 minutes. After rotating a key in the dashboard, the new value is active across all your instances within 5 minutes, without redeploying.
</Note>

<Card title="How to generate these variables" icon="rocket" href="/en/sdk/deploy">
  Step-by-step guide: CLI method and dashboard method.
</Card>
