Brushfire Orders API
The Orders API from Brushfire — 11 operation(s) for orders.
The Orders API from Brushfire — 11 operation(s) for orders.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/brushfire-orders-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: 'Brushfire API: Version 2025-07-22 AccessCodes Orders 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: Orders
paths:
/orders:
get:
tags:
- Orders
summary: Gets list of orders by eventId and/or a date range.
parameters:
- name: eventId
in: query
description: An integer or a GUID that corresponds to a specific event. Only required if there is no startsAt or endsAt.
schema:
type: string
- name: startsAt
in: query
description: Optional start date to filter list
schema:
type: string
format: date-time
- name: endsAt
in: query
description: Optional end date to filter list
schema:
type: string
format: date-time
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/OrderListOutput'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/OrderListOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
post:
tags:
- Orders
summary: Create an order from an existing cart
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrderCreateInput'
text/json:
schema:
$ref: '#/components/schemas/OrderCreateInput'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OrderCreateInput'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderCreateOutput'
text/json:
schema:
$ref: '#/components/schemas/OrderCreateOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
/orders/{orderId}:
get:
tags:
- Orders
summary: Retrieve a single order
parameters:
- name: orderId
in: path
description: A string (orderKey) or a GUID representing a specific order
required: true
schema:
type: string
- name: accessKey
in: query
description: The Access Key for the user context
schema:
type: string
- name: qrSize
in: query
description: The width and height of the QR Code. If blank, no QR will be sent.
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderSingleOutput'
text/json:
schema:
$ref: '#/components/schemas/OrderSingleOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
/orders/{orderId}/fields:
get:
tags:
- Orders
summary: Retrieve fields for an order
parameters:
- name: orderId
in: path
description: A string (orderKey) or a GUID representing a specific order
required: true
schema:
type: string
- name: accessKey
in: query
description: The Access Key for the user context
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FieldOutput'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/FieldOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
post:
tags:
- Orders
summary: Update fields for an order
parameters:
- name: orderId
in: path
description: A string (orderKey) or a GUID representing a specific order
required: true
schema:
type: string
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/FieldUpdateInput'
text/json:
schema:
$ref: '#/components/schemas/FieldUpdateInput'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/FieldUpdateInput'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FieldOutput'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/FieldOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
/orders/{orderId}/print:
get:
tags:
- Orders
summary: Retrieve the printable resources for a single order
parameters:
- name: orderId
in: path
description: A string (orderKey) or a GUID representing a specific order
required: true
schema:
type: string
- name: type
in: query
description: A string that is one of "Ticket", "ETicket", or "Namebadge"
schema:
$ref: '#/components/schemas/PrintType'
- name: format
in: query
description: A string that is one of "PDF", "PNG", "JPG", "GIF", "BMP" or "TIFF"
schema:
$ref: '#/components/schemas/PrintFormat'
- name: imageDpi
in: query
description: An int representing the dots per inch of the images produced that is 72, 96, 150, 300 or 600. 0 for PDF
schema:
type: integer
format: int32
default: 0
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
type: string
format: byte
text/json:
schema:
type: array
items:
type: string
format: byte
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
/orders/{orderId}/resend:
post:
tags:
- Orders
summary: Resend a confirmation for a single order
parameters:
- name: orderId
in: path
description: A string (orderKey) or a GUID representing a specific order
required: true
schema:
type: string
requestBody:
description: Contains optional access key
content:
application/json:
schema:
$ref: '#/components/schemas/OrderConfirmationResendInput'
text/json:
schema:
$ref: '#/components/schemas/OrderConfirmationResendInput'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OrderConfirmationResendInput'
responses:
'200':
description: OK
content:
application/json:
schema:
type: boolean
text/json:
schema:
type: boolean
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
/orders/direct:
post:
tags:
- Orders
summary: Create cart-less order for free, general admission events with no fields.
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrderCreateDirectInput'
text/json:
schema:
$ref: '#/components/schemas/OrderCreateDirectInput'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OrderCreateDirectInput'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderResultOutput'
text/json:
schema:
$ref: '#/components/schemas/OrderResultOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
/orders/helpdesk/{email}:
get:
tags:
- Orders
summary: Retrieve orders that match provided email
parameters:
- name: email
in: path
description: An email to search across order email fields
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/OrderHelpdeskOutput'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/OrderHelpdeskOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
/orders/pos:
post:
tags:
- Orders
summary: Create a point of sale order from an existing cart
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrderCreatePOSInput'
text/json:
schema:
$ref: '#/components/schemas/OrderCreatePOSInput'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OrderCreatePOSInput'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderCreateOutput'
text/json:
schema:
$ref: '#/components/schemas/OrderCreateOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
/orders/print:
post:
tags:
- Orders
summary: Retrieve the printable resources for multiple orders
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrderPrintInput'
text/json:
schema:
$ref: '#/components/schemas/OrderPrintInput'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OrderPrintInput'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
type: string
format: byte
text/json:
schema:
type: array
items:
type: string
format: byte
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
/orders/reader/start:
post:
tags:
- Orders
summary: Prepares an order to be paid for with a Square or Stripe Reader.
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrderReaderStartInput'
text/json:
schema:
$ref: '#/components/schemas/OrderReaderStartInput'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OrderReaderStartInput'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderReaderStartOutput'
text/json:
schema:
$ref: '#/components/schemas/OrderReaderStartOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
/orders/sms:
post:
tags:
- Orders
summary: Sends SMS messages to the provided phone number (only US and Canada)
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrderSmsInput'
text/json:
schema:
$ref: '#/components/schemas/OrderSmsInput'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OrderSmsInput'
responses:
'200':
description: OK
content:
application/json:
schema:
type: boolean
text/json:
schema:
type: boolean
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
components:
schemas:
OrderAttendeeSummaryOutput:
type: object
properties:
AttendeeId:
type: string
format: uuid
AttendeeNumber:
type: integer
format: int64
AttendeeCode:
type:
- string
- 'null'
AcctCode:
type:
- string
- 'null'
HasName:
type: boolean
FirstName:
type:
- string
- 'null'
LastName:
type:
- string
- 'null'
SectionName:
type:
- string
- 'null'
RowName:
type:
- string
- 'null'
SeatLabel:
type:
- string
- 'null'
CreatedAt:
type: string
format: date-time
TypeId:
type: string
format: uuid
TypeName:
type:
- string
- 'null'
GroupId:
type:
- string
- 'null'
format: uuid
GroupName:
type:
- string
- 'null'
OrderQuantity:
type: integer
format: int32
Status:
type:
- string
- 'null'
IsCompleted:
type: boolean
IsPreRegistered:
type: boolean
IsGift:
type: boolean
ShareEmail:
type:
- string
- 'null'
GiftingEnabled:
type: boolean
GiftLastSentAt:
type:
- string
- 'null'
format: date-time
UnitPrice:
type: number
format: double
UnitDiscount:
type: number
format: double
UnitAddons:
type: number
format: double
UnitFee:
type: number
format: double
UnitTax:
type: number
format: double
UnitDelivery:
type: number
description: Deprecated. Delivery has been folded into API.Models.OrderAttendeeSummaryOutput.UnitFee; this property is kept for backwards compatibility but should be ignored.
format: double
UnitChange:
type: number
format: double
UnitTotal:
type: number
format: double
UnitFees:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/UnitFeeLineItemOutput'
DisplayPrice:
type: number
format: double
readOnly: true
DisplayTotal:
type: number
format: double
readOnly: true
PriceDescription:
type:
- string
- 'null'
IsInclusiveFees:
type: boolean
IsInclusiveTaxes:
type: boolean
Refundable:
type: boolean
Promotions:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/OrderPromotionOutput'
IsAddon:
type: boolean
ExternalId:
type:
- string
- 'null'
ExternalDescription:
type:
- string
- 'null'
additionalProperties: false
OrderReaderStartOutput:
type: object
properties:
ReferenceId:
type: string
format: uuid
CartId:
type:
- string
- 'null'
ExternalId:
type:
- string
- 'null'
AppFee:
type: number
format: double
Description:
type:
- string
- 'null'
Metadata:
type:
- object
- 'null'
additionalProperties:
type:
- string
- 'null'
additionalProperties: false
OrderSmsInput:
type: object
properties:
OrderId:
type: string
format: uuid
PhoneNumber:
type:
- string
- 'null'
additionalProperties: false
UnitFeeLineItemOutput:
type: object
properties:
Label:
type:
- string
- 'null'
description: Display label (e.g. "Service Fee", "Sales Tax").
FeeType:
$ref: '#/components/schemas/FeeItemType'
Amount:
type: number
description: The evaluated amount for this line item.
format: double
additionalProperties: false
description: 'A single fee or tax line item evaluated for an attendee from the attendee
type''s customFees configuration. On cart outputs this is a live evaluation;
on order outputs it is the snapshot of what was collected at purchase time.'
DomainValidationOutput:
type: object
properties:
AllowDomains:
type:
- array
- 'null'
items:
type: string
DisallowDomains:
type:
- array
- 'null'
items:
type: string
additionalProperties: false
PrintType:
enum:
- Ticket
- ETicket
- Receipt
- MailingLabel
- WillCall
- NameBadge
- Season
type: string
InvoiceRelativeDays:
enum:
- UponReceipt
- SevenDaysAfterOrder
- FourteenDaysAfterOrder
- ThirtyDaysAfterOrder
- ThirtyDaysBeforeEvent
- FourteenDaysBeforeEvent
- SevenDaysBeforeEvent
- DueByEvent
type: string
OrderCreateOutput:
type: object
properties:
RequiresAction:
type: boolean
ActionInfo:
type:
- object
- 'null'
additionalProperties:
type:
- string
- 'null'
Results:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/OrderResultOutput'
additionalProperties: false
FieldInput:
required:
- Id
type: object
properties:
Id:
type: string
format: uuid
Value: {}
additionalProperties: false
FeeItemType:
enum:
- Fee
- Tax
type: string
OrderCreateDirectInput:
required:
- EventNumber
- FirstName
- LastName
- NumberOfTickets
type: object
properties:
AccessKey:
type:
- string
- 'null'
FirstName:
maxLength: 50
minLength: 0
type: string
LastName:
maxLength: 50
minLength: 0
type: string
Organization:
maxLength: 100
minLength: 0
type:
- string
- 'null'
Street1:
maxLength: 100
minLength: 0
type:
- string
- 'null'
Street2:
maxLength: 100
minLength: 0
type:
- string
- 'null'
City:
maxLength: 100
minLength: 0
type:
- string
- 'null'
Region:
maxLength: 100
minLength: 0
type:
- string
- 'null'
Country:
maxLength: 2
minLength: 2
type:
- string
- 'null'
PostalCode:
maxLength: 20
minLength: 0
type:
- string
- 'null'
Phone:
maxLength: 100
minLength: 0
pattern: ^((?:[\.\*\(\)\-\/\s\+]*\d){10,})(.*)$
type:
- string
- 'null'
Email:
maxLength: 100
minLength: 0
pattern: ^([0-9A-Za-zÀ-ÖØ-öø-ÿ']+[-._+&])*[0-9A-Za-zÀ-ÖØ-öø-ÿ_']+@([-0-9A-Za-zÀ-ÖØ-öø-ÿ]+[.])+[a-zA-Z]{2,63}$
type:
- string
- 'null'
IsPOS:
type: boolean
EventNumber:
type: integer
format: int64
NumberOfTickets:
maximum: 200
minimum: 1
type: integer
format: int32
Notes:
type:
- string
- 'null'
SendEmail:
type: boolean
ShipMethod:
maxLength: 100
minLength: 0
type:
- string
- 'null'
description: Deprecated. Delivery methods are no longer supported; this field is accepted for backwards compatibility but ignored.
additionalProperties: false
OrderSingleOutput:
type: object
properties:
Id:
type: string
format: uuid
OrderKey:
type:
- string
- 'null'
ObjectNumber:
type: integer
format: int64
AttendeeCount:
type: integer
format: int32
OrderedAt:
type: string
format: date-time
OrderedAtLocal:
type: string
format: date-time
IsAdjustment:
type: boolean
IsPOS:
type: boolean
IsKiosk:
type: boolean
IsApp:
type: boolean
AcctCode:
type:
- string
- 'null'
BillingName:
type:
- string
- 'null'
BillingAddress:
type:
- string
- 'null'
BillingFirstName:
type:
- string
- 'null'
BillingLastName:
type:
- string
- 'null'
BillingOrganization:
type:
- string
- 'null'
BillingStreet1:
type:
- string
- 'null'
BillingStreet2:
type:
- string
- 'null'
BillingCity:
type:
- string
- 'null'
BillingRegion:
type:
- string
- 'null'
BillingPostal:
type:
- string
- 'null'
BillingCountry:
type:
- string
- 'null'
ContactPhone:
type:
- string
- 'null'
ContactEmail:
type:
- string
- 'null'
DeliveryMethod:
type:
- string
- 'null'
HostAddress:
type:
- string
- 'null'
ThirdPartyCustomerId:
type:
- string
- 'null'
SubTotal:
type: number
format: double
Total:
type: number
format: double
Summary:
type:
- string
- 'null'
IsAttendeeTypeAdjustment:
type: boolean
AttendeeTotal:
type: number
format: double
DiscountTotal:
type: number
format: double
OrderFee:
type: number
description: Deprecated. Order fees have been folded into API.Models.OrderSingleOutput.FeeTotal; this property is kept for backwards compatibility but should be ignored.
format: double
FeeTotal:
type: number
format: double
TaxTotal:
type: number
format: double
DeliveryTotal:
type: number
description: Deprecated. Delivery has been folded into API.Models.OrderSingleOutput.FeeTotal; this property is kept for backwards compatibility but should be ignored.
format: double
TaxLabel:
type:
- string
- 'null'
UndistributedFees:
type: number
format: double
FeesTotal:
type: number
format: double
Fields:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/FieldOutput'
Attendees:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/OrderAttendeeSummaryOutput'
RelatedOrders:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/OrderRelationshipOutput'
Payments:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/OrderListPaymentOutput'
PaymentMethod:
type:
- string
- 'null'
readOnly: true
TransactionId:
type:
- string
- 'null'
readOnly: true
TransactionTotal:
type: number
format: double
readOnly: true
ExternalInvoiceId:
type:
- string
- 'null'
readOnly: true
QRCode:
type:
- string
- 'null'
Notes:
type:
- string
- 'null'
ExternalId:
type:
- string
- 'null'
PaidInFull:
type: boolean
ExternalCustomerId:
type:
- string
- 'null'
FlagState:
type:
- string
- 'null'
additionalProperties: false
StringStringKeyValuePair:
type: object
properties:
Key:
type:
- string
- 'null'
Value:
type:
- string
- 'null'
additionalProperties: false
OrderPrintInput:
required:
- Orders
- Type
type: object
properties:
Type:
$ref: '#/components/schemas/PrintType'
Orders:
type: array
items:
type: string
format: uuid
Format:
$ref: '#/components/schemas/PrintFormat'
ImageDpi:
type: integer
format: int32
additionalProperties: false
FieldUpdateInput:
type: object
properties:
AccessKey:
type:
- string
- 'null'
FieldValues:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/FieldInput'
UpdateNewOnly:
type: boolean
additionalProperties: false
OrderListOutput:
type: object
properties:
Id:
type: string
format: uuid
OrderKey:
type:
- string
- 'null'
OrderedAt:
type: string
format: date-time
OrderedAtLocal:
type: string
format: date-time
IsPOS:
type: boolean
IsKiosk:
type: boolean
IsApp:
type: boolean
AcctCode:
type:
- string
- 'null'
ObjectNumber:
type: integer
format: int64
IsAdjustment:
type: boolean
BillingFirstName:
type:
- string
- 'null'
BillingLastName:
type:
- string
- 'null'
HostAddress:
type:
- string
- 'null'
ThirdPartyCustomerId:
type:
- string
- 'null'
SubTotal:
type: number
format: double
UndistributedFees:
type: number
format: double
OrderTotal:
type: number
format: double
AttendeeTotal:
type: number
format: double
DiscountTotal:
type: number
format: d
# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/brushfire/refs/heads/main/openapi/brushfire-orders-api-openapi.yml