Skip to main content
A sign-in through the API is not a second-class visit. It goes through the same pipeline as a kiosk sign-in: the host is notified by email, SMS, Teams or Slack, the badge is printed if the visit type prints one, the confirmation email goes out and every integration and webhook fires.

1. Pick the visit type

If you leave visit_type out, the location’s default visit type is used. That is fine for a single-flow reception. If you have several — “Visitor”, “Contractor”, “Delivery” — fetch them once and cache the ids:

2. Find out which fields it asks for

The questions a visitor answers are configured per visit type. GET /api/companies/{company_id}/fields returns them all, merged across visit types:
A field’s field_name is the key you send. Custom fields are no different from built-in ones — they are just extra keys in the body.
The API does not enforce field_status: "required". A visit created through the API with a required field missing is accepted, and shows up in the Backoffice with that column empty. Validate on your side if it matters to you.

3. Create the visit

cURL
Response
Keep data._id — it is the visitor id you need to sign them out again.
Set signed_in_source to "0" so the visit is recorded as a Backoffice/API sign-in rather than a kiosk one. It shows up as such in the Backoffice and in exports.

Notifying the right host

recipient is the host’s name as it should appear on the badge and in the notification. recipient_mail is where the notification goes. If you send a recipient that matches a host you already maintain in Vizito, use that host’s exact cn so reporting per host stays clean.

Backdating a sign-in

Send signed_in_frombo with an ISO 8601 timestamp to record a visit that happened earlier — useful when you are importing from another system:

4. Sign them out

Leave signed_out out and the visitor is signed out now; send an ISO 8601 timestamp to record a departure that already happened. To close several visits at once — an evacuation, an end-of-day sweep — use the bulk endpoint:
It answers per id, so you can see exactly which ones were already signed out:

5. See who is still inside

Returns the full list of visitors that are signed in and not signed out, respecting the location’s multi-day sign-out interval. This is the list an evacuation report should be built on.

All visitor endpoints

Filtering, updating, anonymising and exporting visits.