# Getting Started

> Available Inference endpoint: `https://ai.aur.lu/v1` (Aurora).

## Get an API Token

1. Navigate to the [Aurora Portal](https://portal.aur.lu/)
2. Go to **Credentials → API Tokens**
3. Click **New Token**, enter a descriptive name, select `execute:inference:requests`, and create it
4. Copy and securely store the token. It is displayed only once

Use this token to authenticate requests to the Inference API. Never commit it to
source control. If it is exposed, revoke it in the Aurora Portal and create a new
one.

## Using the Token

Include the token in the `Authorization` header using the Bearer scheme:

```
Authorization: Bearer <your-token>
```

## Base URL

```text
https://ai.aur.lu/v1
```

Append the endpoint paths shown below to this base URL.

## Quick Start

Store your token in an environment variable:

```bash
export AURORA_API_TOKEN="<your-token>"
```

List the public model catalog (no API token required):

```bash
curl https://ai.aur.lu/v1/models
```

With an API token, the same endpoint returns the models available to your tenant:

```bash
curl https://ai.aur.lu/v1/models \
  -H "Authorization: Bearer $AURORA_API_TOKEN"
```

Then send your first chat completion request:

```bash
curl https://ai.aur.lu/v1/chat/completions \
  -H "Authorization: Bearer $AURORA_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek/deepseek-v4-flash",
    "messages": [
      {"role": "user", "content": "Say hello in one sentence."}
    ]
  }'
```

## Stream a response

Set `stream` to `true` to receive text as it is generated. Use `curl -N` to display
chunks without buffering, and request token usage with `stream_options.include_usage`:

```bash
curl -N https://ai.aur.lu/v1/chat/completions \
  -H "Authorization: Bearer $AURORA_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek/deepseek-v4-flash",
    "messages": [{"role": "user", "content": "Say hello in one sentence."}],
    "stream": true,
    "stream_options": {"include_usage": true}
  }'
```

For the streaming response format and error handling, see
[Create a chat completion](https://docs.aur.lu/docs/inference/api-reference/create-inference-chat-completion).

## Next Steps

- Explore the [API reference](https://docs.aur.lu/docs/inference/api-reference)
- Review the [available models and pricing](https://docs.aur.lu/docs/inference/models-and-pricing)
- Choose an [integration](https://docs.aur.lu/docs/inference/integrations) for your coding agent, chat application, or SDK
