Skip to content

Backend API Endpoints

Evan Rittenhouse edited this page Jun 14, 2024 · 4 revisions

Ingest

  • POST /api/data-ingests
    • Add new GenCon data
  • GET /api/data-ingests/latest-timestamp
    • Retrieve the latest event data ingest time

Events

  • GET /api/events/counts/daily
    • List count of events happening every day this year
    • Takes the same set of query parameters as /api/events (needs to show event counts based on filters)
  • GET /api/days/:dayID/events
    • List events on this day
    • Path params
      • dayID - ID of the day (formatted YYYYMMDD)
    • Query params
      • page (number) - results page
      • limit (number) - number of results per page
      • min-available-tickets (number) - minimum number of available tickets
      • event-types (comma-separated list of number) - list of event type IDs from the backend to filter for
      • experience (comma-separated enum: none, some, expert) - experience levels to include in results
      • age (enum: everyone, kidsonly, teen, mature, adult) - age requirements to include in results
      • game-systems (comma-separated list of number) - list of game system IDs from the backend to include
      • groups (comma-separated list of number) - list of group IDs from the backend to include
      • locations (comma-separated list of number) - list of location IDs from the backend to include
      • show-tournaments (boolean) - whether or not to show events that are part of a tournament
      • start-time (24-hr time-formatted string HH:MM) - event start time on given day
      • end-time (24-hr time-formatted string HH:MM) - event end time on given day
      • min-duration (number in hours) - smallest event duration to return
      • max-duration (number in hours) - largest event duration to return
      • search-text (string) - free form text search for event title
      • cost-min (number) - lowest event cost to search for
      • cost-max (number) - highest event cost to search for
  • GET /api/events
    • List all events for this year
    • Query params
      • page (number) - results page
      • limit (number) - number of results per page
      • min-available-tickets (number) - minimum number of available tickets
      • event-types (comma-separated list of number) - list of event type IDs from the backend to filter for
      • experience (comma-separated enum: none, some, expert) - experience levels to include in results
      • age (enum: everyone, kidsonly, teen, mature, adult) - age requirements to include in results
      • game-systems (comma-separated list of number) - list of game system IDs from the backend to include
      • groups (comma-separated list of number) - list of group IDs from the backend to include
      • locations (comma-separated list of number) - list of location IDs from the backend to include
      • show-tournaments (boolean) - whether or not to show events that are part of a tournament
      • start-time (24-hr time-formatted string HH:MM) - event start time on given day
      • end-time (24-hr time-formatted string HH:MM) - event end time on given day
      • min-duration (number in hours) - smallest event duration to return
      • max-duration (number in hours) - largest event duration to return
      • search-text (string) - free form text search for event title
      • cost-min (number) - lowest event cost to search for
      • cost-max (number) - highest event cost to search for
  • GET /api/events/:eventID
    • List details for an event
    • Path params
      • eventID - ID of the event from the backend (not the alphanumeric ID)
  • GET /api/events/game-id/:gameID
    • List details for an event by game ID
    • Path params
      • gameID - alphanumeric identifier for a game
  • GET /api/events/cost-range
    • List the max and min cost out of all events in the current year
  • GET /api/days/:dayID/events/cost-range
    • List the max and min cost out of all events on a given day
  • GET /api/events/types
    • List known event types for the current year
  • GET /api/events/game-systems
    • List known game systems for the current year
  • GET /api/events/locations
    • List known buildings that events occur in this year

Days

  • GET /api/days/:dayID/time-info
    • List earliest and latest event time blocks for a day
    • Path params
      • dayID - day identifier in YYYYMMDD

Organizers

  • GET /api/organizers/groups
    • List known organizer groups for events this year
Clone this wiki locally