Donorbox Purchases API

Event ticket purchase transactions.

OpenAPI Specification

donorbox-purchases-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Donorbox Campaigns Purchases 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: Purchases
  description: Event ticket purchase transactions.
paths:
  /purchases:
    get:
      operationId: listPurchases
      tags:
      - Purchases
      summary: List event ticket purchases
      description: Returns all event ticket purchase transactions for the authenticated organization. Endpoint and response shape confirmed in the official README sample payload.
      parameters:
      - name: payment_status
        in: query
        description: Filter purchases by payment status. Defaults to `succeeded` if an invalid value is passed.
        schema:
          type: string
          enum:
          - succeeded
          - pending
          - failed
          - refunded
          default: succeeded
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PerPage'
      - $ref: '#/components/parameters/Order'
      responses:
        '200':
          description: A list of event ticket purchases.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Purchase'
        '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
    Purchase:
      type: object
      properties:
        id:
          type: integer
        currency:
          type: string
        status:
          type: string
          enum:
          - succeeded
          - pending
          - failed
          - refunded
          - paid
        supporter_id:
          type: integer
        amount:
          type: number
        amount_formatted:
          type: string
        amount_refunded:
          type: number
        date:
          type: string
          format: date-time
        tickets_count:
          type: integer
        preferences_answer:
          nullable: true
        event:
          type: object
          properties:
            id:
              type: integer
            name:
              type: string
        tickets:
          type: array
          items:
            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'
  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.
Where this information came from

This is an independent, third-party profile of Donorbox Purchases API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.