openapi: 3.0.3 info: title: Donorbox Campaigns Tickets API description: The Donorbox API provides read-only access to a nonprofit organization's fundraising data - Campaigns, Donations, Plans (recurring donation subscriptions), Donors, Events, Tickets, and Event Ticket Purchases. The API is a paid add-on available on the Pro and Premium Donorbox plans. All requests use HTTP Basic Auth, with your Donorbox organization login email as the username and your API key as the password. Every list endpoint supports `page`/`per_page` pagination and `order` sorting, and most support endpoint-specific filters. There are no documented write (POST/PUT/PATCH/DELETE) operations - donations, donors, and plans are created through the hosted Donorbox checkout flow, not this API. This document was authored by API Evangelist from the official donorbox/donorbox-api GitHub README and wiki, since Donorbox does not publish its own OpenAPI/Swagger file. version: '1.0' contact: name: Donorbox url: https://donorbox.org license: name: Proprietary (API access is a paid add-on) url: https://github.com/donorbox/donorbox-api servers: - url: https://donorbox.org/api/v1 description: Donorbox production API security: - basicAuth: [] tags: - name: Tickets description: Individual event tickets. paths: /tickets: get: operationId: listTickets tags: - Tickets summary: List event tickets description: Returns all individual event tickets for the authenticated organization. Endpoint and response shape confirmed in the official README sample payload. parameters: - name: payment_status in: query description: Filter tickets by payment status. Documented example is `refunded`. schema: type: string enum: - refunded - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' - $ref: '#/components/parameters/Order' responses: '200': description: A list of tickets. content: application/json: schema: type: array items: $ref: '#/components/schemas/Ticket' '401': $ref: '#/components/responses/Unauthorized' components: parameters: PerPage: name: per_page in: query description: Number of records per page. Default 50, maximum 100 (values above 100 fall back to the default). schema: type: integer default: 50 maximum: 100 Page: name: page in: query description: Page number to return. schema: type: integer default: 1 Order: name: order in: query description: Sort order. schema: type: string enum: - asc - desc default: desc responses: Unauthorized: description: Missing or invalid Basic Auth credentials (organization email / API key). Response shape not published; modeled generically. content: application/json: schema: type: object properties: error: type: string schemas: TicketType: type: object properties: id: type: integer name: type: string fair_market_value: type: number fair_market_value_formatted: type: string tax_deductible_amount: type: number tax_deductible_amount_formatted: type: string tax_amount: type: number tax_amount_formatted: type: string Ticket: type: object properties: id: type: integer currency: type: string free_ticket: type: boolean price: type: number price_formatted: type: string ticket_type: $ref: '#/components/schemas/TicketType' event: type: object properties: id: type: integer name: type: string transaction: type: object description: The purchase transaction this ticket belongs to. properties: id: type: integer city: type: string state: type: string country: type: string zip: type: string currency: type: string first_name: type: string last_name: type: string donation_id: type: integer nullable: true stripe_charge_id: type: string full_name: type: string address: type: string phone: type: string email: type: string format: email supporter_id: type: integer status: type: string purchase_date: type: string format: date-time free_purchase: type: boolean price: type: number price_formatted: type: string donation_amount: type: number nullable: true donation_amount_formatted: type: string nullable: true app_fee: type: number app_fee_formatted: type: string stripe_fee: type: number stripe_fee_formatted: type: string slug: type: string preferences_answer: nullable: true securitySchemes: basicAuth: type: http scheme: basic description: Username is the Donorbox organization login email; password is the API key generated under Account > API & Zapier Integration.