Skip to main content
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.

Response Format

All responses return JSON. Successful responses return a 2xx status code. Error responses include a message field:
{
  "message": "Device not found"
}

Common Status Codes

CodeMeaning
200OK
201Created
204No Content (successful delete)
400Bad Request — check your request body
401Unauthorized — missing or invalid token
403Forbidden — insufficient role
404Not Found
500Internal 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.