Brushfire Hooks API

The Hooks API from Brushfire — 7 operation(s) for hooks.

OpenAPI Specification

brushfire-hooks-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: 'Brushfire API: Version 2025-07-22 AccessCodes Hooks 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: Hooks
paths:
  /hooks/list:
    get:
      tags:
      - Hooks
      summary: For 3rd party and custom integrations to list hooks subscribed by appKey
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/HookSubscribeOutput'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/HookSubscribeOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
  /hooks/ping:
    get:
      tags:
      - Hooks
      summary: For 3rd party and custom integrations to test connectivity after authentication
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items: {}
            text/json:
              schema:
                type: array
                items: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
  /hooks/poll:
    get:
      tags:
      - Hooks
      summary: For 3rd party and custom integrations to view shape for `data` property of POST from Brushfire
      parameters:
      - name: type
        in: query
        description: ''
        schema:
          $ref: '#/components/schemas/WebhookType'
      - name: eventId
        in: query
        description: ''
        schema:
          type: string
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
  /hooks/sample:
    get:
      tags:
      - Hooks
      summary: For 3rd party and custom integrations to view shape for `data` property of POST from Brushfire
      parameters:
      - name: type
        in: query
        description: ''
        schema:
          $ref: '#/components/schemas/WebhookType'
      - name: eventId
        in: query
        description: ''
        schema:
          type: string
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
  /hooks/subscribe:
    post:
      tags:
      - Hooks
      summary: For 3rd party and custom integrations to subscribe to our notifications
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HookSubscribeInput'
          text/json:
            schema:
              $ref: '#/components/schemas/HookSubscribeInput'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/HookSubscribeInput'
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
  /hooks/unsubscribe:
    post:
      tags:
      - Hooks
      summary: For 3rd party and custom integrations to unsubscribe from our notifications
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HookUnsubscribeInput'
          text/json:
            schema:
              $ref: '#/components/schemas/HookUnsubscribeInput'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/HookUnsubscribeInput'
      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: []
  /hooks/update:
    put:
      tags:
      - Hooks
      summary: For 3rd party and custom integrations to update objects on existing subscriptions
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HookUpdateInput'
          text/json:
            schema:
              $ref: '#/components/schemas/HookUpdateInput'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/HookUpdateInput'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HookSubscribeOutput'
            text/json:
              schema:
                $ref: '#/components/schemas/HookSubscribeOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiModelError'
      security:
      - apiKey: []
components:
  schemas:
    HookSubscribeInput:
      required:
      - Type
      - Url
      type: object
      properties:
        Url:
          minLength: 1
          pattern: ^(?!.*(localhost|127\.0\.0\.1|\.local\b)).*$
          type: string
        Type:
          $ref: '#/components/schemas/WebhookType'
        Objects:
          type: array
          items:
            type: integer
            format: int64
          description: This can be Event Numbers, Account Numbers, Client Numbers, etc.
          nullable: true
      additionalProperties: false
    HookUpdateInput:
      required:
      - Url
      type: object
      properties:
        Url:
          minLength: 1
          type: string
        Objects:
          type: array
          items:
            type: integer
            format: int64
          description: This can be Event Numbers, Account Numbers, Client Numbers, etc.
          nullable: true
      additionalProperties: false
    HookUnsubscribeInput:
      required:
      - Url
      type: object
      properties:
        Url:
          minLength: 1
          type: string
      additionalProperties: false
    StringStringKeyValuePair:
      type: object
      properties:
        Key:
          type: string
          nullable: true
        Value:
          type: string
          nullable: true
      additionalProperties: false
    HookSubscribeOutput:
      type: object
      properties:
        Id:
          type: string
          format: uuid
        Url:
          type: string
          nullable: true
        Type:
          $ref: '#/components/schemas/WebhookType'
        Objects:
          type: array
          items:
            type: integer
            format: int64
          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
    WebhookType:
      enum:
      - Attendee_Created
      - Attendee_Updated
      - Attendee_Cancelled
      - Order_Completed
      - Event_Created
      - Group_Updated
      - Group_Created
      - Group_Deleted
      - Zapier_Post
      - Event_Updated
      - Order_Updated
      - Client_Created
      - Client_Activated
      - Client_Deactivated
      - Email_Unsubscribe
      - Email_Resubscribe
      type: string
  securitySchemes:
    apiKey:
      type: apiKey
      description: The App Key you received from https://developer.brushfire.com/key
      name: Authorization
      in: header