Brushfire Promotions API
The Promotions API from Brushfire — 4 operation(s) for promotions.
The Promotions API from Brushfire — 4 operation(s) for promotions.
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-promotions-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 Promotions 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: Promotions
paths:
/promotions:
get:
tags:
- Promotions
summary: List all promotions for a specific client (and additional parameters)
parameters:
- name: clientId
in: query
description: A string, a GUID, or an integer that corresponds to a specific client
schema:
type: string
- name: kind
in: query
description: An option string value from "Standard", "Template", or "Dynamic" that represents the kind of promotion
schema:
$ref: '#/components/schemas/PromotionKind'
- name: isRedeemed
in: query
description: An optional boolean value if the promotion has been redeemed
schema:
type: boolean
- name: search
in: query
description: An option string to filter promotion codes by name
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PromotionListOutput'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/PromotionListOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
/promotions/{promotionId}:
get:
tags:
- Promotions
summary: Get details of a single promotion
parameters:
- name: promotionId
in: path
description: A GUID that corresponds to a specific promotion
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PromotionSingleOutput'
text/json:
schema:
$ref: '#/components/schemas/PromotionSingleOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
/promotions/dynamic:
post:
tags:
- Promotions
summary: Creates the specified quantity of dynamic promotions based upon the provided template code
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PromotionCreateInput'
text/json:
schema:
$ref: '#/components/schemas/PromotionCreateInput'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PromotionCreateInput'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PromotionCreateOutput'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/PromotionCreateOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
/promotions/import:
post:
tags:
- Promotions
summary: Support for promotion creation based upon provided list of names
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PromotionCreateImportInput'
text/json:
schema:
$ref: '#/components/schemas/PromotionCreateImportInput'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PromotionCreateImportInput'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PromotionCreateOutput'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/PromotionCreateOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
components:
schemas:
PromotionCreateOutput:
type: object
properties:
Id:
type: string
format: uuid
Description:
type:
- string
- 'null'
StartsAt:
type:
- string
- 'null'
format: date-time
EndsAt:
type:
- string
- 'null'
format: date-time
Group:
type:
- string
- 'null'
Kind:
type:
- string
- 'null'
IsSingleUse:
type: boolean
IsRedeemed:
type: boolean
AdminVisible:
type: boolean
InternetVisible:
type: boolean
Amount:
type: number
format: double
IsPercentage:
type: boolean
AutoCalculate:
type: boolean
Names:
type:
- array
- 'null'
items:
type: string
additionalProperties: false
PromotionKind:
enum:
- Standard
- Template
- Dynamic
type: string
ApiModelError:
type: object
properties:
Errors:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/StringStringKeyValuePair'
Message:
type:
- string
- 'null'
Data: {}
StackTrace:
type:
- string
- 'null'
additionalProperties: false
StringStringKeyValuePair:
type: object
properties:
Key:
type:
- string
- 'null'
Value:
type:
- string
- 'null'
additionalProperties: false
PromotionCreateImportInput:
required:
- Names
- TemplateId
type: object
properties:
TemplateId:
type: string
format: uuid
Names:
type: array
items:
type: string
additionalProperties: false
PromotionListOutput:
type: object
properties:
Id:
type: string
format: uuid
Description:
type:
- string
- 'null'
StartsAt:
type:
- string
- 'null'
format: date-time
EndsAt:
type:
- string
- 'null'
format: date-time
Group:
type:
- string
- 'null'
Kind:
type:
- string
- 'null'
IsSingleUse:
type: boolean
IsRedeemed:
type: boolean
AdminVisible:
type: boolean
InternetVisible:
type: boolean
Amount:
type: number
format: double
IsPercentage:
type: boolean
AutoCalculate:
type: boolean
Names:
type:
- array
- 'null'
items:
type: string
additionalProperties: false
PromotionCreateInput:
required:
- Prefix
- Quantity
- TemplateId
type: object
properties:
TemplateId:
type: string
format: uuid
Quantity:
maximum: 250
minimum: 1
type: integer
format: int32
Prefix:
maxLength: 13
minLength: 0
type: string
additionalProperties: false
PromotionSingleOutput:
type: object
properties:
Id:
type: string
format: uuid
Description:
type:
- string
- 'null'
StartsAt:
type:
- string
- 'null'
format: date-time
EndsAt:
type:
- string
- 'null'
format: date-time
Group:
type:
- string
- 'null'
Kind:
type:
- string
- 'null'
IsSingleUse:
type: boolean
IsRedeemed:
type: boolean
AdminVisible:
type: boolean
InternetVisible:
type: boolean
Amount:
type: number
format: double
IsPercentage:
type: boolean
AutoCalculate:
type: boolean
Quantity:
type: integer
format: int32
Limit:
type: integer
format: int32
Exclude:
type: integer
format: int32
IsMultiple:
type: boolean
SpanChildren:
type: boolean
InEachChild:
type: boolean
IncludeAddons:
type: boolean
AllInGroup:
type: boolean
Names:
type:
- array
- 'null'
items:
type: string
RelatedPromotions:
type:
- array
- 'null'
items:
type: string
format: uuid
Events:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/PromotionEventOutput'
additionalProperties: false
PromotionEventOutput:
type: object
properties:
EventId:
type: string
format: uuid
AttendeeTypes:
type:
- array
- 'null'
items:
type: string
format: uuid
additionalProperties: false
securitySchemes:
apiKey:
type: apiKey
description: The App Key you received from https://developer.brushfire.com/key
name: Authorization
in: header