Documentation

Tickets API

Issue and revoke tickets, and query them by guest or type.

Assign and query tickets for guests. All endpoints require the standard authentication headers. Write endpoints require the tickets:write scope; read endpoints require tickets:read.


POST /addTicket

Creates a ticket for a guest. If a ticket of the same type already exists for this guest it is overwritten (upsert behaviour). Requires tickets:write.

Request body fields

Field Type Required Description
userEmail string Email address of the guest to assign the ticket to
ticketType string Ticket type identifier (e.g. "ENTRY", "VIP", "WORKSHOP")
sessionId string ID of a specific session this ticket grants access to. Omit or pass "" for general admission
Responses
Status Response body Description
200 OK Ticket created successfully. Ticket was created or updated
400 Bad Request The request must include userEmail and ticketType in the body. userEmail or ticketType is missing
500 Internal Server Error Error creating ticket for the guest. Unexpected server error

Plus the standard auth errors (400/403/404/408/429) - see Authentication.

Example request

curl "https://api.event-vault.com/addTicket" \
  -X POST \
  -H "Content-Type: application/json" \
  -H "x-api-key: <your-api-key>" \
  -H "x-client-id: <your-client-id>" \
  -H "x-event-id: <your-event-id>" \
  -H "x-timestamp: $(date +%s%3N)" \
  -d '{
    "userEmail": "[email protected]",
    "ticketType": "ENTRY",
    "sessionId": ""
  }'

POST /removeTicket

Deletes a specific ticket from a guest. Both the email address and ticket type must match an existing ticket. Requires tickets:write.

Request body fields

Field Type Required Description
userEmail string Email address of the guest whose ticket should be removed
ticketType string Type of the ticket to remove; must match the ticketType used when created
Responses
Status Response body Description
200 OK Ticket removed successfully. Ticket was deleted
400 Bad Request The request must include userEmail and ticketType in the body. userEmail or ticketType is missing
404 Not Found Ticket not found for the user. No matching ticket exists for this guest and type
500 Internal Server Error Error removing ticket for the guest. Unexpected server error

Example request

curl "https://api.event-vault.com/removeTicket" \
  -X POST \
  -H "Content-Type: application/json" \
  -H "x-api-key: <your-api-key>" \
  -H "x-client-id: <your-client-id>" \
  -H "x-event-id: <your-event-id>" \
  -H "x-timestamp: $(date +%s%3N)" \
  -d '{
    "userEmail": "[email protected]",
    "ticketType": "ENTRY"
  }'

GET /getGuestTickets

Returns all tickets assigned to a specific guest. The guest email is passed as a query parameter. Requires tickets:read.

Query parameters

Parameter Type Required Description
userEmail string Email address of the guest whose tickets to retrieve

Response body (JSON array)

[
  {
    "EMAIL": "[email protected]",
    "TIER": "ENTRY",
    "sessionId": ""
  }
]

Example request

curl "https://api.event-vault.com/getGuestTickets?userEmail=jane.doe%40example.com" \
  -H "x-api-key: <your-api-key>" \
  -H "x-client-id: <your-client-id>" \
  -H "x-event-id: <your-event-id>" \
  -H "x-timestamp: $(date +%s%3N)"

GET /getTicketsByType

Returns all tickets of a specific type for the event. Useful for checking how many guests hold a particular tier. The ticket type is passed as a query parameter. Requires tickets:read.

Query parameters

Parameter Type Required Description
ticketType string Ticket type to filter by (e.g. "ENTRY", "VIP")

Response body (JSON array)

[
  {
    "EMAIL": "[email protected]",
    "TIER": "VIP",
    "sessionId": ""
  }
]

Example request

curl "https://api.event-vault.com/getTicketsByType?ticketType=VIP" \
  -H "x-api-key: <your-api-key>" \
  -H "x-client-id: <your-client-id>" \
  -H "x-event-id: <your-event-id>" \
  -H "x-timestamp: $(date +%s%3N)"

GET /getAllTickets

Returns all tickets for the event across all guests and ticket types. No request body or query parameters required. Requires tickets:read.

Response body (JSON array)

[
  {
    "EMAIL": "[email protected]",
    "TIER": "ENTRY",
    "sessionId": ""
  }
]

Example request

curl "https://api.event-vault.com/getAllTickets" \
  -H "x-api-key: <your-api-key>" \
  -H "x-client-id: <your-client-id>" \
  -H "x-event-id: <your-event-id>" \
  -H "x-timestamp: $(date +%s%3N)"