Brushfire Exchanges API
The Exchanges API from Brushfire — 2 operation(s) for exchanges.
The Exchanges API from Brushfire — 2 operation(s) for exchanges.
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-exchanges-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 Exchanges API'
version: '2025-07-22'
description: The Brushfire REST API provides programmatic access to the Brushfire event ticketing and registration platform.
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: Exchanges
paths:
/exchanges:
post:
tags:
- Exchanges
summary: Create an exchange
requestBody:
description: Exchange create body
content:
application/json:
schema:
$ref: '#/components/schemas/ExchangeInput'
text/json:
schema:
$ref: '#/components/schemas/ExchangeInput'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ExchangeInput'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ExchangeOutput'
text/json:
schema:
$ref: '#/components/schemas/ExchangeOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
operationId: postExchanges
x-operation-id-source: derived
/exchanges/{exchangeId}:
delete:
tags:
- Exchanges
summary: Deletes an exchange based on the provided exchange ID and client key
parameters:
- name: exchangeId
in: path
description: A valid ExchangeId
required: true
schema:
type: string
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: []
operationId: deleteExchangesByExchangeId
x-operation-id-source: derived
get:
tags:
- Exchanges
summary: Get full details of an exchange
parameters:
- name: exchangeId
in: path
description: A valid ExchangeId
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ExchangeOutput'
text/json:
schema:
$ref: '#/components/schemas/ExchangeOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
operationId: getExchangesByExchangeId
x-operation-id-source: derived
put:
tags:
- Exchanges
summary: Update an exchange
parameters:
- name: exchangeId
in: path
description: A valid ExchangeId
required: true
schema:
type: string
requestBody:
description: Exchange update body
content:
application/json:
schema:
$ref: '#/components/schemas/ExchangeInput'
text/json:
schema:
$ref: '#/components/schemas/ExchangeInput'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ExchangeInput'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ExchangeOutput'
text/json:
schema:
$ref: '#/components/schemas/ExchangeOutput'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiModelError'
text/json:
schema:
$ref: '#/components/schemas/ApiModelError'
security:
- apiKey: []
operationId: putExchangesByExchangeId
x-operation-id-source: derived
components:
schemas:
ExchangeOutput:
type: object
properties:
ExchangeId:
type: string
format: uuid
ExchangeMethod:
$ref: '#/components/schemas/ExchangeMethod'
ClientKey:
type:
- string
- 'null'
ExchangeAttendees:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ExchangeAttendeeOutput'
LastModifiedAt:
type: string
format: date-time
SourceEventId:
type: string
format: uuid
IsExchangeRefundAllowed:
type: boolean
ExchangeAttendeesTotal:
type: number
format: double
readOnly: true
additionalProperties: false
ApiModelError:
type: object
properties:
Errors:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/StringStringKeyValuePair'
Message:
type:
- string
- 'null'
Data: {}
StackTrace:
type:
- string
- 'null'
additionalProperties: false
ExchangeMethod:
enum:
- SameEvent
- NewEvent
type: string
ExchangeAttendeeOutput:
type: object
properties:
AttendeeId:
type: string
format: uuid
AttendeeNumber:
type: integer
format: int64
EventId:
type: string
format: uuid
AttendeeTypeId:
type: string
format: uuid
TypeName:
type:
- string
- 'null'
Amount:
type: number
format: double
Addons:
type: number
format: double
Discounts:
type: number
format: double
Fees:
type: number
format: double
Taxes:
type: number
format: double
Deliveries:
type: number
description: Deprecated. Delivery has been folded into API.Models.ExchangeAttendeeOutput.Fees; this property is kept for backwards compatibility but should be ignored.
format: double
Status:
type:
- string
- 'null'
IsCompleted:
type: boolean
ExternalId:
type:
- string
- 'null'
ExternalDescription:
type:
- string
- 'null'
IsAddon:
type: boolean
Total:
type: number
format: double
readOnly: true
additionalProperties: false
ExchangeInput:
required:
- AccessKey
- AttendeeNumbers
- ClientKey
- ExchangeMethod
- SourceEventId
type: object
properties:
ClientKey:
minLength: 1
type: string
AttendeeNumbers:
type: array
items:
type: integer
format: int64
ExchangeMethod:
$ref: '#/components/schemas/ExchangeMethod'
AccessKey:
minLength: 1
type: string
SourceEventId:
type: string
format: uuid
additionalProperties: false
StringStringKeyValuePair:
type: object
properties:
Key:
type:
- string
- 'null'
Value:
type:
- string
- 'null'
additionalProperties: false
securitySchemes:
apiKey:
type: apiKey
description: The App Key you received from https://developer.brushfire.com/key
name: Authorization
in: header