Donor Tools

Donor Tools User Guide

  • Sign In
  • Quick Start
    • Welcome Video
    • Signing In
    • Public Profile
    • Set Your Fiscal Year
    • Setting Up PayPal
    • System Requirements
  • Importing Data
    • Introduction To Importing
    • Uploading Your File
    • Importing Donors
    • Importing Donations
    • Importing A Mixed File
    • Data Quality
    • Supported Fields
    • Undoing An Import
    • Updating Existing Records
    • Data Tips
  • Data Management
    • Creating A Donor
    • Recording A Donation
    • Editing A Donation
    • Editing A Donor
    • Merging Two Donors
    • Funds
    • Sources
    • Important Dates
    • Soft Crediting A Donation
    • Relationships
    • Users
    • Custom Data Types
    • Find Duplicates
    • Pledges And Pledge Payments
    • Recording A Note
    • Tag Many Donors At Once
    • Tagging Donors
  • Reporting
    • Donations Report
    • Exporting Donations
    • Exporting Donors
    • Generate A Tax Receipt
    • Print A Report
    • Smart Tag: Donors In Year
    • Smart Tag: Filter By State
    • Smart Tag: New Donors
    • Smart Tags
    • Year End Reports
  • Acknowledgements
    • Thank You Emails
    • Thank You Letters
    • Mail Merge Fields
    • Letterhead
    • Year End Statement: Email
    • Year End Statement: Print
  • Fundraising
    • Creating Fund Pages
    • Customizing Fund Pages
    • Fundraising Event
    • Online Donation Widget
    • Paypal: Recurring Donations
  • Tips And Tricks
    • Anonymous Donors
    • Bulk Mailings
    • In Kind Donations
    • Print Labels & Envelopes
    • Volunteer Hours
  • Integrations
    • MailChimp
    • PayPal
    • Quickbooks Export
  • Donor Self Service
    • Signup As A Donor
  • API
    • Overview
    • Pagination
    • Funds
    • Sources
    • People
    • Donations
    • Emails
    • Organization
    • Soft Credits
    • Types

Donor Tools API

Donor Tools is the first online donor management system to offer a truly open, full-featured API. Just about anything that can be done in Donor Tools can also be done outside Donor Tools, using the API. The only difference is that you're dealing with XML instead of HTML.

API License

Use of the Donor Tools API is subject to the API License Agreement .

Example App

Check out our dead-simple example app on Github:  https://github.com/donortools/Donor-Tools-Consumer-Rails-3 (Rails 3) or https://github.com/donortools/Donor-Tools-Consumer (Rails 2). The example app might give you some ideas about how you can interact with our API.

Donor Tools API Google Group

Join our Donor Tools API group on Google to keep up with the latest developments and seek advice from other developers.

HTTPS Protocol

Everything in the Donor Tools API uses XML over HTTPS using the four REST verbs GET/POST/PUT/DELETE . The Donor Tools API tries to follow REST principles pretty closely.

Authentication

Donor Tools uses HTTP Basic authentication. Every request must include the Authorization HTTP header. For example:

curl -u my-user@example.com:it2at9yags https://demo.donortools.com/donations.xml

API User

You'll need to sign up for a Donor Tools account in order to use the API. If you don't already have a Donor Tools account, you can get one by going to www.donortools.com/signup .

Donor Tools' auditing feature logs each and every action for your account. Thus, if you provide your own username and password for the API (not recommended), all actions through the API will appear as being committed by you. We recommend creating a separate API user to provide finer grained reporting detail. This technique also helps protect your personal authentication parameters, as you can provide a different username and password.

SSL

All requests must be made over SSL (port 443).

Available Resources

Most resources are available via REST simply by attaching ".xml" to the URL. Try it with your web browser! For example, if you're viewing a donation at /donations/1, simply change the URL to /donations/1.xml to see the XML output in your browser.

Personas

Personas are the backbone of recordkeeping in Donor Tools. A persona can have many donations.

Donations

A donation belongs to a persona. Every donation must have one or more splits. A donation also may have one source. Each split must have one fund.

Sources

Sources describe where a donation is coming from. Sources are frequently used to represent fundraising campaigns or specific mailings.

Funds

Funds describe where a donation split is going to. Funds often correspond with an organization's programs.

Testing with cURL

You can use cURL to test many API methods.

GET

curl -u user@example.com:it2at9yags https://demo.donortools.com/donations.xml

POST, PUT

When using POST or PUT, remember to pass "application/xml" in the Content-type header.

curl -X POST -H 'Content-type: application/xml' --data @new_donation.xml \
-u user@example.com:it2at9yags https://demo.donortools.com/donations.xml

All text and images copyright © 2008-2022 Donor Tools. All rights reserved.

Donor Tools™ is a big idea by Higher Pixels, LLC.

Privacy Policy • Terms of Service • Contact Support