Skip to main content

Redeem Ticket (Check In)

Validate and redeem a ticket in one step. This is the primary check-in endpoint โ€” it validates the ticket, marks it as redeemed, checks in the participant, and updates the booking status.

Endpointโ€‹

POST /v1/tickets/redeem

Required Scopeโ€‹

tickets:write

Request Bodyโ€‹

ParameterTypeRequiredDescription
ticket_codestringYesThe ticket code or full QR URL

Example Requestโ€‹

curl -X POST https://app.equipdash.com/api/v1/tickets/redeem \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ticket_code": "EQTK-A3F8X9B2"}'

Responseโ€‹

Success (200)โ€‹

{
"data": {
"success": true,
"ticket_code": "EQTK-A3F8X9B2",
"message": "Successfully checked in Sophie Marshall for Beginner Surf Lesson.",
"booking": {
"booking_id": 132,
"booking_reference": 132,
"customer_name": "Sophie Marshall",
"experience_name": "Beginner Surf Lesson",
"schedule_date": "March 28th 2026",
"schedule_time": "7:00 AM",
"schedule_id": 213,
"ticket_type": "participant",
"participant_name": "Sophie Marshall",
"rate_category": "Adult"
}
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-03-28T09:15:00Z"
}
}

Already Redeemed (409)โ€‹

{
"error": {
"code": "redemption_error",
"message": "This ticket was already checked in at 9:15 AM."
},
"meta": {
"request_id": "req_abc123"
}
}

Not Found (404)โ€‹

{
"error": {
"code": "redemption_error",
"message": "Ticket not found."
}
}

Side Effectsโ€‹

When a ticket is redeemed:

  1. Ticket status changes from active to redeemed
  2. The associated participant's checked_in_at timestamp is set
  3. The booking status changes to checked_in (if not already)

Scanner Integrationโ€‹

USB/Bluetooth barcode scanners act as keyboard input โ€” they type the scanned value followed by Enter. The QR code on each ticket encodes a URL like https://app.equipdash.com/t/EQTK-A3F8X9B2.

You can pass either format to this endpoint:

  • Just the code: EQTK-A3F8X9B2
  • The full URL: https://app.equipdash.com/t/EQTK-A3F8X9B2

The API automatically extracts the code from URLs.