openapi: 3.0.3 info: title: Donorbox Campaigns Events 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: Events description: Ticketed fundraising events. paths: /events: get: operationId: listEvents tags: - Events summary: List ticketed events description: Returns all ticketed fundraising events for the authenticated organization. Endpoint and response shape confirmed in the official README sample payload; documented filter parameters were not published beyond common pagination/ordering, so only those are modeled here. parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' - $ref: '#/components/parameters/Order' responses: '200': description: A list of events. content: application/json: schema: type: array items: $ref: '#/components/schemas/Event' '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: Event: type: object properties: id: type: integer name: type: string slug: type: string currency: type: string created_at: type: string format: date-time updated_at: type: string format: date-time total_raised: type: number formatted_total_raised: type: string donations_count: type: integer tickets_count: type: integer 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.