Quickstart
This page shows the shortest path from “I have a JWT” to “I got data back”.
-
Prerequisites
You need:
- A valid Bearer JWT for your integration — see Authentication to exchange client credentials, then paste the token into Authorize in the API Reference.
- A
siteIdand acheckinIdyour caller is allowed to access. The site identifies where the checkin happened; the UUID identifies which checkin.
The base URL is:
https://aware-api.invalid/api/v1Every public route lives under
/api, with the version segment after that (/api/v1). On the deployed docs site the host is the same origin as this page (for example/api/v1). -
Read a checkin
curl -sS \-H "Authorization: Bearer $AWARE_ACCESS_TOKEN" \-H "Accept: application/json" \"https://aware-api.invalid/api/v1/sites/54321/checkins/people/8f5b9a4d-3c2e-4b1f-9d8a-72e6c1f0a4b3"const res = await fetch('https://aware-api.invalid/api/v1/sites/54321/checkins/people/8f5b9a4d-3c2e-4b1f-9d8a-72e6c1f0a4b3',{headers: {Authorization: `Bearer ${process.env.AWARE_ACCESS_TOKEN}`,Accept: 'application/json',},},)if (!res.ok) {const error = await res.json()throw new Error(`${error.type}: ${error.message}`)}const checkin = await res.json()console.log(checkin)A successful response looks like:
{"id": "8f5b9a4d-3c2e-4b1f-9d8a-72e6c1f0a4b3","siteId": 54321,"personId": 24680,"timestamp": "2026-05-12T22:15:33.000Z","status": "IN","entry": {"source": "USER","timestamp": "2026-05-12T22:15:33.000Z"},"breaks": []} -
Common headers to know
Authorization—Bearer <jwt>, required on every protected request.Idempotency-Key— send on writes to make retries safe. See Idempotency.X-Request-Id— we echo this back in every response. Send your own to make debugging easier.RateLimit-Limit,RateLimit-Remaining,RateLimit-Reset— returned when rate limiting applies. See Rate limits.
-
Next steps