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

  1. Log in and go to Settings
  2. Under API Key, click Generate key (or copy the existing one)
  3. 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