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

# Authentication

> How to authenticate with the Orova API

## API Key authentication

All API requests are authenticated using an API key. Generate one from the [Orova dashboard](https://app.orova.ai) and include it in the `x-api-key` header:

```bash theme={null}
curl https://app.orova.ai/api/agents \
  -H "x-api-key: YOUR_API_KEY"
```

### Create an API key

<Steps>
  <Step title="Sign in to the dashboard">
    Go to [app.orova.ai](https://app.orova.ai) and sign in.
  </Step>

  <Step title="Navigate to API Keys">
    Go to **Settings → API Keys**.
  </Step>

  <Step title="Create a key">
    Click **Create API Key** and give it a descriptive name.
  </Step>

  <Step title="Copy the key">
    Copy the key immediately — it's only shown once.
  </Step>
</Steps>

<Warning>
  Keep your API key secret. Don't expose it in client-side code (except the widget's `data-api-key` attribute). Use it only in server-to-server requests.
</Warning>

## Using the API key

Include it in every request as a header:

```bash theme={null}
curl https://app.orova.ai/api/agents \
  -H "x-api-key: YOUR_API_KEY"
```

Or in the embeddable widget:

```html theme={null}
<script
  src="https://app.orova.ai/widget/orova-widget.js"
  data-api-key="YOUR_API_KEY"
  ...
></script>
```

## Workspace isolation

All data is scoped to a workspace. Include `workspaceId` as a query parameter or in the request body when needed:

```bash theme={null}
curl "https://app.orova.ai/api/agents?workspaceId=WORKSPACE_ID" \
  -H "x-api-key: YOUR_API_KEY"
```
