Public API v1 • SDK Module

SDK Attendance

Daily attendance scanning: scan a day badge and mark PRESENT for a specific date.

What it does

Attendance check-in is for "daily badges" (per day). You scan an attendance QR and the API records the person as PRESENT for a specific dayDate.

The API accepts QR strings with the prefix confera-attendance:. The server normalizes it.

Scopes

  • attendance:write – required

Best practice: use a dedicated gate key with only this scope.

Check-in

POST/api/public/v1/attendance/checkin
SDK
ts
await confera.attendance.checkin({
  qr: "confera-attendance:DAY1-XYZ",
  location: "Gate A",
  dayDate: "2026-02-03", // YYYY-MM-DD
});

Day date (important)

If you omit dayDate, the server defaults to "today". For multi-day conferences, your gate app should always send it explicitly.

Recommended
ts
const dayDate = new Date().toISOString().slice(0, 10);
await confera.attendance.checkin({ qr, location: "Gate A", dayDate });

Duplicate scans

If the person is already checked in for the same day, the API returns 409with duplicate: true. Treat that as a successful scan.

Gate tips

One tap flow

The scanning operator shouldn’t type. QR scan → immediate feedback.

Location naming

Keep location stable (e.g. "gate-a", "gate-b") so your reports stay clean.