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

# Authentication

> Authenticate requests to the PostOnce Public API with dashboard-generated API keys.

Send your API key as a bearer token on every request:

```http theme={null}
Authorization: Bearer po_live_xxxxx_xxxxx
```

## Create an API key

1. Sign in to the [PostOnce dashboard](https://postonce.to/dashboard).
2. Open **Preferences**.
3. Scroll to the **API Keys** section.
4. Enter a key name.
5. Choose the scopes the key should have.
6. Click **Create API key**.
7. Copy the token immediately and store it somewhere safe.

If you lose the token, create a new key and revoke the old one.

## Scopes

Current supported scopes:

* `accounts:read`
* `accounts:write`
* `media:read`
* `media:write`
* `posts:read`
* `posts:write`
* `workflows:read`
* `workflows:write`

If a key is missing a required scope, the API returns a `403` error with code `missing_scope`.

## Verify your key

```bash theme={null}
curl -s \
  -H "Authorization: Bearer po_live_xxxxx_xxxxx" \
  https://postonce.to/api/public/v1/accounts
```
