> For the complete documentation index, see [llms.txt](https://docs.ventrata.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ventrata.com/getting-started/getting-started.md).

# Authentication

OCTO uses Bearer authentication. To authenticate requests, send an API key as a Bearer token in the `Authorization` header:

```http
Authorization: Bearer {your_API_key}
```

The supplier issues your API key by creating a connection for your reseller account in Ventrata. The same connection also controls product access and applicable pricing.

The API key is a UUID value, for example: `5bd1629a-323e-4edb-ac9b-327ef51e6136`

{% hint style="warning" %}
Note that in Ventrata's implementation of OCTO, **the API key provides access to a single supplier**. You will have different API keys for each supplier you'd like to connect with.
{% endhint %}

To obtain an API key for Ventrata's test supplier account during development, see [Testing Credentials](/getting-started/test-credentials.md).

All API requests must be made over [HTTPS](https://en.wikipedia.org/wiki/HTTPS). Calls made over plain HTTP will fail.

Requests without authentication fail. If the token is invalid or deactivated by the supplier, the API returns `403 Forbidden`.

{% hint style="warning" %}
API keys must be kept secure. You are responsible for any bookings made with your API key. If your key is disclosed publicly, ask the supplier to delete and recreate your connection, or contact <connectivity@ventrata.com> to rotate the key.
{% endhint %}

Every `POST`, `PATCH`, and `DELETE` request must use the `Content-Type: application/json` header, and the request body must be a JSON-encoded string. Every endpoint will return JSON unless otherwise stated.
