Brushfire Promotions API

The Promotions API from Brushfire — 4 operation(s) for promotions.

Operations 4

GET /promotions List all promotions for a specific client (and additional parameters)
GET /promotions/{promotionId} Get details of a single promotion
POST /promotions/dynamic Creates the specified quantity of dynamic promotions based upon the provided template code
POST /promotions/import Support for promotion creation based upon provided list of names

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/brushfire-promotions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

brushfire-promotions-api-openapi.yml Raw ↑
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