Connect check-in and check-out to your own systems via API
The Yoffix Open API lets other systems confirm check-ins and check people out in Yoffix. A badge reader at the office entrance can confirm someone's desk booking the moment they walk in, so nobody has to check in separately in the app.
What you can check in
The API works with desk and zone bookings, room bookings, visitors, and parking. A parking space booked together with a desk follows the desk: when the desk is confirmed or checked out, the parking space is too.
Create an API key
Admins create the API key under Settings → Integrations → Open API. One key covers your whole company. Send it in the X-Api-Key header with every request, and store it like a password in your integration's secret storage.
Base URL and endpoints
All requests go to https://api.app.yoffix.com/open-api.
POST /v1/check-ins/confirmconfirms a check-in.POST /v1/check-ins/check-outchecks out a confirmed check-in.POST /v1/check-ins/lookupfinds the check-ins that match a badge scan.GET /v1/check-ins/{id}returns a single check-in.
Two ways to identify a booking
If your system knows the Yoffix ID, send it directly: the booking ID for a desk, the calendar event ID for a room, the guest ID for a visitor, or the parking booking ID. If your system only knows who scanned where, send the access event instead, with the badge ID, the reader, the gate or door, and the direction (in or out). Yoffix then finds the matching booking itself.
Send occurredAt with the time of the scan. Yoffix checks it against the check-in window, and without it the time the request arrives counts instead.
Check in with a badge reader
Your access system sends the badge ID, reader and access point to the lookup endpoint.
Yoffix returns the matching check-ins and a recommended action: confirm, check out, or none.
Your system sends that command with the same idempotency key and access data.
Avoid duplicate check-ins
Send an Idempotency-Key with every confirm and check-out, either as a header or in the request body. Access systems should use the device's own event ID. If the same key arrives twice for the same command, Yoffix returns the original response and changes nothing. If a key is reused for a different command, the request fails with DUPLICATE. Confirming a check-in that is already confirmed also counts as a success.
Errors
Every error returns success: false, a readable message, and an error code your integration can act on. A missing or wrong key returns INVALID_API_KEY. A badge Yoffix cannot match to anyone in your company returns UNKNOWN_MEDIA, and an unknown booking returns SUBJECT_NOT_FOUND. A scan outside the check-in window returns OUTSIDE_WINDOW. A check-in that has already been checked out, has expired or was cancelled returns ALREADY_CHECKED_OUT, EXPIRED or CANCELLED.
API reference
The full reference, with request and response examples for every endpoint, is at openapi-docs.yoffix.com. For questions, contact support@yoffix.com.
Related articles: Check-in