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

# Troubleshooting

> Common issues and solutions for the Exchange Rates API

## Authentication Errors

### Invalid API Key (401)

**Error Response:**

```json theme={null}
{
  "success": false,
  "error": {
    "code": 401,
    "type": "invalid_api_key",
    "info": "Invalid or missing API key."
  }
}
```

**Fix:**

1. Check API key format: `buderim_abc123...`
2. Use correct header: `Authorization: Bearer your_api_key`
3. Verify key is active in dashboard

### Account Suspended (401)

**Error Response:**

```json theme={null}
{
  "success": false,
  "error": {
    "code": 401,
    "type": "account_suspended", 
    "info": "Account is suspended. Please contact support."
  }
}
```

**Causes:**

* Overdue payment
* Terms violation
* Billing issues

**Fix:** Check dashboard and contact support if needed.

## Rate Limits

### Monthly Quota Exceeded (429)

**Error Response:**

```json theme={null}
{
  "success": false,
  "error": {
    "code": 429,
    "type": "rate_limit_exceeded",
    "info": "Monthly quota of 5000 requests exceeded. Quota resets on your next billing cycle."
  }
}
```

**Fix:**

* Wait until next billing cycle for reset
* Cache responses (rates update once daily at 4 PM AEST)
* Upgrade plan for higher quota

### Free Plan Limit (429)

The free plan allows 300 requests across authenticated endpoints.

**Fix:**

* Wait until the next monthly reset
* Upgrade for higher limits

## Data Issues

### Stale Data

**Indicators:**

* `X-Data-Stale: true` header
* `"stale": true` in response

**Cause:** RBA hasn't updated (weekends, holidays, technical issues)

**Action:** No action needed - system recovers when RBA updates.

### Historical Data Not Found (404)

**Error Response:**

```json theme={null}
{
  "success": false,
  "error": {
    "code": 404,
    "type": "not_found",
    "info": "No data available for date 2017-12-31"
  }
}
```

**Causes:**

* Date before 2018-01-01
* Weekend (RBA publishes Monday-Friday only)
* Australian public holiday
* Future date

## Technical Issues

### Network Timeouts

**Fix:**

1. Check internet connection
2. Test: `curl -I https://api.exchangeratesapi.com.au/status`
3. Check firewall allows HTTPS (port 443)
4. Implement retry with exponential backoff

### CORS Errors

**Cause:** Browser security blocks direct API calls with authentication.

**Fix:**

* Use a backend proxy for API calls
* Never put API keys in frontend code
* For quick checks, the public `/status` and `/symbols` endpoints require no key

## Quick Diagnostics

### 1. Test Status

```bash theme={null}
curl https://api.exchangeratesapi.com.au/status
```

Should return `"status": "operational"`

### 2. Test Authentication

```bash theme={null}
curl -H "Authorization: Bearer your_api_key" \
     https://api.exchangeratesapi.com.au/latest
```

Should return rate data

### 3. Check Rate Limits

Look for headers:

```
X-RateLimit-Limit-Monthly: 5000
X-RateLimit-Remaining-Monthly: 4847
```

## Contacting Support

Include:

* Email address and plan type
* Exact error message
* Request ID from `X-Request-Id` header
* Sample cURL command (API key redacted)

Contact us at [https://www.exchangeratesapi.com.au/contact](https://www.exchangeratesapi.com.au/contact)
