Login

"

API Basics

Fundraise.com provides a RESTful API that exposes the majority of the data and actions available to each user account via a JSON interface. Incoming data can be sent as a POST or as JSON provided the mime-type of "application/json" is sent in the request headers. Most actions are performed on either an organization or a fundraiser. All fundraisers are scoped beneath organizations.

The root url of the current version of the API is https://api.fundraise.com/v1/. Please note that all API request must be made over HTTPS. The server will not respond to non-SSL requests on port 80.

Authentication

For API requests that require authentication, the system uses an authentication token associated with a normal fundraise.com user account. We recommend that organizations create a separate admin account just for API access. Requests made with the API token of a specific account will have access to the same organizations, fundraisers and reports as the account in question.

To get an authentication token, POST to the /login url with with an email and password. You will receive a user data record back:

POST /v1/login.json
email=developer@fundraise.com&password=123456
{ "id"=>"4d81619523dc6338ff00001c",
  "first_name"=>"Developer",
  "last_name"=>"Account",
  "authentication_token"=>"dggast423egdsadsdsf"
}

Subsequent requests should pass the authentication token as a parameter called ?auth_token to the the request, either in the GET string or in the POST data. For example to get fundraisers associate with the account above, you could make the following request:

GET /v1/user/fundraisers.json?auth_token=dggast423egdsadsdsf

Organizations

Listing Organizations

To return data about a list of organizations you can use the /v1/organizations url to return a list of organizations. The organizations list will return up to 25 organizations per page.

GET /v1/organizations.json
[{"id"=>"4d812ac123dc6328bf000009",
  "name"=>"Test Organization"
  "organization_type"=>"other",
  "permalink"=>"demo-org",
  "address"=>
  { "address"=>"123 Elm St.",
    "address_2"=>"",
    "address_3"=>nil,
    "city"=>"Boston",
    "state"=>"MA",
    "zip"=>"02110",
    "country"=>"US" },
  "headerImage"=>nil},

... More Organizations ...

]

Parameters to /v1/organization.json

Parameter Description
page Page of results to show (starting at 1)
limit Number of results per page
q Search query to match

Viewing organizations

To return data about a specific organization you can use /v1/organizations/:id.json. The url parameter can be either the ID of the organization or the permalink parameter from the previous section.

GET /v1/organizations/demo-org.json
GET /v1/organizations/4d812ac123dc6328bf000009.json
{ "id"=>"4d812ac123dc6328bf000009",
  "name"=>"Test Organization"
  "organization_type"=>"other",
  "permalink"=>"demo-org",
  "address"=>
  { "address"=>"123 Elm St.",
    "address_2"=>"",
    "address_3"=>nil,
    "city"=>"Boston",
    "state"=>"MA",
    "zip"=>"02110",
    "country"=>"US" },
  "headerImage"=>nil}



Fundraisers

Listing Fundraisers

The API provides a number of different ways to return a list of fundraisers. To list fundraisers without an organization, you can use the base /v1/fundraisers.json url, which allows you to specificy a page, limit and search query.

GET /v1/fundraisers.json
[{"id"=>"4e28a88235f6a96d68000309",
  "permalink"=>"testfundraiser",
 "name"=>"Test Fundraiser",
 "goal"=>150000.0,
 "total_display"=>"1340.00",
 "total"=>1340.0,
 "website"=>"www.fundraise.com"
 "description"=>"This is a test fundraiser description",
 "photo1"=> "https://s3.amazonaws.com/...",
 "featuredThumb"=> "https://s3.amazonaws.com/...",
 "thumb1"=>"https://s3.amazonaws.com/..."
 "headerImage"=> "https://s3.amazonaws.com/..."
 "organization"=>
  {"id"=>"4e28a45523dc632eb60002b7",
   "name"=>"Fundraisercom",
   "organization_type"=>"nonprofit",
   "permalink"=>"demo-org",
   "address"=>
    {"address"=>"123 Elm St.",
     "address_2"=>nil,
     "address_3"=>nil,
     "city"=>"Boston",
     "state"=>"MA",
     "zip"=>"02113",
     "country"=>"US"},
   "headerImage"=>nil},
 "expires_at"=>nil,
 "url"=>"/demo-org",
 "fundraiserImages"=>[],
 "published"=>true,
 "video"=>"http://www.youtube.com/watch?v=6ATuKcyPgB8"
 }

... More Fundraisers ...

]

parameters to /v1/fundraisers.json

parameter description
page page of results to show (starting at 1)
limit number of results per page
q search query to match

Scoped Fundraisers

The API also provides a number of different ways to scope the list of fundraisers. You can view fundraisers owned by the user of the provided auth_token, supported by the user of the provided auth_token, by organization or by category. Each of these provides a single list of fundraisers back, without searching or pagination.

# Fundraisers by organization
GET /v1/organization/testorganization/fundraisers.json 

# Fundraisers by user (auth_token required)
GET /v1/user/fundraisers.json 

# Fundraisers supported by user (auth_token required)
GET /v1/user/supported_fundraisers.json 
{"id"=>"4e28a88235f6a96d68000309",
 "permalink"=>"testfundraiser",
 "name"=>"Test Fundraiser",
 "goal"=>150000.0,
 "total_display"=>"1340.00",
 "total"=>1340.0,
 "website"=>"www.fundraise.com"
 "description"=>"This is a test fundraiser description",
 "photo1"=> "https://s3.amazonaws.com/...",
 "featuredThumb"=> "https://s3.amazonaws.com/...",
 "thumb1"=>"https://s3.amazonaws.com/..."
 "headerImage"=> "https://s3.amazonaws.com/..."
 "organization"=>
  {"id"=>"4e28a45523dc632eb60002b7",
   "name"=>"Fundraisercom",
   "organization_type"=>"nonprofit",
   "permalink"=>"demo-org",
   "address"=>
    {"address"=>"123 Elm St.",
     "address_2"=>nil,
     "address_3"=>nil,
%li
  %a{:href => '#organizations'} Organizations
     "city"=>"Boston",
     "state"=>"MA",
     "zip"=>"02113",
     "country"=>"US"},
   "headerImage"=>nil},
 "expires_at"=>nil,
 "url"=>"/demo-org",
 "fundraiserImages"=>[],
 "published"=>true,
 "video"=>"http://www.youtube.com/watch?v=6ATuKcyPgB8"
 }

... More Fundraisers ...

]

Viewing fundraisers

To return data about a specific fundraiser you must scope the request underneath the id or permalink of the organization. The path for pulling a specific fundraiser is /v1/organization/:organization-permalink/fundraisers/:fundraiser-permalink. The fundraise also provides a url parameter which represents the url on the fundraise.com website (most fundraisers are scoped beneath their organization but some have top level urls)

GET /v1/organizations/demo-org/fundraisers/testfundraiser.json
GET /v1/organizations/demo-org/fundraisers/4d812ac123dc6328bf000009.json
{"id"=>"4e28a88235f6a96d68000309",
 "permalink"=>"testfundraiser",
 "name"=>"Test Fundraiser",
 "goal"=>150000.0,
 "total_display"=>"1340.00",
 "total"=>1340.0,
 "website"=>"www.fundraise.com"
 "description"=>"This is a test fundraiser description",
 "photo1"=> "https://s3.amazonaws.com/...",
 "featuredThumb"=> "https://s3.amazonaws.com/...",
 "thumb1"=>"https://s3.amazonaws.com/..."
 "headerImage"=> "https://s3.amazonaws.com/..."
 "organization"=>
  {"id"=>"4e28a45523dc632eb60002b7",
   "name"=>"Fundraisercom",
   "organization_type"=>"nonprofit",
   "permalink"=>"demo-org",
   "address"=>
    {"address"=>"123 Elm St.",
     "address_2"=>nil,
     "address_3"=>nil,
     "city"=>"Boston",
     "state"=>"MA",
     "zip"=>"02113",
     "country"=>"US"},
   "headerImage"=>nil},
 "expires_at"=>nil,
 "url"=>"/demo-org",
 "fundraiserImages"=>[],
 "published"=>true,
 "video"=>"http://www.youtube.com/watch?v=6ATuKcyPgB8"
 }

Donations

Submitting Donations

The API provides a way to process donations by POSTing to the donations.json path of a specific fundraiser. Unless an organization has pre-arranged API access to the donations API, donations sent via the API are subject to alower fraud-check trigger than normal donations made via the website. Please contact Fundraise.com if you would like to submit donations via the API. Sucessful donation will return a status code of 201, failed donation will return 406 along with the submitted data.

POST /v1/organizations/demo-org/fundraisers/testfundraiser/donations.json
donation[donation]=10&
donation[payment_information][first_name]=Test&
donation[payment_information][last_name]=Donation&
donation[payment_information][cc]=4111111111111111&
donation[payment_information][cvc]=111&
donation[payment_information][month]=3&
donation[payment_information][year]=2015&
donation[payment_information][email]=test@fundraise.com&
donation[billing_address][address]=1+Test+Lane&
donation[billing_address][zip]=02110

Parameters to /v1/organization/:permalink/fundraisers/:permalink/donations.json

Parameter Description
donation[donation] Donation Amount in dollars
donation[payment_information][first_name] first name of donor
donation[payment_information][last_name] Last name of donor
donation[payment_information][cc] Credit card number
donation[payment_information][cvc] card verification code
donation[payment_information][month] expiration month of card
donation[payment_information][year] expiration year of card
donation[payment_information][email] email address of donor
donation[billing_address][address] donor billing street address
donation[billing_address][zip] donor billing zip code

Additional parameters for political campaigns

Political campaigns require additional information for them to process donations

Parameter Description
donation[payment_information][employer] employer of the donor
donation[payment_information][occupation] occupation of the donor
donation[billing_address][city] donor billing city
donation[billing_address][state] donor billing state

Listing Donations

Information about donations can be retrieved by organization or by fundraiser. Retrieving donations requires an authenticated account that has administrative permissions on the organization or fundraiser in question.

# Fetch donation by fundraiser 
GET /v1/organizations/demo-org/fundraisers/testfundraiser/donations.json

# Fetch donation by organization
GET /v1/organizations/demo-org/donations.json

[{"id"=>1986, 
  "ordered_at"=>"2012-04-02T16:49:02-04:00", 
  "total"=>"432.0", 
  "email"=>"test@fundraiser.com", 
  "organization_id"=>"4f7a1090fb224610d5000029", 
  "address"=>"123 Elm st", 
  "zip"=>"02110", 
  "supporter"=>nil, 
  "offline"=>true, 
  "payment_type"=>"Preprocessed", 
  "comment"=>nil, 
  "fundraiser"=>"testerama", 
  "fundraiser_id"=>"4f7a1093fb224610d500002d"}
  
  .. More Donations ..
]

Donation list parameters

Parameter Description
limit Donations per page, maximum 100
page Page of data to return, starting at 1
before Donations before a date YYYY-MM-DD
after Donations after a date YYYY-MM-DD

Events

The Events API allows you to fetch event information by organization.

Documentation coming soon please contact us directly for more details

Ticketing and Check-in

The Fundraise.com ticketing API allows you to fetch attendeees and check attendees into events.

Documentation coming soon please contact us directly for more details

Auction

The Fundraise.com Auction API provides access to auction items, auction bids and auction item purchasing functionality.

Documentation coming soon please contact us directly for more details