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

# Authentication

> How to authenticate your requests to the Notifyflow APIs

Notifyflow uses two distinct authentication methods depending on whether you are querying dashboard assets or sending public delivery requests.

## Ingestion API Authentication (`x-api-key`)

To dispatch notifications from your backend server or applications, you must include your tenant's API Key in the custom HTTP header:
`x-api-key`

This authenticates the request to the high-throughput delivery pipeline.

### Finding your API Key

1. Go to the [Notifyflow Settings page](https://notifyflow-dashboard.vercel.app/dashboard/settings).
2. Look for the **Public API Key** panel.
3. Click the copy icon. You can also regenerate the key here if it gets compromised.

```bash Command Example theme={null}
curl -X POST https://notifyflow-api.onrender.com/v1/notify \
  -H "x-api-key: nf_live_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
```

***

## Dashboard API Authentication (Bearer Token)

The internal dashboard views (`/dashboard/*`) fetch statistics, logs, and template configs using JSON Web Tokens (JWT) signed by Supabase.

To query these endpoints manually, extract the active Supabase token and attach it as a Bearer token:
`Authorization: Bearer <access_token>`

```bash Dashboard Route Example theme={null}
curl -X GET https://notifyflow-api.onrender.com/api/v1/templates \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
```
