Authentication
How to authenticate API requests with your heycici. API key.
API key
All REST API requests require two headers:
X-SaaS-Email: you@example.com
X-API-Key: re_your_api_key_here
Retrieve your API key from Settings → API Key.
Getting your API key
- Log in and go to Settings
- Under API Key, click Generate key (or copy the existing one)
- Store it securely — it will only be shown once
Making authenticated requests
curl https://re.heycici.com/api/saas/jobs \
-H "X-SaaS-Email: you@example.com" \
-H "X-API-Key: re_xxxxxxxxxxxx"
JavaScript example:
const headers = {
'X-SaaS-Email': 'you@example.com',
'X-API-Key': process.env.HEYCICI_API_KEY,
}
const res = await fetch('https://re.heycici.com/api/saas/jobs', { headers })
const jobs = await res.json()
Python example:
import requests
headers = {
"X-SaaS-Email": "you@example.com",
"X-API-Key": "re_xxxxxxxxxxxx",
}
jobs = requests.get("https://re.heycici.com/api/saas/jobs", headers=headers).json()
Base URLs
| Service | URL |
|---------|-----|
| REST API | https://re.heycici.com |
| Interactive docs (Swagger) | https://re.heycici.com/docs |
Error responses
| Code | Meaning |
|------|---------|
| 401 | Missing or invalid API key |
| 403 | Key valid but insufficient permissions |
| 429 | Rate limit exceeded — retry after Retry-After header |
Rate limits
Free tier: 60 requests/minute. Pro tier: 600 requests/minute.
Headers included on every response:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 43
X-RateLimit-Reset: 1746787200