Fever Sessions API

The goal of the Session Endpoint is to provide all information about the session (or ticket types) of a plan. The delay of the data is less than 10 minutes from reality. ## Request filters `POST /v1/sessions/search` accepts the following optional request body fields. Filters compose with the existing `plan_ids` / `session_ids` OR-union behaviour: the warehouse update window is applied as an extra `AND` constraint on top of that union. | Field | Type | Required | Description | |--------------------------|--------------------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `plan_ids` | `list[int]` | no | Restrict sessions to the given plans. Unchanged. | | `session_ids` | `list[int]` | no | Restrict to the given sessions. Unchanged. | | `updated_date_utc_from` | `string` (UTC datetime) | no | **Inclusive** lower bound on the session warehouse row's last-updated timestamp (`DT_LAST_UPDATED`). Format `YYYY-MM-DD HH:MM`; if only the date is sent, `00:00` is appended. Must be sent together with `updated_date_utc_to`. | | `updated_date_utc_to` | `string` (UTC datetime) | no | **Exclusive** upper bound on `DT_LAST_UPDATED`. Same format and pairing rules as `updated_date_utc_from`. | The applied predicate is the half-open interval `DT_LAST_UPDATED >= updated_date_utc_from AND DT_LAST_UPDATED = updated_date_utc_to`. - Either bound is not a valid `YYYY-MM-DD HH:MM` (or `YYYY-MM-DD`) string. ### Example request ```json POST /v1/sessions/search { "plan_ids": [12345], "session_ids": [], "updated_date_utc_from": "2026-05-24 00:00", "updated_date_utc_to": "2026-05-25 00:00" } ``` The response shape is unchanged — these filters only narrow which sessions are returned. ## Model documentation 📄 /sessions response entity model | Column Name | Description | Example value | |---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------| | `id` | ID of the session | 12345 | | `name` | Name of the session, providing a short description of the product the client purchased. | Adult Ticket | | `available_tickets` | Current number of available tickets for sale in the session. | 103 | | `capacity` | Current maximum number of tickets that can afford the session (sold + available). | 400 | | `end_date_utc` | UTC end date of the session. | 2025-03-21 22:59:00.000 Z | | `first_purchasable_date_utc` | UTC date of the first purchasable date of the session. | 2025-03-21 | | `is_addon` | Indicates whether the session is an addon. | FALSE | | `is_wait_list` | ⚠️ (_deprecated_) Indicates whether the session is actually a waitlist. This field is deprecated, it is now configured at plan level, not at session level | FALSE | | `plan_id` | ID of the plan associated with the session. | 12345 | | `start_date_utc` | UTC Start date of the session. | 2025-03-21 22:59:00.000 Z | | `venue.city` | City of the venue where the session takes place. | Madrid | | `venue.country` | Country of the venue where the session takes place in ISO3. | Spain | | `venue.name` | Name of the venue where the session takes place. | Retiro | | `venue.timezone` | Timezone of the venue where the session takes place. | Europe/Madrid | | `ticket_price` | Price of the ticket in the session. | 10 | | `ticket_price_tax_base` | Base price of the ticket in the session. | 8 | | `surcharge_per_ticket` | Surcharge applied to the ticket in the session. | 1 | | `surcharge_per_ticket_tax_base` | Base price of the surcharge per ticket | 1 | | `session_type_id` | Fever session-type identifier. Join key for `/reports/entitlements`. | 88123 | | `product_type` | Product type of the session (e.g. `TIMED_ENTRY`). Nullable — returns `null` when the session has no associated session type. | TIMED_ENTRY | | `customer_profile` | Target customer profile of the session (e.g. `ADULT`, `CHILD`). Nullable — returns `null` when the session has no associated session type. | ADULT | | `group_name` | Name of the session type group. Nullable — returns `null` when the session type has no associated group. | General Admission |

Operations 2

POST /sessions/search Request sessions #
GET /sessions/search/{search_id} Get sessions #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fever-sessions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fever-sessions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fever - Reporting Sessions API
  description: Access detailed event sales data through a reliable REST API.
  contact:
    name: Support
    email: data-support@feverup.com
  version: 1.5.0
  x-logo:
    url: https://res.cloudinary.com/fever/image/upload/ar_16:9,c_mpad,w_425/web/fever-logo-dark.jpg
servers:
- url: /v1
tags:
- name: Sessions
  description: The goal of the Session Endpoint is to provide all information about the session (or ticket types) of a plan.
paths:
  /sessions/search:
    post:
      tags:
      - Sessions
      summary: Request sessions
      description: Create a request to get sessions that belong to plans that are set as ready.The field session_ids can be used to filter the sessions in the report by id.The field plan_ids can be used to include only sessions from certain plans in the report.The union of the two sets will be used to filter the sessions.That is, if a session is in session_ids but its plan is not in plan_ids, it will be included, and viceversa.Optionally, the fields updated_date_utc_from and updated_date_utc_to can be used to restrict results to sessions whose warehouse row was last updated within the given half-open UTC window (>= from, < to). Both bounds must be sent together; sending only one returns 422.The search will be processed asynchronously, being able to fetch the result from the provided search ID.
      operationId: search_sessions_sessions_search_post
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: user-id-to-impersonate
        in: header
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: User id from the user that you want to impersonate
          title: User-Id-To-Impersonate
        description: User id from the user that you want to impersonate
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/SessionsParams'
              - type: 'null'
              title: Config
      responses:
        '202':
          description: Request was created successfully but is still running asynchronously.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchStatus'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                oneOf:
                - properties:
                    detail:
                      default: The request timed out. Please try again later
                      example: The request timed out. Please try again later
                      title: Detail
                      type: string
                  title: RequestTimeoutError
                  type: object
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                oneOf:
                - properties:
                    detail:
                      default: Server is busy. Please retry your query later
                      example: Server is busy. Please retry your query later
                      title: Detail
                      type: string
                  title: ServerBusyError
                  type: object
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                oneOf:
                - properties:
                    detail:
                      default: An internal server error occurred. Please try again later
                      example: An internal server error occurred. Please try again later
                      title: Detail
                      type: string
                  title: InternalServerError
                  type: object
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-codeSamples:
      - lang: bash
        source: "\ncurl -X POST \"https://<HOSTNAME>/v1/sessions/search\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n    \"session_ids\": [\n        123,\n        456\n    ],\n    \"plan_ids\": [\n        123,\n        456\n    ],\n    \"updated_date_utc_from\": \"2026-05-24 00:00\",\n    \"updated_date_utc_to\": \"2026-05-25 00:00\"\n}' \\\n-H \"Authorization: Bearer <YOUR_ACCESS_TOKEN>\"\n            "
        label: curl
      - lang: python
        source: "\nimport requests\n\nhostname = \"<HOSTNAME>\"\nusername = \"<USERNAME>\"\npassword = \"<PASSWORD>\"\n\naccess_token = requests.post(f\"https://{hostname}/v1/auth/token\", data={\"username\": username, \"password\": password}).json()[\"access_token\"]\n\nrequests.post(f\"https://{hostname}/v1/sessions/search\",\n    json={\n    \"session_ids\": [\n        123,\n        456\n    ],\n    \"plan_ids\": [\n        123,\n        456\n    ],\n    \"updated_date_utc_from\": \"2026-05-24 00:00\",\n    \"updated_date_utc_to\": \"2026-05-25 00:00\"\n},\n    headers={\"Authorization\": f\"Bearer {access_token}\"}\n)\n"
        label: Python
  /sessions/search/{search_id}:
    get:
      tags:
      - Sessions
      summary: Get sessions
      description: Get sessions from a search_id.
      operationId: get_sessions_search_page_sessions_search__search_id__get
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: search_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Search Id
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Page
      - name: user-id-to-impersonate
        in: header
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: User id from the user that you want to impersonate
          title: User-Id-To-Impersonate
        description: User id from the user that you want to impersonate
      responses:
        '200':
          description: Search was obtained successfully
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/Search_SessionDimension_SessionsParams_-Output'
                - $ref: '#/components/schemas/SearchStatus'
                title: Response Get Sessions Search Page Sessions Search  Search Id  Get
                $ref: '#/components/schemas/Search_SessionDimension_SessionsParams_-Input'
        '202':
          description: Request is still running asynchronously.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchStatus'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                oneOf:
                - properties:
                    detail:
                      example: Search 01b571aa-0203-e36d-0000-0d3758abb35d not found.
                      title: Detail
                      type: string
                  required:
                  - detail
                  title: SearchIdNotFoundError
                  type: object
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                oneOf:
                - properties:
                    detail:
                      example: Search ID 1234 is not valid
                      title: Detail
                      type: string
                  required:
                  - detail
                  title: InvalidSearchIdError
                  type: object
                - properties:
                    detail:
                      example: Invalid partition parameter. The partition must be long type parsable and between 0 and 1, but 2 is specified.
                      title: Detail
                      type: string
                  required:
                  - detail
                  title: InvalidPageIdError
                  type: object
                - properties:
                    detail:
                      example: Response is too large. Please apply filters to reduce its size.
                      title: Detail
                      type: string
                  required:
                  - detail
                  title: ResponseTooLargeError
                  type: object
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                oneOf:
                - properties:
                    detail:
                      default: The request timed out. Please try again later
                      example: The request timed out. Please try again later
                      title: Detail
                      type: string
                  title: RequestTimeoutError
                  type: object
        '410':
          description: Search expired
          content:
            application/json:
              schema:
                oneOf:
                - properties:
                    detail:
                      default: Search expired. Please create a new one
                      example: Search expired. Please create a new one
                      title: Detail
                      type: string
                  title: SearchExpiredError
                  type: object
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                oneOf:
                - properties:
                    detail:
                      default: Server is busy. Please retry your query later
                      example: Server is busy. Please retry your query later
                      title: Detail
                      type: string
                  title: ServerBusyError
                  type: object
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                oneOf:
                - properties:
                    detail:
                      default: An internal server error occurred. Please try again later
                      example: An internal server error occurred. Please try again later
                      title: Detail
                      type: string
                  title: InternalServerError
                  type: object
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-codeSamples:
      - lang: bash
        source: '

          curl -X GET "https://<HOSTNAME>/v1/sessions/search/<SEARCH_ID>?page=0" \

          -H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"

          '
        label: curl
      - lang: python
        source: "\nimport requests\n\nhostname = \"<HOSTNAME>\"\nusername = \"<USERNAME>\"\npassword = \"<PASSWORD>\"\n\naccess_token = requests.post(f\"https://{hostname}/v1/auth/token\", data={\"username\": username, \"password\": password}).json()[\"access_token\"]\n\nrequests.get(f\"https://{hostname}/v1/sessions/search/<SEARCH_ID>\",\n    params={'page': 0},\n    headers={\"Authorization\": f\"Bearer {access_token}\"}\n)\n"
        label: Python
components:
  schemas:
    Venue:
      properties:
        city:
          anyOf:
          - type: string
          - type: 'null'
          title: City
          description: Venue city
          example: New York
        country:
          anyOf:
          - type: string
          - type: 'null'
          title: Country
          description: Venue country
          example: USA
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: Venue name
          example: Madison Square Garden
        timezone:
          anyOf:
          - type: string
          - type: 'null'
          title: Timezone
          description: Venue timezone
          example: America/New_York
      type: object
      title: Venue
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    SessionDimension:
      properties:
        id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Id
          description: Session ID
          example: 12345
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: Session name
          example: Session name
        available_tickets:
          anyOf:
          - type: integer
          - type: 'null'
          title: Available Tickets
          description: Session available tickets. This field is always null if the session is a wait list.
          example: 10
        capacity:
          anyOf:
          - type: integer
          - type: 'null'
          title: Capacity
          description: Session capacity. This field is always null if the session is a wait list.
          example: 100
        end_date_utc:
          anyOf:
          - type: string
          - type: 'null'
          title: End Date Utc
          description: Session end date
          example: '2023-12-18 08:30:27.789 Z'
        first_purchasable_date_utc:
          anyOf:
          - type: string
          - type: 'null'
          title: First Purchasable Date Utc
          description: Session first purchasable date
          example: '2023-12-18'
        is_addon:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Addon
          description: Is the session an addon
          example: false
        is_shop_product:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Shop Product
          description: Is the session a shop product
          example: false
        is_wait_list:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Wait List
          description: Is the session a wait list. Deprecated, since now the waitlist flag is configured at plan level
          deprecated: true
          example: false
        start_date_utc:
          anyOf:
          - type: string
          - type: 'null'
          title: Start Date Utc
          description: Session start date
          example: '2023-12-18 08:30:27.789 Z'
        venue:
          anyOf:
          - $ref: '#/components/schemas/Venue'
          - type: 'null'
          description: Session venue
        timeslot_capacity:
          anyOf:
          - type: integer
          - type: 'null'
          title: Timeslot Capacity
          description: Total timeslot capacity. Null for waitlist plans or anytime plans.
          example: 578
        plan_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Plan Id
          description: Plan ID
          example: 12345
        tags:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Tags
          description: Session tags
          example: []
        ticket_price:
          anyOf:
          - type: number
          - type: 'null'
          title: Ticket Price
          description: Session ticket price
          example: 10.0
        ticket_price_tax_base:
          anyOf:
          - type: number
          - type: 'null'
          title: Ticket Price Tax Base
          description: Session ticket price tax base
          example: 8.0
        surcharge_per_ticket:
          anyOf:
          - type: number
          - type: 'null'
          title: Surcharge Per Ticket
          description: Session surcharge per ticket
          example: 2.0
        surcharge_per_ticket_tax_base:
          anyOf:
          - type: number
          - type: 'null'
          title: Surcharge Per Ticket Tax Base
          description: Session surcharge per ticket tax base
          example: 0.5
        session_type_id:
          type: integer
          title: Session Type Id
          description: Fever session-type identifier. Join key for /reports/entitlements.
          example: 88123
        product_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Product Type
          description: Session product type. Null when the session has no associated session type.
          example: TIMED_ENTRY
        customer_profile:
          anyOf:
          - type: string
          - type: 'null'
          title: Customer Profile
          description: Target customer profile of the session. Null when the session has no associated session type.
          example: ADULT
        group_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Name
          description: Name of the session type group. Null when the session type has no associated group.
          example: General Admission
      type: object
      required:
      - id
      - session_type_id
      title: SessionDimension
    PartitionInfo:
      properties:
        partition_num:
          type: integer
          minimum: 0.0
          title: Partition Num
          description: Partition number
          example: 0
        endpoint:
          type: string
          title: Endpoint
          description: Endpoint to fetch data for partition
          example: /01b26479-0203-63c9-0000-d37572ae91ea?page=0
        size:
          type: integer
          minimum: 0.0
          title: Size
          description: Partition size in bytes
          example: 15058
        rows:
          type: integer
          minimum: 0.0
          title: Rows
          description: Number of rows contained in partition. One row represents a single transaction result (e.g. order, plan etc.).
          example: 4099
      type: object
      required:
      - partition_num
      - endpoint
      - size
      - rows
      title: PartitionInfo
      examples:
      - endpoint: /01b26479-0203-63c9-0000-d37572ae91ea?page=0
        partition_num: 0
        rows: 4099
        size: 15058
      - endpoint: /01b26479-0203-63c9-0000-d37572ae91ea?page=1
        partition_num: 1
        rows: 3145
        size: 11260
    Search_SessionDimension_SessionsParams_-Output:
      properties:
        partition_info:
          anyOf:
          - items:
              $ref: '#/components/schemas/PartitionInfo'
            type: array
          - type: 'null'
          title: Partition Info
          description: Partition information
        params:
          anyOf:
          - $ref: '#/components/schemas/SessionsParams'
          - type: 'null'
          description: Parameters used in the search
        data:
          items:
            $ref: '#/components/schemas/SessionDimension'
          type: array
          title: Data
          description: Data rows
      type: object
      required:
      - data
      title: Search[SessionDimension, SessionsParams]
    SessionsParams:
      properties:
        session_ids:
          anyOf:
          - items:
              type: integer
            type: array
            maxItems: 1000
          - type: 'null'
          title: Session Ids
          description: List of ids of the sessions to filter by.
          default: []
          examples:
          - []
          - - 123
          - - 123
            - 456
        plan_ids:
          anyOf:
          - items:
              type: integer
            type: array
            maxItems: 1000
          - type: 'null'
          title: Plan Ids
          description: List of ids of the plans to filter by.
          default: []
          examples:
          - []
          - - 123
          - - 123
            - 456
        updated_date_utc_from:
          anyOf:
          - type: string
          - type: 'null'
          title: Updated Date Utc From
          description: UTC start date for the warehouse last-updated filter (inclusive). Filters rows whose underlying warehouse record changed at or after this instant. If hour and minute are not specified, 00:00 is added by default
          example: 2026-05-24 00:00
        updated_date_utc_to:
          anyOf:
          - type: string
          - type: 'null'
          title: Updated Date Utc To
          description: UTC end date for the warehouse last-updated filter (exclusive). Filters rows whose underlying warehouse record changed strictly before this instant. If hour and minute are not specified, 00:00 is added by default
          example: 2026-05-25 00:00
      additionalProperties: false
      type: object
      title: SessionsParams
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    SearchStatus:
      properties:
        message:
          type: string
          title: Message
          description: Message about the search status
          example: Asynchronous execution in progress. Use provided query id to perform query monitoring and management.
        search_id:
          type: string
          format: uuid
          title: Search Id
          description: The search ID
          example: b59d4093-cbfc-4a1d-be5c-ba78d4ffbc64
      type: object
      required:
      - message
      - search_id
      title: SearchStatus
    Search_SessionDimension_SessionsParams_-Input:
      properties:
        partition_info:
          anyOf:
          - items:
              $ref: '#/components/schemas/PartitionInfo'
            type: array
          - type: 'null'
          title: Partition Info
          description: Partition information
        params:
          anyOf:
          - $ref: '#/components/schemas/SessionsParams'
          - type: 'null'
          description: Parameters used in the search
        data:
          items:
            $ref: '#/components/schemas/SessionDimension'
          type: array
          title: Data
          description: Data rows
      type: object
      required:
      - data
      title: Search[SessionDimension, SessionsParams]
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: /v1/auth/token
x-tagGroups:
- name: Endpoints
  tags:
  - Authentication
  - Billing L1
  - Billing L2
  - Carts
  - Channels
  - Customers
  - Customers Mapping
  - Deposits
  - Entitlement Configurations
  - Exchange Rates
  - FeverZone
  - Last Tour
  - Magnati
  - Neon
  - Order Items
  - Order Items Test
  - Order Sales
  - Plan Code Scans
  - Plans
  - Real Time
  - Reservations
  - SailGP
  - Sessions
  - Square
  - Webhooks