1. Attendance
Sety
  • Default module
    • Developer API Reference
    • Health
      • Health check
    • Incidents
      • Create incident
      • List incidents
      • Get incident
      • Cancel incident
      • Add note
    • Access Logs
      • List access logs
      • Access log stats
      • Create access log
      • Get current visitors
      • Checkout visitor
    • Threat Intelligence
      • List danger zones
      • Danger analytics for a location
      • Heatmap data
      • Safety score
      • Route safety analysis
    • Schemas
      • Error
      • PaginatedResponse
      • Subject
      • GeoPoint
      • Location
      • IncidentLocation
      • IncidentTimelineEvent
      • SLA
      • ResponderAssignment
      • TimelineEvent
      • Incident
      • CreateIncidentRequest
      • IncidentAnalytics
      • AccessCode
      • CreateAccessCodeRequest
      • ValidationResult
      • AccessLog
      • CurrentVisitor
      • DangerAnalytics
      • HeatmapResponse
      • SafetyScore
      • TimeAnalysis
      • LocationComparison
      • RouteSafety
      • RiskPrediction
      • IncidentPatterns
      • SafeZones
      • ApiKey
      • CreateApiKeyRequest
      • WebhookEndpoint
      • WebhookDelivery
  • Sety Checkpoint CP-1 – Device API
    • Sync & enrolment
      • Registration flag and pending commands
      • Report the result of a fingerprint enrolment
    • Attendance
      • Send one attendance event
        POST
      • Upload up to 100 saved events in one request
        POST
    • Commands
      • Report the outcome of each command
    • Status
      • Status report (only when Wi-Fi is already on)
    • Future
      • optional
        • Server time (fallback when NTP is blocked)
        • Check for a firmware update (placeholder)
    • Schemas
      • DeviceId
      • Uid
      • Timestamp
      • SyncResponse
      • Command
      • EnrollRequest
      • EnrollResponse
      • ScanRequest
      • ScanResponse
      • BatchRequest
      • BatchResponse
      • CommandResultsRequest
      • CommandResultsResponse
      • HeartbeatRequest
      • HeartbeatResponse
      • Error
  1. Attendance

Send one attendance event

POST
/device/scan
Called after a fingerprint match. Offline events saved on the SD card are uploaded through this
same call, oldest first, with the original scan time and offline: true.
The backend decides check-in vs check-out. Unknown UIDs are still stored and return 2xx.
Dedupe key: (device_id, uid, timestamp), or (device_id, event_id) when sent.

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Body Params application/jsonRequired

Examples

Responses

🟢200
application/json
Stored (also for duplicates and unknown UIDs)
Bodyapplication/json

🟠400BadRequest
🟠401Unauthorized
🟠403Forbidden
🟠404UnknownDevice
🟠429RateLimited
🔴500ServerError
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location '/device/scan' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "device_id": "MyDevice-A0CDCB",
    "uid": 12,
    "timestamp": "2026-10-06T13:07:32Z",
    "time_trusted": true,
    "offline": false
}'
Response Response Example
200 - checkIn
{
    "status": "ok",
    "duplicate": false,
    "display_name": "Ada Obi",
    "action": "check_in"
}
Modified at 2026-10-07 14:49:40
Previous
Report the result of a fingerprint enrolment
Next
Upload up to 100 saved events in one request
Built with