When an attendee registers for a paid or free event in UniEvents, a uniqueDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Edfermachado/proyectoSistemas/llms.txt
Use this file to discover all available pages before exploring further.
ticketToken (UUID) is generated and stored on their attendees row. That token is encoded into a QR code displayed on the attendee’s ticket page. At the venue door, staff scan the QR and the mobile or web client sends the decoded token to POST /api/tickets/validate. The endpoint verifies the token, checks it has not already been used, marks it as scanned, and writes an audit row to scanLogs recording who scanned it and when.
POST /api/tickets/validate
Validates a QR ticket token, marks it as used by settingattendees.scannedAt = now(), and inserts a new row into scanLogs with the eventId, attendeeId, and the scannedBy user ID from the session.
Authentication
Required. The session must carry one of the following roles:| Role | Description |
|---|---|
tenant_admin | Faculty administrator |
event_manager | Manager assigned to the event |
superadmin | Platform-level superadmin |
access_control | Door staff role with scan-only permissions |
401 Unauthorized.
Request Body
The
ticketToken UUID decoded from the attendee’s QR code. This is a UUID string (e.g. "d290f1ee-6c54-4b01-90e6-d701748f0851").Response 200 — Access Permitted
The token is valid and has not been scanned before. The attendee row is updated and a scan log entry is created.
Always
true on a successful scan.Human-readable confirmation string:
"Acceso Permitido (200)".Summary of the validated attendee.
Response 404 — Token Not Found
No attendee record matches the provided token. The QR code may be malformed, forged, or belong to a different environment.
"Entrada no encontrada (404)"Response 409 — Already Scanned
The token was found but attendees.scannedAt is already set, meaning the ticket was previously validated.
"Entrada ya utilizada (409)"ISO 8601 timestamp of the original scan, so staff can see when and verify with the attendee.
Response 401 — Unauthorized
The request has no valid session or the authenticated user’s role is not in the allowed list.
"Unauthorized"Response 400 — Missing Token
The request body was received but the token field was absent or empty.
"Token is required"Error Summary
| Status | Condition |
|---|---|
200 | Token valid, attendee admitted, scan logged. |
400 | token field missing from request body. |
401 | Not authenticated or role not permitted. |
404 | No attendee found with that ticketToken. |
409 | Ticket was already scanned — scannedAt is returned. |
500 | Unexpected server or database error. |