> For the complete documentation index, see [llms.txt](https://cros-one.gitbook.io/cros.one/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cros-one.gitbook.io/cros.one/get-started/authentication.md).

# Authentication

## Base URL

We enforce HTTPS in every request to improve data security and integrity. The API does not support HTTP. All requests should use the following base URL:

```
https://api.cros.one
```

## Authentication

Cros uses API keys for authentication. Get yours on our API keys dashboard.

**Keep your keys secure!** Do not share them or expose them in client-side code. For production requests, securely load your key from an environment variable or other secure storage in your backend server.

All REST API requests should include your API key in a Bearer HTTP header:

```javascript
headers: {
  'Authorization': `Bearer ${process.env.CROS_API_KEY}`
}
```

## Response Codes

Cros uses standard HTTP codes to indicate the success or failure of your requests.

| Status Code | Description                             |
| ----------- | --------------------------------------- |
| 200         | Successful request.                     |
| 400         | Check that the parameters were correct. |
| 401         | The API key used was missing.           |
| 403         | The API key used was invalid.           |
| 404         | The resource was not found.             |
| 429         | The rate limit was exceeded.            |
| 5xx         | Indicates an error with Cros servers.   |
