Tickitto Events API

The Events API from Tickitto — 2 operation(s) for events.

OpenAPI Specification

tickitto-events-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Authentication Events API
  version: 1.0.0
tags:
- name: Events
paths:
  /api/events/:
    get:
      tags:
      - Events
      summary: Search For Events
      description: 'Retrieves events from the Tickitto inventory.


        The search endpoint is typically the first endpoint called to initiate an interaction with the Tickitto API and retrieves events within the date ranges specified.


        The Tickitto inventory is availability aware. Therefore, at the time of performing a search query, all events returned will have availability instances for the date range specified.


        If an event does not have any availability within the specified search date, it will not be returned in searches.


        The search endpoint supports text search as well as filters for different event categories, cities, countries, performers and more to create a powerful contextual search experience.


        The default timespan is 14 days.


        The endpoint supports pagination via the `skip` and `limit` parameters and the returned `X-Total-Count` header.'
      operationId: search_events
      security:
      - APIKeyHeader: []
      parameters:
      - name: t1
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          description: Start of the date range in which returned events should have availability. Defaults to today.
          examples:
          - '2027-01-17'
          title: T1
        description: Start of the date range in which returned events should have availability. Defaults to today.
      - name: t2
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          description: End of the date range in which returned events should have availability. Defaults to 14 days from now.
          examples:
          - '2027-07-21'
          title: T2
        description: End of the date range in which returned events should have availability. Defaults to 14 days from now.
      - name: category
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          description: Category or categories to restrict query to.
          examples:
          - - Sports
            - Bus Tours
            - Attractions
            - Family-Friendly
          default: []
          title: Category
        description: Category or categories to restrict query to.
      - name: city
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          description: City or cities to restrict query to.
          examples:
          - - Berlin
            - Dubai
            - London
          default: []
          title: City
        description: City or cities to restrict query to.
      - name: state
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          description: State or states to restrict query to.
          examples:
          - - Virginia
            - California
            - Texas
          default: []
          title: State
        description: State or states to restrict query to.
      - name: region
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          description: Region or regions to restrict the query to.
          examples:
          - - Derbyshire
            - Umm Al-Quwain
          default: []
          title: Region
        description: Region or regions to restrict the query to.
      - name: country
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          description: Countries to restrict query to.
          examples:
          - - United Arab Emirates
            - United Kingdom
            - Germany
          default: []
          title: Country
        description: Countries to restrict query to.
      - name: country_code
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            minLength: 2
            maxLength: 2
            pattern: '[A-Z][A-Z]'
          description: Two-letter ISO country codes to restrict query to.
          examples:
          - - AE
            - GB
            - DE
          default: []
          title: Country Code
        description: Two-letter ISO country codes to restrict query to.
      - name: performer
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          description: Performers to restrict query to.
          default: []
          title: Performer
        description: Performers to restrict query to.
      - name: venue
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          description: Venues to restrict query to.
          default: []
          title: Venue
        description: Venues to restrict query to.
      - name: event_type
        in: query
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/EventType'
          description: Event types to restrict the query to.
          default: []
          title: Event Type
        description: Event types to restrict the query to.
      - name: min_price
        in: query
        required: false
        schema:
          anyOf:
          - type: number
            minimum: 0.0
          - type: string
            pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          - type: 'null'
          description: The minimum price to restrict the query to.
          title: Min Price
        description: The minimum price to restrict the query to.
      - name: max_price
        in: query
        required: false
        schema:
          anyOf:
          - type: number
            exclusiveMinimum: 0.0
          - type: string
            pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          - type: 'null'
          description: The maximum price to restrict the query to.
          title: Max Price
        description: The maximum price to restrict the query to.
      - name: currency
        in: query
        required: false
        schema:
          type: string
          description: Currency to both display event prices and to restrict the min/max price query to.
          default: GBP
          title: Currency
        description: Currency to both display event prices and to restrict the min/max price query to.
      - name: text
        in: query
        required: false
        schema:
          type: string
          description: Text to perform a search of events with.
          examples:
          - marina dinner cruise
          default: ''
          title: Text
        description: Text to perform a search of events with.
      - name: range
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Maximum distance from the requested city or cities, in km.
          default: 0
          title: Range
        description: Maximum distance from the requested city or cities, in km.
      - name: skip
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
            minimum: 0
          - type: 'null'
          description: Number of results to skip for pagination; see also `limit` and the `X-Total-Count` response header.
          title: Skip
        description: Number of results to skip for pagination; see also `limit` and the `X-Total-Count` response header.
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          exclusiveMinimum: 0
          description: Number of results to return for pagination; see also `skip` and the `X-Total-Count` response header.
          default: 100
          title: Limit
        description: Number of results to return for pagination; see also `skip` and the `X-Total-Count` response header.
      - name: partial_match
        in: query
        required: false
        schema:
          type: boolean
          description: Perform partial/substring text matching, includes fuzzy search (max 1 character change)
          default: false
          title: Partial Match
        description: Perform partial/substring text matching, includes fuzzy search (max 1 character change)
      - name: sort_by
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/ResultSort'
          - type: 'null'
          description: Sort order to use.If not specified, the default sort order is textual relevance if applicable, else geographical distance if applicable, else an arbitrary stable order.
          title: Sort By
        description: Sort order to use.If not specified, the default sort order is textual relevance if applicable, else geographical distance if applicable, else an arbitrary stable order.
      - name: event_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: List of event IDs to retrieve.
          examples:
          - - T849
            - T850
          title: Event Ids
        description: List of event IDs to retrieve.
      - name: should_raise
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Should Raise
      - name: profile_name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Profile name
          title: Profile Name
        description: Profile name
      - name: hostname
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Associated hostname
          title: Hostname
        description: Associated hostname
      - name: accept-language
        in: header
        required: false
        schema:
          type: string
          default: en
          title: Accept-Language
      - name: origin
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Origin
      - required: false
        description: Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.
        example: 123e4567-e89b-12d3-a456-426614174000
        schema:
          type: string
        name: X-Correlation-ID
        in: header
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/APIEvent'
                title: Response Search Events
          headers:
            X-Total-Count:
              schema:
                type: integer
              description: The total number of events that exist for this query, ignoring pagination.
            X-Request-ID:
              schema:
                type: string
                format: uuid
              description: Server-generated UUID corresponding to this specific response and its initiating request.
              example: 123e4567-e89b-12d3-a456-426614174000
            X-Correlation-ID:
              schema:
                type: string
                format: uuid
              description: Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.
              example: 123e4567-e89b-12d3-a456-426614174000
        '401':
          content:
            application/json:
              example:
                request_id: REQUEST123
                detail:
                - type: authentication_error.insufficient_permissions
                  msg: Invalid API key - this API key does not have the required permissions to access this resource
                  loc: []
                - type: authentication_error.invalid_key
                  msg: Invalid API key - this API key either does not exist or is invalid
                  loc: []
                - type: authentication_error.key_missing
                  msg: An API key is required to access this endpoint
                  loc: []
              schema:
                $ref: '#/components/schemas/ErrorBody'
          description: Unauthorized
          headers:
            X-Request-ID:
              schema:
                type: string
                format: uuid
              description: Server-generated UUID corresponding to this specific response and its initiating request.
              example: 123e4567-e89b-12d3-a456-426614174000
            X-Correlation-ID:
              schema:
                type: string
                format: uuid
              description: Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.
              example: 123e4567-e89b-12d3-a456-426614174000
        '404':
          content:
            application/json:
              example:
                request_id: REQUEST123
                detail:
                - type: event_error.event_not_found
                  msg: The requested event could not be found
                  loc: []
              schema:
                $ref: '#/components/schemas/ErrorBody'
          description: Not Found
          headers:
            X-Request-ID:
              schema:
                type: string
                format: uuid
              description: Server-generated UUID corresponding to this specific response and its initiating request.
              example: 123e4567-e89b-12d3-a456-426614174000
            X-Correlation-ID:
              schema:
                type: string
                format: uuid
              description: Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.
              example: 123e4567-e89b-12d3-a456-426614174000
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          headers:
            X-Request-ID:
              schema:
                type: string
                format: uuid
              description: Server-generated UUID corresponding to this specific response and its initiating request.
              example: 123e4567-e89b-12d3-a456-426614174000
            X-Correlation-ID:
              schema:
                type: string
                format: uuid
              description: Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.
              example: 123e4567-e89b-12d3-a456-426614174000
  /api/events/{event_id}:
    get:
      tags:
      - Events
      summary: Get Event By Id
      description: This endpoint can be used to retrieve an event by its ID. You will need to pass the event_id as a URL parameter.
      operationId: get_event
      security:
      - APIKeyHeader: []
      parameters:
      - name: event_id
        in: path
        required: true
        schema:
          type: string
          title: Event Id
      - name: currency
        in: query
        required: false
        schema:
          type: string
          description: Currency to display event prices.
          default: GBP
          title: Currency
        description: Currency to display event prices.
      - name: should_raise
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Should Raise
      - name: profile_name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Profile name
          title: Profile Name
        description: Profile name
      - name: hostname
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Associated hostname
          title: Hostname
        description: Associated hostname
      - name: accept-language
        in: header
        required: false
        schema:
          type: string
          default: en
          title: Accept-Language
      - name: origin
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Origin
      - required: false
        description: Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.
        example: 123e4567-e89b-12d3-a456-426614174000
        schema:
          type: string
        name: X-Correlation-ID
        in: header
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIEvent'
          headers:
            X-Request-ID:
              schema:
                type: string
                format: uuid
              description: Server-generated UUID corresponding to this specific response and its initiating request.
              example: 123e4567-e89b-12d3-a456-426614174000
            X-Correlation-ID:
              schema:
                type: string
                format: uuid
              description: Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.
              example: 123e4567-e89b-12d3-a456-426614174000
        '401':
          content:
            application/json:
              example:
                request_id: REQUEST123
                detail:
                - type: authentication_error.insufficient_permissions
                  msg: Invalid API key - this API key does not have the required permissions to access this resource
                  loc: []
                - type: authentication_error.invalid_key
                  msg: Invalid API key - this API key either does not exist or is invalid
                  loc: []
                - type: authentication_error.key_missing
                  msg: An API key is required to access this endpoint
                  loc: []
              schema:
                $ref: '#/components/schemas/ErrorBody'
          description: Unauthorized
          headers:
            X-Request-ID:
              schema:
                type: string
                format: uuid
              description: Server-generated UUID corresponding to this specific response and its initiating request.
              example: 123e4567-e89b-12d3-a456-426614174000
            X-Correlation-ID:
              schema:
                type: string
                format: uuid
              description: Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.
              example: 123e4567-e89b-12d3-a456-426614174000
        '404':
          content:
            application/json:
              example:
                request_id: REQUEST123
                detail:
                - type: event_error.event_not_found
                  msg: The requested event could not be found
                  loc: []
              schema:
                $ref: '#/components/schemas/ErrorBody'
          description: Not Found
          headers:
            X-Request-ID:
              schema:
                type: string
                format: uuid
              description: Server-generated UUID corresponding to this specific response and its initiating request.
              example: 123e4567-e89b-12d3-a456-426614174000
            X-Correlation-ID:
              schema:
                type: string
                format: uuid
              description: Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.
              example: 123e4567-e89b-12d3-a456-426614174000
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          headers:
            X-Request-ID:
              schema:
                type: string
                format: uuid
              description: Server-generated UUID corresponding to this specific response and its initiating request.
              example: 123e4567-e89b-12d3-a456-426614174000
            X-Correlation-ID:
              schema:
                type: string
                format: uuid
              description: Optional transaction reference provided by the client. Used to correlate API requests and responses with client flow in logs, errors etc.
              example: 123e4567-e89b-12d3-a456-426614174000
components:
  schemas:
    PersonalisationField:
      type: string
      enum:
      - prefix
      - first_name
      - last_name
      - phone_number
      - email
      - birthdate
      - house_number
      - street_name
      - postal_code
      - country_code
      - city
      - nationality
      title: PersonalisationField
    PersonalisationFieldConstraints:
      properties:
        regex:
          anyOf:
          - type: string
          - type: 'null'
          title: Regex
          description: The regular expression that the field input should validate against
      type: object
      title: PersonalisationFieldConstraints
    ResultSort:
      type: string
      enum:
      - price_asc
      - price_desc
      - popularity
      title: ResultSort
    EventType:
      type: string
      enum:
      - Standard
      - Cinema
      title: EventType
      description: 'Event type classification.


        - STANDARD: (Currently) All non-cinema events

        - CINEMA: All cinema experiences'
    APIPickupPoint:
      properties:
        latitude:
          type: number
          title: Latitude
          description: Latitude in degrees
          examples:
          - 1.23456789
        longitude:
          type: number
          title: Longitude
          description: Longitude in degrees
          examples:
          - 1.23456789
        id:
          type: string
          title: Id
          description: Machine identifier for this place
          default: ''
          examples:
          - '123'
        pickup_point_name:
          type: string
          title: Pickup Point Name
          description: Friendly pickup point name
          examples:
          - North Hotel
        pickup_point_address:
          type: string
          title: Pickup Point Address
          description: Street address of the pickup point
          examples:
          - ''
      type: object
      required:
      - latitude
      - longitude
      - pickup_point_name
      - pickup_point_address
      title: APIPickupPoint
    Price:
      properties:
        amount:
          type: string
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Amount
          description: Monetary value of this price in the given currency, with decimal point i.e. not integer format
          examples:
          - '3.99'
        currency:
          type: string
          maxLength: 3
          minLength: 3
          pattern: '[A-Z][A-Z][A-Z]'
          title: Currency
          description: ISO 4217 code for the currency in which the item's prices are sent
          examples:
          - GBP
      type: object
      required:
      - amount
      - currency
      title: Price
      description: Represents an absolute monetary value in a particular currency. Cannot be negative.
    APIEvent:
      properties:
        cancellation_policy_information:
          items:
            type: string
          type: array
          title: Cancellation Policy Information
          description: Cancellation and refund policy for the item itself.
          default: []
          examples:
          - - Attendees must cancel at least 3 days in advance.
            - 50% of total price refundable only.
        cancellation_policy:
          type: string
          title: Cancellation Policy
          description: (DEPRECATED) Cancellation policy for the item itself.
          deprecated: true
        delivery_methods:
          items:
            $ref: '#/components/schemas/DeliveryMethod'
          type: array
          uniqueItems: true
          title: Delivery Methods
          description: List of supported delivery methods.
          default: []
          examples:
          - - document
            - collection
            - external
            - eticket
            - print
        performers:
          anyOf:
          - items:
              $ref: '#/components/schemas/EventPerformer'
            type: array
          - type: 'null'
          title: Performers
          description: List of performers, sports teams or competitors involved in this event, if applicable.
          default: []
        popularity:
          anyOf:
          - type: number
            maximum: 5.0
            minimum: 1.0
          - type: 'null'
          title: Popularity
          description: Event's popularity with end users, out of 5.
          examples:
          - 4.5
        duration:
          anyOf:
          - type: integer
          - type: 'null'
          title: Duration
          description: Number of minutes an instance of this event typically lasts.
          examples:
          - 90
        event_type:
          $ref: '#/components/schemas/EventType'
          description: 'Type of event. (Note: standard currently refers to all non-cinema events.)'
          default: Standard
        tags:
          anyOf:
          - items:
              type: string
            type: array
            uniqueItems: true
          - type: 'null'
          title: Tags
          description: List of keywords for this event, used in search.
        is_tbd:
          $ref: '#/components/schemas/IsTbd'
          description: Whether the event date and/or time are to be determined.
          default:
            time: false
            date: false
        no_fulfilment:
          type: boolean
          title: No Fulfilment
          description: When true there should be no post-purchase fulfilment actions taken even if a ticket is present
          default: false
        images:
          items:
            $ref: '#/components/schemas/Image'
          type: array
          title: Images
          description: URLs of images which represent this event.
          default: []
          examples:
          - - desktop: https://placekitten.com/g/1000/1000
              mobile: https://placekitten.com/g/1000/1000
            - desktop: https://place-puppy.com/1000x1000
              thumbnail: https://place-puppy.com/1000x1000
        videos:
          items:
            type: string
          type: array
          title: Videos
          description: Links to videos that represent this event, such as trailers.
          default: []
        admission_type:
          $ref: '#/components/schemas/AdmissionType'
          description: Type which determines entrant admission process; see https://docs.tickitto.com/events/overview.
        cancellation_allowed:
          type: boolean
          title: Cancellation Allowed
          description: Whether the ticket buyer may cancel this event after purchase.
          default: false
        personalisations_required:
          anyOf:
          - $ref: '#/components/schemas/PersonalisationFields'
          - type: 'null'
          description: Fields required for ticket personalisation, if any,
          examples:
          - fields:
              country_code:
                regex: ^(AF|AX|AL|DZ|AS|AD|AO|AI|AQ|AG|AR|AM|AW|AU|AT|AZ|BS|BH|BD|BB|BY)$
              first_name: {}
              last_name: {}
              phone_number: {}
        delayed_fulfilment:
          type: boolean
          title: Delayed Fulfilment
          description: Whether or not this event has delayed voucher fulfilment.
          default: false
        venue_location:
          items:
            $ref: '#/components/schemas/APIEventVenue'
          type: array
          title: Venue Location
          description: List of locations where this event occurs.
          default: []
          examples:
          - - id: '123'
              latitude: 1.2345678
              longitude: 1.2345678
              venue_address: 1 Event Way, Bristol
              venue_name: Event Stadium
            - id: '321'
              latitude: 1.2345678
              longitude: 1.2345678
              venue_address: 2 Event Lane, Bristol
              venue_name: Event World
        event_id:
          type: string
          title: Event Id
          description: Unique identifier for this event.
          examples:
          - T123
        addon_required:
          type: boolean
          title: Addon Required
          description: Whether the ticket buyer must select addons to book this event.
          default: false
        addons:
          items:
            $ref: '#/components/schemas/Addon'
          type: array
          title: Addons
          description: List of available addons for this event
          default: []
        pickup_required:
          type: boolean
          title: Pickup Required
          description: Whether the ticket buyer must select a location to be picked up e.g. in a dune buggy or safari vehicle
          default: false
        booking_type:
          $ref: '#/components/schemas/BookingType'
          description: Type which determines booking process
          default: basket_booking
        from_price:
          $ref: '#/components/schemas/Price'
          description: Price of the cheapest ticket associated with this event.
          examples:
          - amount: 3.99
            currency: GBP
        soft_availability_t1:
          type: string
          format: date-time
          title: Soft Availability T1
          description: Beginning of the period for which this event is available to book
        soft_availability_t2:
          type: string
          format: date-time
          title: Soft Availability T2
          description: End of the period for which this event is available to book
        categories:
          items:
            anyOf:
            - type: string
            - type: 'null'
          type: array
          title: Categories
        city:
          anyOf:
          - type: string
          - type: 'null'
          title: City
          description: Name of the city in which the event takes place.
          examples:
          - Bristol
        region:
          anyOf:
          - type: string
          - type: 'null'
          title: Region
          description: Name of the region in which the event takes place.
          examples:
          - Derbyshire
        state:
          anyOf:
          - type: string
          - type: 'null'
          title: State
          description: Name of the state in which the event takes place, if applicable.
          examples:
          - Virginia
        country:
          anyOf:
          - type: string
          - type: 'null'
          title: Country
          description: Name of the country in which the event takes place.
          examples:
          - United Kingdom
        country_code:
          anyOf:
          - type: string
            pattern: '[A-Z][A-Z]'
          - type: 'null'
          title: Country Code
          description: ISO 3166-1 alpha-2 code for the country in which the event takes place.
          examples:
          - GB
        title:
          type: string
          title: Title
          description: Human-readable/marketing name for this event.
          examples:
          - The Event
        slug:
          type: string
          title: Slug
          description: SEO slug constructed from the event id
          examples:
          - 

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tickitto/refs/heads/main/openapi/tickitto-events-api-openapi.yml