Skip to main content

Checkins

A checkin records that an individual has arrived or reported for something: a court date, an appointment, or a service at a counter or kiosk. A checkin moves through a status (for example waiting to complete), can be tied to an event and client, and captures details such as location, service, and notes.

This page assumes the shared API Conventions for pagination, filtering, lifecycle actions, and references. All endpoints use your region's base URL and a Bearer token.

Endpoints

MethodPathDescription
GET/v1/checkinsList checkins
GET/v1/checkins/totalCount checkins matching filters
GET/v1/checkins/{uuid}Get a single checkin
GET/v1/checkins/{uuid}/pdfGet a generated PDF of the checkin
POST/v1/checkinsCreate a checkin
PATCH/v1/checkins/{uuid}Update a checkin
PUT/v1/checkins/{uuid}/archiveArchive a checkin
PUT/v1/checkins/{uuid}/restoreRestore an archived or deleted checkin
DELETE/v1/checkins/{uuid}Delete a checkin (soft delete)

The Checkin Object

FieldTypeDescription
uuidstringUnique identifier, generated when the checkin is created.
namestringName of the person checking in.
clientstringUUID of the associated client.
eventstringUUID of the associated event.
statusstringCheckin status, such as waiting or complete. Defaults to waiting.
phonestringPhone number for the checkin.
emailstringEmail for the checkin.
locationstringUUID of the location.
servicestringService the person is checking in for.
departmentstringDepartment the person is checking in for.
virtualinteger1 for a virtual checkin, 0 for in person. Defaults to 0.
languagestringLanguage code. Defaults to en.
notesstringNotes about the checkin.
dataobjectStructured data for the checkin, including fields copied from the create request and geolocation captured at checkin and checkout.
portalstringUUID of the portal the checkin came through.
urlstringUnique slug for the checkin's link.
completed_atstringWhen the checkin was completed.
created_bystringEmail or UUID of the creator.
created_atstringCreation timestamp, UTC.
updated_atstringLast update timestamp, UTC.
archived_atstringSet when the checkin is archived, otherwise null.
deleted_atstringSet when the checkin is deleted, otherwise null.

Create a Checkin

POST /v1/checkins

Request:

curl -X POST "$BASE_URL/v1/checkins" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Jane Doe",
"client": "{client_uuid}",
"event": "{event_uuid}",
"service": "Traffic Court",
"location": "{location_uuid}"
}'

Response (201): the created checkin.

Create Behavior

  • status: defaults to waiting.
  • virtual: defaults to 0 (in person). Set it to 1, true, yes, or y for a virtual checkin; any other value is treated as in person.
  • language: defaults to en.
  • event: when a valid event UUID is provided, that event's appearance is marked as checked-in.
  • data: send an explicit data object to set it exactly. If you do not, the checkin copies every field you submit except name, phone, email, client, event, location, and portal into data, so some standard fields may appear there too. A geolocation value is recorded in data.
  • Creating a checkin triggers a checkin_created auto message.

List Checkins

GET /v1/checkins

Response (200): a JSON array of checkin objects.

Query Parameters

ParameterDescription
searchPartial match within the checkin data.
namePartial match on the name.
clientFilter by client UUID.
eventFilter by event UUID.
statusExact match on status.
locationFilter by location.
serviceExact match on service.
departmentExact match on department.
virtualSet to 1 to return only virtual checkins.
inpersonSet to 1 to return only in-person checkins.
languageExact match on language.
phonePartial match on phone.
emailPartial match on email.
portalFilter by portal.
urlFilter by the checkin's link slug.
created_fromCheckins created on or after this date or datetime.
created_toCheckins created on or before this date or datetime.
created_byFilter by the creator.

Pagination and shaping (limit, skip, sort, sortDirection, fields) follow the shared conventions.

Get a Checkin

GET /v1/checkins/{uuid}

Returns the checkin object with its data decoded. Returns 404 with a message of Checkin {uuid} not found when no checkin matches.

Update a Checkin

PATCH /v1/checkins/{uuid}

Send only the fields you want to change, most often the status as the person progresses (for example to complete). Fields you send under data are merged into the existing data rather than replacing it, and geolocation, geolocation_checkout, and checkout_notes are recorded in data. Returns 404 when no checkin matches.

curl -X PATCH "$BASE_URL/v1/checkins/{checkin_uuid}" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"status": "complete"}'

Updating a checkin triggers a checkin_updated auto message.

Archive, Restore, and Delete

PUT /v1/checkins/{uuid}/archive
PUT /v1/checkins/{uuid}/restore
DELETE /v1/checkins/{uuid}

These follow the standard lifecycle conventions: archive and delete remove the checkin from default lists, delete is a soft delete, and restore returns it to active lists.

FAQs

What is a checkin used for?

It records that a person has reported for a court date, appointment, or service. Tie it to an event and client, track its status from waiting to complete, and use it to know who has arrived.

Does checking someone in update their event?

Yes. When you create a checkin with a valid event UUID, that event's appearance is marked as checked-in.

How do I capture extra details on a checkin?

Send an explicit data object with your custom fields. If you omit data, the checkin copies your submitted fields (except name, phone, email, client, event, location, and portal) into data, and geolocation is recorded there too.

How do I mark a checkin complete?

PATCH /v1/checkins/{uuid} with {"status": "complete"}. Updates merge into the existing data, so you can add checkout details in the same call.

How do I list who is currently waiting?

GET /v1/checkins?status=waiting. Add service, department, or location to narrow to a specific line, or event to a specific hearing.