Skip to content
View Markdown

Loading documentation…

Ticket check-in

Record attendance through the active event-scoped check-in action.

Authenticate the scanner

A server integration can use HTTP Basic for an organizer with access to the event. The existing check-in UI can establish an event-scoped access-code session through its rate-limited exchange. Do not send raw access_code to the scan endpoint; that request is rejected. Keep organizer credentials on your server.

Check in a ticket

POST /{event_id}/acs/scan.json with Content-Type: application/json and {"scan":"attendee_uuid"}. The UUID identifies an order line, not the order or product.

{"scan":"44444444-4444-4444-8444-444444444444"}

A successful matching ticket returns an array like:

[{"id":"44444444-4444-4444-8444-444444444444","scanned":false,"checkedin":1}]

scanned reports whether it was already checked in before this request. checkedin:1 reports the resulting state. An empty array means no eligible matching ticket was found. Use the response to distinguish first check-in, repeat check-in and no match.

Handle scan errors

  • 400 invalid_ticket_id: missing/malformed UUID.

  • 403 authentication_failed: event access/session missing or raw access code submitted; invalid Basic credentials can use the shared legacy 403 format.

  • 405: unsupported method; use POST.

  • 415 json_required: incorrect content type.

  • 500 scan_failed: recording failed.

Read existing attendee scan state with include=scan on the ordinary attendee list. The active endpoint is documented in the reference; retired scanner/scanapi routes are not integration alternatives.

Remove or export scans

POST /{event_id}/acs/delete.json with {"Acs":{"id":"scan_record_id"}} removes an authorized event scan. This ID identifies the scan record. Its legacy success body has no reliable structured success flag; re-read attendance state afterwards.

CSV attendance and no-show downloads are available through /{event_id}/acs/export_to/csv and /{event_id}/acs/noshow_export_to/csv. See Exports for handling file responses and personal data.