Sundial Habits
Reference

Get Check-in History

GET
/api/v1/history

Read one habit’s recorded check-ins over up to 366 calendar days, including explicit undo records. Missing dates are incomplete. Results reflect server-synced data.

Authorization

accessKey
headerAuthorizationBearer <Sundial access key>

Query Parameters

habitID*string
Formatuuid
from*string
Match^\d{4}-\d{2}-\d{2}$
through*string
Match^\d{4}-\d{2}-\d{2}$

Response Body

Confirmed result.

application/json
  1. response
asOf*string
Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
Formatdate-time
checkIns*array<>
Example Request
curl -X GET 'https://api.sundialhabits.com/api/v1/history?habitID=00000000-0000-4000-8000-000000000002&from=2026-10-20&through=2026-10-20' \  -H 'Authorization: Bearer <ACCESS_KEY>'
Example Response
{  "asOf": "2019-08-24T14:15:22Z",  "checkIns": [    {      "habitID": "00000000-0000-4000-8000-000000000002",      "day": "2026-10-20",      "completed": true,      "timeZone": "America/Los_Angeles",      "revision": "1"    }  ]}