Brushfire Sessions API
The Sessions API from Brushfire — 10 operation(s) for sessions.
The Sessions API from Brushfire — 10 operation(s) for sessions.
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