Quickstart
Read a day of attendance in one request.
ProposedNot yet callable
This documents a design under review. Endpoints, payloads and field names may change before release.
Get a key
Create a key from the dashboard under Settings → API keys. For a first integration, issue one with attendance:read only — a key that cannot write cannot corrupt a roll while you are still experimenting.
export ONETAP_KEY=sk_live_4bc19...Your first request
curl "https://api.onetaplabs.com/v1/attendance?from=2026-07-19&to=2026-07-19" \
-H "Authorization: Bearer $ONETAP_KEY"Every request is authenticated the same way: a bearer token in the Authorization header. There are no session cookies and no unauthenticated endpoints.
Response shape
Lists share one envelope, so the same pagination code works against every collection.
{
"object": "list",
"has_more": true,
"next_cursor": "cur_9f21bd",
"data": [
{
"id": "att_7d3e91",
"status": "present",
"recorded_at": "2026-07-19T09:14:58Z",
"method": "device",
"student": { "id": "stu_2a77c1", "external_id": "2024CS118" },
"session": { "id": "ses_55ab20", "course_code": "CS101" }
}
]
}Follow next_cursor until has_more is false. Do not construct cursors yourself — they are opaque and their format will change.