> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hlofiys.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Get all upcoming events with available seat counts

> Retrieves a list of all publicly visible, upcoming events, including a calculated count of available seats for each.
This is a public endpoint and does not require authentication.




## OpenAPI

````yaml api-reference/openapi.json get /api/events/upcoming
openapi: 3.0.0
info:
  title: Tandem IT API
  version: 1.0.0
  description: API for tandem it backend
servers:
  - url: https://tandem.hlofiys.xyz
    description: Production server
security: []
tags:
  - name: Documentation
    description: API documentation endpoint
paths:
  /api/events/upcoming:
    get:
      tags:
        - Events
      summary: Get all upcoming events with available seat counts
      description: >
        Retrieves a list of all publicly visible, upcoming events, including a
        calculated count of available seats for each.

        This is a public endpoint and does not require authentication.
      operationId: getUpcomingEvents
      responses:
        '200':
          description: >-
            Successful response. Returns an array of upcoming events with their
            available seat counts.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UpcomingEvent'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    UpcomingEvent:
      type: object
      required:
        - event_id
        - name
        - description
        - start_time
        - end_time
        - max_bookings_per_user
        - preview_image_url
        - is_visible
        - schedule
        - hall_id
        - available_seats_count
      properties:
        event_id:
          type: integer
          format: int64
        name:
          type: string
          description: Event name
        description:
          type: string
          description: Event description
        start_time:
          type: string
          format: date-time
          description: Event start time
        end_time:
          type: string
          format: date-time
          description: Event end time
        max_bookings_per_user:
          type: integer
          description: The maximum number of seats a single user can book for this event
        preview_image_url:
          type: string
          description: Link to download the event preview image
        is_visible:
          type: boolean
          description: >-
            Controls whether the event is displayed on the public-facing event
            list
        schedule:
          type: array
          items:
            $ref: '#/components/schemas/ScheduleItem'
        hall_id:
          type: integer
          format: int64
          description: Unique hall ID
        available_seats_count:
          type: integer
          description: The number of seats currently available for booking for this event
    Error:
      type: object
      required:
        - message
      properties:
        message:
          type: string
    ScheduleItem:
      type: object
      required:
        - time
        - description
      properties:
        time:
          type: string
          description: Time of the schedule item (for example, '15:00')
          example: '15:00'
        description:
          type: string
          description: Description of the schedule item

````