The Charley API is a RESTful HTTP API that powers the dashboard. You can use it to build custom integrations, automate device management, or pull analytics into your own systems.
Base URL
https://api.charleyanalytics.com
All endpoints are prefixed with /api.
Authentication
The API uses Bearer token authentication with Auth0-issued JWTs.
curl https://api.charleyanalytics.com/api/session \
-H "Authorization: Bearer <your_token>"
To obtain a token programmatically, use the Auth0 Client Credentials flow with your organization’s API audience.
Tokens are short-lived (typically 24 hours). Your application should handle token refresh automatically.
All responses return JSON. Successful responses return a 2xx status code. Error responses include a message field:
{
"message": "Device not found"
}
Common Status Codes
| Code | Meaning |
|---|
200 | OK |
201 | Created |
204 | No Content (successful delete) |
400 | Bad Request — check your request body |
401 | Unauthorized — missing or invalid token |
403 | Forbidden — insufficient role |
404 | Not Found |
500 | Internal Server Error |
Rate Limiting
The API does not currently enforce rate limits, but we recommend no more than 60 requests per minute per organization for polling use cases.
Versioning
The API is currently unversioned. Breaking changes will be communicated in advance via email and the changelog.