Ticket Validation API

REST API endpoints for ticket validation, check-in, and attendee lookup.

6 min readUpdated 2025-01-12

The Validation API enables custom check-in integrations, third-party scanner apps, and automated access control systems.

Validate Ticket

json
// POST /v1/tickets/validate
// Validates a ticket without checking in

Request:
{
  "ticket_id": "TKT-ABC123-XYZ",
  "event_id": "evt_abc123"     // Optional, for faster lookup
}

Response (200 OK):
{
  "valid": true,
  "ticket": {
    "id": "TKT-ABC123-XYZ",
    "type": "General Admission",
    "attendee_name": "Jane Doe",
    "checked_in": false,
    "checked_in_at": null
  }
}

Response (400 Bad Request):
{
  "valid": false,
  "error": "ALREADY_CHECKED_IN",
  "checked_in_at": "2025-07-15T09:15:00Z"
}

Check-In Ticket

json
// POST /v1/tickets/checkin
// Validates AND marks ticket as checked in

Request:
{
  "ticket_id": "TKT-ABC123-XYZ",
  "scanner_id": "entrance_main",  // Optional: tracking
  "location": {                   // Optional: GPS
    "lat": 34.8697,
    "lng": -111.7610
  }
}

Response (200 OK):
{
  "success": true,
  "ticket": {
    "id": "TKT-ABC123-XYZ",
    "type": "General Admission",
    "attendee_name": "Jane Doe",
    "checked_in": true,
    "checked_in_at": "2025-07-15T09:30:00Z"
  }
}

API request tester

Interactive component coming soon

Error Codes

INVALID_TICKET

Ticket ID not found
HTTP: 404

ALREADY_CHECKED_IN

Ticket was already scanned
HTTP: 400
Includes: checked_in_at timestamp

WRONG_EVENT

Ticket belongs to different event
HTTP: 400

TICKET_CANCELLED

Ticket was refunded/cancelled
HTTP: 400

EVENT_NOT_STARTED

Check-in not open yet
HTTP: 400

Webhook Events

ticket.checked_in

Fires: When ticket is scanned
Data: ticket_id, attendee, timestamp, scanner_id

ticket.check_in_reverted

Fires: When check-in is undone
Data: ticket_id, reverted_by, reason
Use the /validate endpoint for pre-check (e.g., before event starts) and /checkin for actual entry. This prevents accidental early check-ins.

Ready to get started?

Create your first event on BrightStar — it's free.