Brushfire Sessions API

The Sessions API from Brushfire — 10 operation(s) for sessions.

OpenAPI Specification

brushfire-sessions-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: 'Brushfire API: Version 2025-07-22 AccessCodes Sessions API'
  version: '2025-07-22'
  description: 'The Brushfire REST API provides programmatic access to the Brushfire event ticketing and registration platform. It covers events, ticket types, sections and seats, attendees, orders, the shopping cart and checkout flow, groups, sessions and check-in, promotions and access codes, payment profiles, and webhooks (Hooks). Authenticate by sending your App Key (requested at https://developer.brushfire.com/key) in the Authorization header. The API is date-versioned: send the desired version in the api-version request header (for example, 2025-07-22). This document is the live specification published at api.brushfire.com/swagger.'
  contact:
    name: Brushfire Developers
    url: https://developer.brushfire.com
servers:
- url: https://api.brushfire.com
  description: Brushfire API (date-versioned via the api-version header)
tags:
- name: Sessions
paths:
  /sessions/{sessionId}:
    get:
      tags:
      - Sessions
      summary: Get detailed information about a given session
      parameters:
      - name: sessionId
        in: path
        description: An integer that corresponds to a specific session
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventSessionOutput'
            text/json:
              schema:
                $ref: '#/components/schemas/EventSessionOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
  /sessions/{sessionId}/attendees:
    get:
      tags:
      - Sessions
      summary: Get a list of all of the attendees for a given check-in session
      parameters:
      - name: sessionId
        in: path
        description: The session number for which to retrieve attendees
        required: true
        schema:
          type: string
      - name: search
        in: query
        description: An optional search string for filtering attendees
        schema:
          type: string
          default: ''
      - name: qty
        in: query
        description: An integer to limit the number of results returned
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: An integer to skip the first attendees returned
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionAttendeeListOutput'
            text/json:
              schema:
                $ref: '#/components/schemas/SessionAttendeeListOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
  /sessions/{sessionId}/checkin:
    post:
      tags:
      - Sessions
      summary: Check in one or more attendees for a specific session
      parameters:
      - name: sessionId
        in: path
        description: An integer representing the session to check into
        required: true
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SessionCheckinMultipleInput'
          text/json:
            schema:
              $ref: '#/components/schemas/SessionCheckinMultipleInput'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SessionCheckinMultipleInput'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SessionCheckinMultipleOutput'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SessionCheckinMultipleOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
  /sessions/{sessionId}/checkout:
    post:
      tags:
      - Sessions
      summary: Check out one or more attendees for a specific session
      parameters:
      - name: sessionId
        in: path
        description: An integer representing the session to check out of
        required: true
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SessionCheckoutMultipleInput'
          text/json:
            schema:
              $ref: '#/components/schemas/SessionCheckoutMultipleInput'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SessionCheckoutMultipleInput'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SessionCheckoutMultipleOutput'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SessionCheckoutMultipleOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
  /sessions/{sessionId}/email/{email}:
    get:
      tags:
      - Sessions
      summary: Retrieve attendee data from a specific email and session
      parameters:
      - name: email
        in: path
        description: A string representing an email address
        required: true
        schema:
          type: string
      - name: sessionId
        in: path
        description: An integer representing a specific session
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SessionAttendeeOutput'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SessionAttendeeOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
  /sessions/{sessionId}/flex/{attendeeId}:
    get:
      tags:
      - Sessions
      summary: Get detailed information about a given flex attendee in a specific session
      parameters:
      - name: sessionId
        in: path
        description: An integer that corresponds to a specific session
        required: true
        schema:
          type: string
      - name: attendeeId
        in: path
        description: An integer that corresponds to a specific attendee
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttendeeDetailsOutput'
            text/json:
              schema:
                $ref: '#/components/schemas/AttendeeDetailsOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
  /sessions/{sessionId}/flex/checkin:
    post:
      tags:
      - Sessions
      summary: Checkin a flex pass attendee for a specific session
      parameters:
      - name: sessionId
        in: path
        description: An integer representing the session to check into
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SessionFlexPassCheckinInput'
          text/json:
            schema:
              $ref: '#/components/schemas/SessionFlexPassCheckinInput'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SessionFlexPassCheckinInput'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionFlexPassCheckinOutput'
            text/json:
              schema:
                $ref: '#/components/schemas/SessionFlexPassCheckinOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
  /sessions/{sessionId}/flex/checkout:
    post:
      tags:
      - Sessions
      summary: Check out a flex pass attendee for a specific session
      parameters:
      - name: sessionId
        in: path
        description: An integer representing the session to check out of
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SessionFlexPassCheckoutInput'
          text/json:
            schema:
              $ref: '#/components/schemas/SessionFlexPassCheckoutInput'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SessionFlexPassCheckoutInput'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionFlexPassCheckoutOutput'
            text/json:
              schema:
                $ref: '#/components/schemas/SessionFlexPassCheckoutOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
  /sessions/{sessionId}/groups/{groupId}:
    get:
      tags:
      - Sessions
      summary: Get all details, including checkin info for a group in a given session
      parameters:
      - name: groupId
        in: path
        description: An integer or GUID representing a specific group
        required: true
        schema:
          type: string
      - name: sessionId
        in: path
        description: An integer representing a specific session
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionGroupDetailOutput'
            text/json:
              schema:
                $ref: '#/components/schemas/SessionGroupDetailOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
  /sessions/{sessionId}/orders/{orderId}:
    get:
      tags:
      - Sessions
      summary: Retrieve Order and Buyer data from a specific order and session
      parameters:
      - name: orderId
        in: path
        description: A string (orderKey) or a GUID representing a specific order
        required: true
        schema:
          type: string
      - name: sessionId
        in: path
        description: An integer representing a specific session
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionOrderDetailOutput'
            text/json:
              schema:
                $ref: '#/components/schemas/SessionOrderDetailOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
components:
  schemas:
    AttendeeDisplayOutput:
      type: object
      properties:
        Line1:
          type: string
          nullable: true
        Line2:
          type: string
          nullable: true
        Line3:
          type: string
          nullable: true
      additionalProperties: false
    StringStringKeyValuePair:
      type: object
      properties:
        Key:
          type: string
          nullable: true
        Value:
          type: string
          nullable: true
      additionalProperties: false
    EventSessionOutput:
      type: object
      properties:
        SessionNumber:
          type: integer
          format: int64
        Name:
          type: string
          nullable: true
        AttendeeTotal:
          type: integer
          format: int32
        CheckedInCount:
          type: integer
          format: int32
        Type:
          type: string
          nullable: true
        IsHidden:
          type: boolean
        AllowFlex:
          type: boolean
          nullable: true
        FlexPassCount:
          type: integer
          format: int32
        FlexAttendeeTotal:
          type: integer
          format: int32
        IsTimeSlot:
          type: boolean
        MinutesBefore:
          type: integer
          format: int32
        MinutesAfter:
          type: integer
          format: int32
        AllowPasses:
          type: boolean
      additionalProperties: false
    SessionAttendeeOutput:
      type: object
      properties:
        AttendeeNumber:
          type: integer
          format: int64
        FirstName:
          type: string
          nullable: true
        LastName:
          type: string
          nullable: true
        SectionName:
          type: string
          nullable: true
        RowName:
          type: string
          nullable: true
        SeatLabel:
          type: string
          nullable: true
        TypeName:
          type: string
          nullable: true
        CheckedIn:
          type: boolean
        CheckedInAt:
          type: string
          format: date-time
          nullable: true
        SeatInfo:
          type: string
          nullable: true
          readOnly: true
        IsAddon:
          type: boolean
      additionalProperties: false
    SessionAttendeeListOutput:
      type: object
      properties:
        SessionAttendees:
          type: array
          items:
            $ref: '#/components/schemas/SessionAttendeeOutput'
          nullable: true
        FlexAttendees:
          type: array
          items:
            $ref: '#/components/schemas/SessionFlexPassAttendeeOutput'
          nullable: true
      additionalProperties: false
    SessionCheckinEntryItem:
      required:
      - CheckedInAt
      - Code
      type: object
      properties:
        Code:
          minLength: 1
          type: string
        CheckedInAt:
          type: string
          format: date-time
      additionalProperties: false
    SessionGroupDetailOutput:
      type: object
      properties:
        GroupNumber:
          type: integer
          format: int64
        EventId:
          type: string
          format: uuid
        AttendeeTypeId:
          type: string
          format: uuid
        TypeName:
          type: string
          nullable: true
        Name:
          type: string
          nullable: true
        Email:
          type: string
          nullable: true
        AttendeeCount:
          type: integer
          format: int32
        CommunityId:
          type: string
          format: uuid
          nullable: true
        CommunityPartition:
          type: string
          nullable: true
        CommunityName:
          type: string
          nullable: true
        Fields:
          type: array
          items:
            $ref: '#/components/schemas/FieldDisplayOutput'
          nullable: true
        Attendees:
          type: array
          items:
            $ref: '#/components/schemas/SessionAttendeeOutput'
          nullable: true
      additionalProperties: false
    SessionFlexPassAttendeeOutput:
      type: object
      properties:
        AttendeeNumber:
          type: integer
          format: int64
        FirstName:
          type: string
          nullable: true
        LastName:
          type: string
          nullable: true
        TypeName:
          type: string
          nullable: true
        CheckedIn:
          type: boolean
        FlexPass:
          $ref: '#/components/schemas/AttendeeFlexPassOutput'
        IsAddon:
          type: boolean
      additionalProperties: false
    AttendeeFlexPassCheckinOutput:
      type: object
      properties:
        Name:
          type: string
          nullable: true
        SessionNumber:
          type: integer
          format: int64
        CheckedInAt:
          type: string
          format: date-time
          nullable: true
        AttendeeCheckinId:
          type: string
          format: uuid
          nullable: true
        EventNumber:
          type: integer
          format: int64
        TitleInfo:
          type: string
          nullable: true
      additionalProperties: false
    AttendeeFlexPassOutput:
      type: object
      properties:
        FlexTotal:
          type: integer
          format: int32
          nullable: true
        FlexPer:
          type: integer
          format: int32
          nullable: true
        FlexStartsAt:
          type: string
          format: date-time
          nullable: true
        FlexEndsAt:
          type: string
          format: date-time
          nullable: true
        FlexSummary:
          type: string
          nullable: true
        FlexRedemptions:
          type: integer
          format: int32
        FlexRedemptionsText:
          type: string
          nullable: true
        FlexRelativeDays:
          type: integer
          format: int32
          nullable: true
        EventRedemptions:
          type: integer
          format: int32
          nullable: true
        EventRedemptionsText:
          type: string
          nullable: true
      additionalProperties: false
    FieldDisplayOutput:
      type: object
      properties:
        Id:
          type: string
          nullable: true
        Label:
          type: string
          nullable: true
        Value:
          type: string
          nullable: true
        Type:
          type: string
          nullable: true
        IsSensitive:
          type: boolean
        OptionIds:
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    SessionFlexPassCheckoutInput:
      required:
      - AttendeeCheckinId
      - AttendeeId
      type: object
      properties:
        AttendeeCheckinId:
          type: string
          format: uuid
        AttendeeId:
          minLength: 1
          type: string
      additionalProperties: false
    SessionCheckoutMultipleOutput:
      type: object
      properties:
        Success:
          type: boolean
        CheckedInAt:
          type: string
          format: date-time
          nullable: true
        Message:
          type: string
          nullable: true
        Code:
          type: string
          nullable: true
      additionalProperties: false
    ApiModelError:
      type: object
      properties:
        Errors:
          type: array
          items:
            $ref: '#/components/schemas/StringStringKeyValuePair'
          nullable: true
        Message:
          type: string
          nullable: true
        Data:
          nullable: true
        StackTrace:
          type: string
          nullable: true
      additionalProperties: false
    SessionCheckoutMultipleInput:
      type: object
      properties:
        Codes:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
    AttendeeDetailsOutput:
      type: object
      properties:
        Id:
          type: string
          format: uuid
        AttendeeNumber:
          type: integer
          format: int64
        AttendeeCode:
          type: string
          nullable: true
        EventId:
          type: string
          format: uuid
        EventNumber:
          type: integer
          format: int64
        Status:
          type: string
          nullable: true
        IsCompleted:
          type: boolean
        IsGift:
          type: boolean
        IsPreRegistered:
          type: boolean
        IsPrinted:
          type: boolean
        ShareEmail:
          type: string
          nullable: true
        GiftLastSentAt:
          type: string
          format: date-time
          nullable: true
        FirstName:
          type: string
          nullable: true
        LastName:
          type: string
          nullable: true
        Phone:
          type: string
          nullable: true
        Email:
          type: string
          nullable: true
        Street1:
          type: string
          nullable: true
        Street2:
          type: string
          nullable: true
        City:
          type: string
          nullable: true
        Region:
          type: string
          nullable: true
        Country:
          type: string
          nullable: true
        PostalCode:
          type: string
          nullable: true
        TypeId:
          type: string
          format: uuid
        TypeName:
          type: string
          nullable: true
        SectionName:
          type: string
          nullable: true
        RowName:
          type: string
          nullable: true
        SeatLabel:
          type: string
          nullable: true
        Wheelchair:
          type: boolean
          nullable: true
        LimitedView:
          type: boolean
          nullable: true
        Amount:
          type: number
          format: double
        SeatInfo:
          type: string
          nullable: true
          readOnly: true
        CommunityId:
          type: string
          format: uuid
          nullable: true
        CommunityName:
          type: string
          nullable: true
        CommunityPartition:
          type: string
          nullable: true
        GroupId:
          type: string
          format: uuid
          nullable: true
        GroupName:
          type: string
          nullable: true
        GroupEmail:
          type: string
          nullable: true
        Fields:
          type: array
          items:
            $ref: '#/components/schemas/FieldDisplayOutput'
          nullable: true
        OrderFields:
          type: array
          items:
            $ref: '#/components/schemas/FieldDisplayOutput'
          nullable: true
        GroupFields:
          type: array
          items:
            $ref: '#/components/schemas/FieldDisplayOutput'
          nullable: true
        Checkins:
          type: array
          items:
            $ref: '#/components/schemas/AttendeeCheckinOutput'
          nullable: true
        FlexPassCheckins:
          type: array
          items:
            $ref: '#/components/schemas/AttendeeFlexPassCheckinOutput'
          nullable: true
        QRCode:
          type: string
          nullable: true
        IsAnonymized:
          type: boolean
        FlexPass:
          $ref: '#/components/schemas/AttendeeFlexPassOutput'
        IsFlexPass:
          type: boolean
        AttendeeDisplay:
          $ref: '#/components/schemas/AttendeeDisplayOutput'
        AttendeeDisplayLines:
          $ref: '#/components/schemas/AttendeeDisplayOutput'
        OrderedAt:
          type: string
          format: date-time
          nullable: true
        ShareEnabled:
          type: boolean
        IsAddon:
          type: boolean
        GeneratesTicket:
          type: boolean
        OrderKey:
          type: string
          nullable: true
      additionalProperties: false
    AttendeeCheckinOutput:
      type: object
      properties:
        Name:
          type: string
          nullable: true
        SessionNumber:
          type: integer
          format: int64
        CheckedInAt:
          type: string
          format: date-time
          nullable: true
        CheckedIn:
          type: boolean
        IsHidden:
          type: boolean
      additionalProperties: false
    SessionCheckinMultipleOutput:
      type: object
      properties:
        Success:
          type: boolean
        CheckedInAt:
          type: string
          format: date-time
          nullable: true
        Message:
          type: string
          nullable: true
        Code:
          type: string
          nullable: true
        RequiresVerification:
          type: boolean
      additionalProperties: false
    SessionOrderDetailOutput:
      type: object
      properties:
        OrderKey:
          type: string
          nullable: true
        ObjectNumber:
          type: integer
          format: int64
        AttendeeCount:
          type: integer
          format: int32
        OrderedAt:
          type: string
          format: date-time
        BillingName:
          type: string
          nullable: true
        BillingAddress:
          type: string
          nullable: true
        BillingFirstName:
          type: string
          nullable: true
        BillingLastName:
          type: string
          nullable: true
        BillingOrganization:
          type: string
          nullable: true
        BillingStreet1:
          type: string
          nullable: true
        BillingStreet2:
          type: string
          nullable: true
        BillingCity:
          type: string
          nullable: true
        BillingRegion:
          type: string
          nullable: true
        BillingPostal:
          type: string
          nullable: true
        BillingCountry:
          type: string
          nullable: true
        ContactPhone:
          type: string
          nullable: true
        ContactEmail:
          type: string
          nullable: true
        PaymentMethods:
          type: array
          items:
            type: string
          nullable: true
        PaymentMethod:
          type: string
          nullable: true
          readOnly: true
        DeliveryMethod:
          type: string
          nullable: true
        Fields:
          type: array
          items:
            $ref: '#/components/schemas/FieldDisplayOutput'
          nullable: true
        Attendees:
          type: array
          items:
            $ref: '#/components/schemas/SessionAttendeeOutput'
          nullable: true
      additionalProperties: false
    SessionFlexPassCheckinOutput:
      type: object
      properties:
        Success:
          type: boolean
        Message:
          type: string
          nullable: true
        CheckedInAt:
          type: string
          format: date-time
          nullable: true
        AttendeeCheckinIds:
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        FlexRedemptions:
          type: integer
          format: int32
          nullable: true
        FlexRedemptionsText:
          type: string
          nullable: true
        EventRedemptions:
          type: integer
          format: int32
          nullable: true
        EventRedemptionsText:
          type: string
          nullable: true
      additionalProperties: false
    SessionFlexPassCheckinInput:
      required:
      - AttendeeId
      - Quantity
      type: object
      properties:
        Quantity:
          maximum: 2147483647
          minimum: 1
          type: integer
          format: int32
        AttendeeId:
          minLength: 1
          type: string
      additionalProperties: false
    SessionFlexPassCheckoutOutput:
      type: object
      properties:
        Success:
          type: boolean
        Message:
          type: string
          nullable: true
        FlexRedemptions:
          type: integer
          format: int32
          nullable: true
        FlexRedemptionsText:
          type: string
          nullable: true
        EventRedemptions:
          type: integer
          format: int32
          nullable: true
        EventRedemptionsText:
          type: string
          nullable: true
      additionalProperties: false
    SessionCheckinMultipleInput:
      type: object
      properties:
        Codes:
          type: array
          items:
            type: string
          nullable: true
        Entries:
          type: array
          items:
            $ref: '#/components/schemas/SessionCheckinEntryItem'
          nullable: true
        IsVerified:
          type: boolean
      additionalProperties: false
  securitySchemes:
    apiKey:
      type: apiKey
      description: The App Key you received from https://developer.brushfire.com/key
      name: Authorization
      in: header