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