Authentication
API key management, scopes, and security for the NexaDesk API
The NexaDesk API uses API keys for authentication. Each key is scoped to a specific workspace and set of permissions.
API Key Format
API keys follow this format:
fc_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Keys start with fc_live_ followed by a random alphanumeric string. Store your keys securely and never expose them in client-side code.
Creating an API Key
- Go to Settings > API Keys in your NexaDesk dashboard
- Click Create API Key
- Enter a name for the key (e.g., "Zapier Integration", "Internal CRM Sync")
- Select scopes:
- read — Access to GET endpoints (list and retrieve resources)
- write — Access to POST, PATCH, DELETE endpoints (create, update, delete resources)
- Optionally configure IP whitelisting (see below)
- Click Create
- Copy the key immediately — it will not be shown again
Using the API Key
Include the key as a Bearer token in the Authorization header:
curl https://chats.nexadesk.ai/api/v1/external/leads \
-H "Authorization: Bearer fc_live_xxxxxxxxxxxx"
Scopes
| Scope | Access |
|---|---|
read | GET endpoints — list and retrieve leads, contacts, conversations |
write | POST, PATCH, DELETE endpoints — create, update, delete resources |
A key with only read scope will receive a 403 Forbidden error when attempting write operations.
IP Whitelisting
For added security, restrict API key usage to specific IP addresses:
- Edit the API key in Settings > API Keys
- Add one or more IP addresses (IPv4 or IPv6)
- Save
Requests from non-whitelisted IPs will receive a 403 Forbidden response. Leave the whitelist empty to allow requests from any IP.
Rate Limits
Each API key is rate limited to 100 requests per minute using a sliding window. When the limit is exceeded:
- The API returns
429 Too Many Requests - The
Retry-Afterheader indicates how many seconds to wait
Rate limit headers are included in every response:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1711843200
Usage Tracking
API usage is tracked per key. View usage statistics in Settings > API Keys > [Key Name] > Usage:
- Total requests (today, this week, this month)
- Requests by endpoint
- Error rate
- Rate limit hits
Revoking Keys
To revoke an API key:
- Go to Settings > API Keys
- Click the menu icon on the key you want to revoke
- Click Revoke
- Confirm the action
Revoked keys are immediately invalidated. Any integration using the key will start receiving 401 Unauthorized responses.
Security Best Practices
- Never expose keys in client-side code — API keys should only be used from server-side applications
- Use the minimum required scope — If your integration only reads data, create a read-only key
- Enable IP whitelisting — Restrict keys to known server IPs when possible
- Rotate keys regularly — Create new keys and revoke old ones periodically
- Use separate keys per integration — If one is compromised, you can revoke it without affecting others

