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