> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.cloudraker.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.cloudraker.com/_mcp/server.

# Environments

CloudRaker runs three environments. They are **fully isolated**: separate data, separate organizations, separate keys. An API key made in one environment does not authenticate in another, and an id from one environment does not resolve in another.

## Base URLs

| Environment | API base URL                    |
| ----------- | ------------------------------- |
| Production  | `https://api.cloudraker.com`    |
| Staging     | `https://api.staging.raker.one` |
| Development | `https://api.dev.raker.one`     |

Production is also reachable at **`https://app.cloudraker.com/api`** — the same gateway, mounted under the web app's origin. Use it when a browser app needs same-origin calls; use `https://api.cloudraker.com` everywhere else.

Unless you were given access to staging or development, **production is your environment**. Staging and development exist for pre-release integration work and carry no availability or data-retention guarantees.

## Pointing at an environment

Everything else is identical across environments — same paths, same `Authorization: Bearer <token>` header, same JSON.

```bash title="curl"
curl https://api.staging.raker.one/me \
  -H "Authorization: Bearer $RAKERONE_API_KEY"
```

```ts title="TypeScript"
import { CloudRakerClient } from "@cloudraker/api";

const client = new CloudRakerClient({
  environment: "https://api.staging.raker.one", // defaults to production
  token: process.env.RAKERONE_API_KEY!,
});
```

```python title="Python"
import os
from cloudraker.client import CloudRaker

client = CloudRaker(
    base_url="https://api.staging.raker.one",  # defaults to production
    token=os.environ["RAKERONE_API_KEY"],
)
```

The [API reference](/api/overview) and the [SDKs](/developers/sdks) default to production.

## Where to go next

#### [Authentication](/developers/authentication)

Create a key in the environment you're calling and send it as a bearer token.

#### [Versioning and compatibility](/developers/versioning)

How the API version is pinned and which changes can land without warning.