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

# Authentication

> How to authenticate with the NorthAxium Data API.

All REST API `/api/v1/*` endpoints require an API key passed in the `X-API-Key` request header.

The hosted [MCP server](/model-context-protocol) uses OAuth instead of API keys. Connect it from ChatGPT, Claude, Cursor, or another remote MCP client with `https://mcp.northaxiumdata.ca/mcp`.

<CodeGroup>
  ```python Python theme={null}
  import requests

  headers = {"X-API-Key": "your_api_key_here"}
  response = requests.get(
      "https://api.northaxiumdata.ca/api/v1/contracts",
      headers=headers
  )
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.northaxiumdata.ca/api/v1/contracts", {
    headers: { "X-API-Key": "your_api_key_here" }
  });
  ```

  ```bash cURL theme={null}
  curl -H "X-API-Key: your_api_key_here" \
    https://api.northaxiumdata.ca/api/v1/contracts
  ```
</CodeGroup>

## API tiers

| Tier           | Price         | Monthly quota | Daily limit | Burst limit | MCP access                |
| -------------- | ------------- | ------------: | ----------: | ----------: | ------------------------- |
| **Free**       | \$0           |           100 |      25/day |       5/min | Hosted OAuth MCP included |
| **Developer**  | \$29 CAD / mo |        10,000 |   1,000/day |      30/min | Hosted OAuth MCP included |
| **Pro**        | \$99 CAD / mo |       100,000 |  10,000/day |     120/min | Hosted OAuth MCP included |
| **Enterprise** | Custom        |        Custom |      Custom |      Custom | Hosted OAuth MCP included |

## Error responses

| Status | Code           | Meaning                                             |
| ------ | -------------- | --------------------------------------------------- |
| `401`  | `UNAUTHORIZED` | Missing or invalid API key                          |
| `429`  | `RATE_LIMITED` | Monthly quota, daily limit, or burst limit exceeded |

```json theme={null}
{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Missing API key. Pass your key in the X-API-Key header."
  }
}
```

## Rate limit headers

Every authenticated response includes rate limit headers so you can track the active rate-limit window:

```
X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 9987
X-RateLimit-Reset: 1714953600000
```

Monthly plan quotas are tracked separately as account usage in the dashboard. Daily and per-minute limits protect the API from sudden bursts and reset automatically as their windows expire. Hosted MCP tool calls count against the same account usage limits.

## Unprotected endpoints

`GET /health` does not require a key and can be used to verify API reachability.

## Sign up

Visit [northaxiumdata.ca](https://northaxiumdata.ca), sign up, and open your dashboard. In the API key section, click **Create API key** and copy the key from the popup. The full key is only shown when it is created or refreshed.
