> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.isoview.io/llms.txt.
> For full documentation content, see https://docs.isoview.io/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.isoview.io/_mcp/server.

# Authentication

All API requests require authentication. You can obtain your credentials from the [ISOview Portal](https://isoview.io/portal/account?tab=api).  Note that subscriptions are per-ISO and requests to an ISO for which you do not have a subscription will generate an `HTTP 403` error.

## Authentication methods

Requests can be authenticated with either a query parameter or an HTTP header.

### Query Parameter `api_key`

Pass your API key as an ordinary query parameter:

```bash
curl "https://api.isoview.io/v1/region/ercot/demand/forecast?api_key=YOUR_API_KEY"
```

```python
import requests

response = requests.get(
    "https://api.isoview.io/v1/region/ercot/demand/forecast",
    params={"api_key" : "API_KEY"}
)
data = response.json()
```

### HTTP Header `X-API-Key`

Alternatively, you can pass the API key as an HTTP header:

```bash
curl "https://api.isoview.io/v1/region/ercot/demand/forecast" \
  -H "X-API-Key: YOUR_API_KEY"
```

```python
import requests

headers = {"X-API-Key": "YOUR_API_KEY"}
response = requests.get(
    "https://api.isoview.io/v1/region/ercot/demand/forecast",
    headers=headers,
)
data = response.json()
```

Keep your API key secret. Do not commit them to version control or expose them in client-side code.

## Next Steps

Sign up at the [ISOview Portal](https://isoview.io/portal/account?tab=api) and get your API key.

Browse the full [API Reference](/api-reference) for detailed endpoint documentation.