REST API resources

Learn how the Fundraise Up API works.

This article will show you how to integrate our fundraising platform with your systems through the Fundraise Up API. For detailed information on obtaining your API key, handling errors, understanding rate limits, and other essential topics, please refer to the API overview article.

The Fundraise Up API allows you to interact with four resources:

  • Donations
  • Recurring plans
  • Supporters
  • Events

You can access and export data for any of these resources. The API also allows you to create and update Donations and their associated Recurring plans, but updates are only allowed within 24 hours of creation and only for donations created through the API.

Currently, the only payment method supported by the API is credit card.

Base URL: https://api.fundraiseup.com

The Fundraise Up API does not support bulk updates. You can only create or update one object per request.

Donations

 
Link copied

The Donation object represents a single donation. It can be either a one-time donation or an installment as part of a recurring plan.

You can create donations, update donations and associated recurring plans sourced from the API, and read donations from your account.

Endpoints:

Create a donation

 
Link copied

Endpoint: POST /v1/donations

This request allows you to create either a one-time donation or a recurring plan.

To create a recurring plan, you must include a recurring_plan object with the frequency parameter. If the object is not provided, a one-time donation will be created.

All fields and values must meet the requirements of your campaign. Otherwise, an error will be returned.

We do not format or verify addresses and emails that were sent through the API.

A Stripe payment method ID is required. For more details on how to create a payment method, refer to the Stripe Payment Methods documentation.

Prerequisites

Make sure you have:

  • A Stripe account that is connected to your Fundraise Up account and activated.
  • An active campaign with a money-based payment method.
  • An API key with permission to create new donations.
  • Access to the Stripe API for the same Stripe account used as the Fundraise Up payment method, with the ability to create Payment Methods.

Parameters

All string parameters will be trimmed first, then all empty strings will be converted to null.

Parameters that are not required can be omitted. Omitted parameters will contain default values where applicable. Fields that accept null values are marked as nullable.


campaign string required

Campaign ID. Must belong to the account that owns the API key, otherwise an error will occur. Must be active and accept money-based donations, otherwise an error will occur.


payment_method dictionary required

Payment method information.

Child parameters

payment_method.stripe dictionary required

Child parameters

payment_method.stripe.id string required

The PaymentMethod ID within the organization’s Stripe account. Card payments are the only accepted payment method.


currency enum required

Three-letter ISO currency code, in lowercase.

Must be one of the following. Note that the list of currencies for your organization may be more limited. You can check the available currencies in your campaign settings.
Name Code
US Dollar usd
Canadian Dollar cad
Euro eur
Afghan Afghani afn
Albanian Lek all
Algerian Dinar dzd
Angolan Kwanza aoa
Argentine Peso ars
Armenian Dram amd
Aruban Florin awg
Australian Dollar aud
Azerbaijani Manat azn
Bahraini Dinar bhd
Bangladeshi Taka bdt
Barbadian Dollar bbd
Belarusian Ruble byn
Belize Dollar bzd
Bermudan Dollar bmd
Bhutanese Ngultrum btn
Bolivian Boliviano bob
Bosnia-Herzegovina Convertible Mark bam
Botswanan Pula bwp
Brazilian Real brl
British Pound gbp
Brunei Dollar bnd
Bulgarian Lev bgn
Burundian Franc bif
Cape Verdean Escudo cve
CFP Franc xpf
Central African CFA Franc xaf
Chilean Peso clp
Chinese Yuan cny
Colombian Peso cop
Comorian Franc kmf
Congolese Franc cdf
Costa Rican Colón crc
Croatian Kuna hrk
Czech Koruna czk
Danish Krone dkk
Djiboutian Franc djf
Dominican Peso dop
East Caribbean Dollar xcd
Egyptian Pound egp
Ethiopian Birr etb
Falkland Islands Pound fkp
Fijian Dollar fjd
Gambian Dalasi gmd
Georgian Lari gel
Ghanaian Cedi ghs
Gibraltar Pound gip
Guatemalan Quetzal gtq
Guinean Franc gnf
Guyanaese Dollar gyd
Haitian Gourde htg
Honduran Lempira hnl
Hong Kong Dollar hkd
Hungarian Forint huf
Icelandic Króna isk
Indian Rupee inr
Indonesian Rupiah idr
Israeli New Shekel ils
Jamaican Dollar jmd
Japanese Yen jpy
Jordanian Dinar jod
Kazakhstani Tenge kzt
Kenyan Shilling kes
Kyrgystani Som kgs
Laotian Kip lak
Lebanese Pound lbp
Lesotho Loti lsl
Liberian Dollar lrd
Macedonian Denar mkd
Malagasy Ariary mga
Malawian Kwacha mwk
Malaysian Ringgit myr
Maldivian Rufiyaa mvr
Mauritian Rupee mur
Mexican Peso mxn
Moldovan Leu mdl
Mongolian Tugrik mnt
Moroccan Dirham mad
Mozambican Metical mzn
Myanmar Kyat mmk
Namibian Dollar nad
Nepalese Rupee npr
Netherlands Antillean Guilder ang
New Zealand Dollar nzd
Nicaraguan Córdoba nio
Nigerian Naira ngn
Norwegian Krone nok
Omani Rial omr
Pakistani Rupee pkr
Panamanian Balboa pab
Papua New Guinean Kina pgk
Paraguayan Guarani pyg
Peruvian Sol pen
Philippine Peso php
Polish Zloty pln
Qatari Riyal qar
Romanian Leu ron
Russian Ruble rub
Rwandan Franc rwf
Saudi Riyal sar
Serbian Dinar rsd
Seychellois Rupee scr
Sierra Leonean Leone (1964–2022) sll
Singapore Dollar sgd
Solomon Islands Dollar sbd
South African Rand zar
South Korean Won krw
Sri Lankan Rupee lkr
St. Helena Pound shp
Sudanese Pound sdg
Surinamese Dollar srd
Swedish Krona sek
Swiss Franc chf
Syrian Pound syp
Tajikistani Somoni tjs
Tanzanian Shilling tzs
Thai Baht thb
Tongan Paʻanga top
Trinidad and Tobago Dollar ttd
Tunisian Dinar tnd
Turkish Lira try
Turkmenistani Manat tmt
Ugandan Shilling ugx
Ukrainian Hryvnia uah
United Arab Emirates Dirham aed
Uruguayan Peso uyu
Uzbekistani Som uzs
Vanuatu Vatu vuv
Venezuelan Bolívar vef
Vietnamese Dong vnd
West African CFA Franc xof
Yemeni Rial yer
Zambian Kwacha zmw

amount string required

Donation amount in the selected currency. Must be a decimal string in the format {NNN}[.nn]. Examples: 9.99 (for USD), 200 (for JPY).

The amount must be greater than $1 or the equivalent in other currencies. If a minimum amount is set for the campaign, the donation must meet or exceed that value.


supporter dictionary required

Supporter's personal data.

Child parameters

supporter.first_name string required

Up to 256 characters.

supporter.last_name string required

Up to 256 characters.

supporter.phone nullable string

Up to 20 characters.

Required if the campaign is configured to require the supporter to provide their phone number.

supporter.address nullable dictionary

Required if the campaign is configured to require the supporter to provide their mailing address. Also affected by the minimum amount required.

Child parameters

supporter.address.country string required

Two-letter country code, lowercase.

supporter.address.region nullable string required for some countries

Up to 64 characters.

Required for all countries except gb (United Kingdom), il (Israel), nl (Netherlands), fr (France), de (Germany). Can be: region, state, or province.

supporter.address.city string required

Up to 64 characters.

supporter.address.line1 string required

Up to 256 characters.

supporter.address.line2 nullable string

Up to 256 characters.

supporter.address.postal_code string required

Up to 10 characters.

supporter.title nullable enum

Supporter’s title, in lowercase. Available options depend on the campaign settings. Available for the following countries:

United Kingdom France Germany Austria Canada (French)
mr m herr herr m
mrs mme frau frau mme
miss mlle prof mlle
ms autre dr autre
mx
sir
dr
rev
dcn
fr
br
sr
prof

supporter.email nullable string

Up to 254 characters.

supporter.employer nullable dictionary

Only allowed if employer matching is enabled for the campaign.

Child parameters

supporter.employer.name string required

Up to 64 characters.


comment nullable string

Up to 256 characters.


recurring_plan dictionary

Recurring plan parameters.

This must be specified if the campaign settings in the Frequency section do not include “Once” as an option for either Default Frequency or Second Frequency.

Child parameters

recurring_plan.frequency enum required

Can be: daily, weekly, biweekly, every4weeks, monthly, bimonthly, quarterly, semiannual, or annual.

Must match campaign settings for default or additional frequency.


skip_thank_you_email boolean

false (default) will send a donation receipt email for the first installment.

true will prevent the donation receipt email from being sent for the first installment.

Available for recurring plans only.

To use this parameter, you must also include the email parameter.

Sending this parameter for a one-time donation will return an error.


questions array of dictionaries

Required if there are required questions in the campaign settings.

Child parameters

Each item must include an id and, depending on the question type, one of the following fields: text, options, or checked.

questions.id string required

Question ID located in Settings > Questions.

questions.text string

Up to 256 characters.

Required for questions with types “Text box,” “Text line,” “Select one option,” or “Dropdown menu.”

questions.options array of strings

Required for questions with the type “Multiple checkboxes.”

questions.checked boolean

Required for questions with the type “Single checkbox.”


designation nullable string

Designation ID located in Settings > Designations.

If a default designation exists in the campaign settings and no value is provided, the default designation will be applied.


custom_fields array of dictionaries

Missing fields will be populated with default non-blank values from the campaign settings.

Child parameters

custom_fields.name string required

Up to 256 characters.

custom_fields.value string required

Up to 256 characters.


Example

1{
2  "campaign": "FUNBRRPPNWQ",
3  "payment_method": {
4    "stripe": {
5      "id": "pm_1Q0PsIJvEtkwdCNYMSaVuRz6"
6    }
7  },
8  "currency": "usd",
9  "amount": "9.99",
10  "recurring_plan": {
11    "frequency": "daily"
12  },
13  "supporter": {
14    "first_name": "John",
15    "last_name": "Doe",
16    "title": "mr",
17    "email": "john.doe@example.com",
18    "phone": "7056789834",
19    "address": {
20      "line1": "Street",
21      "line2": "House",
22      "city": "City",
23      "region": "CA",
24      "postal_code": "100100",
25      "country": "us"
26    },
27    "employer": {
28      "name": "Fundraise Up"
29    }
30  },
31  "comment": "Comment",
32  "designation": "ESTPTE7U",
33  "questions": [
34    {
35      "id": "Q1",
36      "text": "Text"
37    },
38    {
39      "id": "Q2",
40      "options": [
41        "Checkbox 1",
42        "Checkbox 2"
43      ]
44    },
45    {
46      "id": "Q3",
47      "checked": false
48    }
49  ],
50  "custom_fields": [
51    {
52      "name": "a",
53      "value": "A"
54    },
55    {
56      "name": "b",
57      "value": "B"
58    }
59  ]
60}

Response

On success, the API returns the donation object. If the parameters are invalid, the call will return an error.

1{
2  "id": "DFQLCFEP",
3  "created_at": "2024-11-10T15:49:12.667Z",
4  "account": {
5    "id": "HRMEIGNS",
6    "code": "123423",
7    "name": "Helping Hands"
8  },
9  "livemode": true,
10  "amount": "9.99",
11  "amount_in_default_currency": "9.99",
12  "amount_before_fees_covered": "9.99",
13  "amount_before_fees_covered_in_default_currency": "9.99",
14  "anonymous": false,
15  "campaign": {
16    "id": "FUNBRRPPNWQ",
17    "code": "GENERAL",
18    "name": "Campaign Name"
19  },
20  "comment": "Comment",
21  "currency": "usd",
22  "custom_fields": [
23    {
24      "name": "a",
25      "value": "A"
26    },
27    {
28      "name": "b",
29      "value": "B"
30    }
31  ],
32  "device": {
33    "type": "desktop",
34    "browser": null,
35    "os": null,
36    "ip": {
37      "address": "127.0.0.1",
38      "country_name": "Spain",
39      "region": "Catalonia",
40      "city": "Barcelona"
41    }
42  },
43  "element": null,
44  "designation": {
45    "id": "ESTPTE7U",
46    "code": "DESIGNATION",
47    "name": "Designation Name"
48  },
49  "status": "succeeded",
50  "failed_at": null,
51  "succeeded_at": "2024-10-11T14:11:01.089Z",
52  "refunded_at": null,
53  "source": "api",
54  "installment": 1,
55  "recurring_plan": null,
56  "on_behalf_of": null,
57  "payment": {
58    "id": "ch_3Q8jYTKL8VnB2RtS0gQZUqoe",
59    "credit_card": {
60      "exp_month": "10",
61      "exp_year": "2025",
62      "last4": "4242"
63    },
64    "email": null,
65    "error_message": null,
66    "method": "credit_card",
67    "processor": "stripe"
68  },
69  "payout": {
70    "amount": "9.20",
71    "amount_in_default_currency": "9.20",
72    "currency": "usd"
73  },
74  "platform_fee": {
75    "amount": "0.20",
76    "amount_in_default_currency": "0.20",
77    "currency": "usd"
78  },
79  "processing_fee": {
80    "amount": "0.59",
81    "amount_in_default_currency": "0.59",
82    "currency": "usd"
83  },
84  "supporter": {
85    "id": "SWYRPXNQ",
86    "email": "john.doe@example.com",
87    "first_name": "John",
88    "last_name": "Doe",
89    "title": "mr",
90    "phone": "7056789834",
91    "employer": {
92      "name": "Fundraise Up"
93    },
94    "address": {
95      "line1": "Street",
96      "line2": "House",
97      "city": "City",
98      "region": "CA",
99      "postal_code": "100100",
100      "country": "us"
101    }
102  },
103  "supporter_covered_fee": "0.00",
104  "tribute": null,
105  "fundraiser": null,
106  "questions": [
107    {
108      "id": "Q1",
109      "code": "CODE1",
110      "text": "Text"
111    },
112    {
113      "id": "Q2",
114      "code": "CODE2",
115      "options": [
116        "Checkbox 1",
117        "Checkbox 2"
118      ]
119    },
120    {
121      "id": "Q3",
122      "code": "CODE3",
123      "checked": false
124    }
125  ],
126  "utm": {
127    "source": null,
128    "campaign": null,
129    "medium": null,
130    "content": null,
131    "term": null
132  },
133  "url": null
134}

In case of an error on the Stripe side, the response will contain an error.stripe_error object with the status and nullable error payload returned by Stripe.

Update a donation and associated recurring plan

 
Link copied

Endpoint: POST v1/donations/:id

This request allows you to update the details of a donation that was made through an API call.

You can make updates to:

  • Enrich data.
  • Modify parameter values.
  • Remove parameter values.
This action is only available within 24 hours of the donation being created.

Donations created outside of the API, such as through the Checkout modal, Campaign Page, or Virtual Terminal, cannot be edited through the API.

The donation ID must belong to the account associated with the API key. Donations from subaccounts cannot be updated using the API key of the parent account. Attempting to do so will result in an error. To update a donation in a subaccount, you must use the API key of that subaccount.

For the update to be successful, the donation object must match the current campaign settings, otherwise the operation will fail with a validation error.

Parallel requests to update one object are not allowed and will result in an error.

Any parameters or child parameters that are not provided will remain unchanged.

A successful update will modify the donation receipt, but no emails will be sent as a result.

If you update recurring plan, the changes will apply to both the specific installment and all future installments.

Parameters

All string parameters will be trimmed first, then all empty strings will be converted to null.

Parameters that are not required may be omitted or set to undefined. If a value is not provided or is undefined, it will not be updated. Fields that accept null values are marked as nullable.

If the campaign is changed, all attributes will be validated to ensure they match the parameters of the target campaign. If the campaign is not changed, only the parameters specified in the request will be validated against the current campaign settings.


campaign string

Campaign ID. Must belong to the account that owns the API key, otherwise an error will occur. Must be active and accept money-based donations, otherwise an error will occur.


supporter dictionary

Supporter's personal data. Only the specified parameters are updated, the others remain unchanged. This means that you can send an object with only some fields, because all parameters are optional.

Child parameters

supporter.first_name string

Up to 256 characters.

supporter.last_name string

Up to 256 characters.

supporter.phone nullable string

Up to 20 characters.

It can only be sent if the campaign setting “Ask for phone number” is enabled.

Required if the campaign is configured to require the supporter to provide their phone number.

supporter.address nullable dictionary

It can only be sent if the campaign setting “Ask for mailing address” is enabled, taking into account the amount specified in the campaign settings that triggers the address request.

Required if the campaign is configured to require the supporter to provide their mailing address. Also affected by the minimum amount required.

To remove the address, pass null for supporter.address.

Child parameters

supporter.address.country string

Two-letter country code, lowercase.

supporter.address.region nullable string required for some countries

Up to 64 characters.

Required for all countries except gb (United Kingdom), il (Israel), nl (Netherlands), fr (France), de (Germany). Can be: region, state, or province.

supporter.address.city string

Up to 64 characters.

supporter.address.line1 string

Up to 256 characters.

supporter.address.line2 string

Up to 256 characters.

supporter.address.postal_code string

Up to 10 characters.

supporter.title nullable enum

Supporter’s title, in lowercase. Available options depend on the campaign settings. Available for the following countries:

United Kingdom France Germany Austria Canada (French)
mr m herr herr m
mrs mme frau frau mme
miss mlle prof mlle
ms autre dr autre
mx
sir
dr
rev
dcn
fr
br
sr
prof

supporter.email nullable string

Up to 254 characters.

supporter.employer nullable dictionary

Child parameters

supporter.employer.name string

Up to 64 characters.


comment nullable string

Up to 256 characters.


questions array of dictionaries

Required if there are required questions in the campaign settings.

Erases all previous answers to all questions and sets the answers to the current values.

Child parameters

questions.id string required

Question ID located in Settings > Questions.

questions.text string

Up to 256 characters.

Required for questions with types “Text box,” “Text line,” “Select one option,” or “Dropdown menu.”

questions.options array of strings

Required for questions with the type “Multiple checkboxes.”

questions.checked boolean

Required for questions with the type “Single checkbox.”


designation nullable string

Designation ID located in Settings > Designations.

If a default designation exists in the campaign settings and no value is provided, the default designation will be applied.


custom_fields array of dictionaries

Erases all previous values for all fields and sets the values for the provided keys.

Missing fields will be populated with default non-blank values from the campaign settings.

Child parameters

custom_fields.name string required

Up to 256 characters.

custom_fields.value string required

Up to 256 characters.

Example

1{
2  "campaign": "FUNBRRPPNWQ",
3  "supporter": {
4    "first_name": "John",
5    "last_name": "Doe",
6    "title": "mr",
7    "email": "john.doe@example.com",
8    "phone": "7056789834",
9    "address": {
10      "line1": "Street",
11      "line2": "House",
12      "city": "City",
13      "region": "Region",
14      "postal_code": "100100",
15      "country": "us"
16    },
17    "employer": {
18      "name": "Fundraise Up"
19    }
20  },
21  "comment": "Comment",
22  "designation": "ESTPTE7U",
23  "questions": [
24    {
25      "id": "Q1",
26      "text": "Text"
27    },
28    {
29      "id": "Q2",
30      "options": [
31        "Checkbox 1",
32        "Checkbox 2"
33      ]
34    },
35    {
36      "id": "Q3",
37      "checked": false
38    }
39  ],
40  "custom_fields": [
41    {
42      "name": "a",
43      "value": "A"
44    },
45    {
46      "name": "b",
47      "value": "B"
48    }
49  ]
50}

Response

Returns the donation if the update was successful. If the update parameters are invalid, the call returns an error.

1{
2  "id": "DFQLCFEP",
3  "created_at": "2024-11-10T15:49:12.667Z",
4  "account": {
5    "id": "HRMEIGNS",
6    "code": "911",
7    "name": "Helping Hands"
8  },
9  "livemode": true,
10  "amount": "9.99",
11  "amount_in_default_currency": "9.99",
12  "amount_before_fees_covered": "8.99",
13  "amount_before_fees_covered_in_default_currency": "8.99",
14  "anonymous": false,
15  "campaign": {
16    "id": "FUNUMQTSTYD",
17    "code": "GENERAL",
18    "name": "Campaign Name"
19  },
20  "comment": "Comment",
21  "currency": "usd",
22  "custom_fields": [
23    {
24      "name": "a",
25      "value": "A"
26    },
27    {
28      "name": "b",
29      "value": "B"
30    }
31  ],
32  "device": {
33    "type": "desktop",
34    "browser": null,
35    "os": null,
36    "ip": {
37      "address": "127.0.0.1",
38      "country_name": "Spain",
39      "region": "Catalonia",
40      "city": "Barcelona"
41    }
42  },
43  "element": {
44    "id": "XXCKSMLL",
45    "type": "donation_form",
46    "name": "Element Name"
47  },
48  "designation": [
49    {
50      "id": "EW83VF95",
51      "code": "DESIGNATION",
52      "name": "Designation Name"
53    }
54  ],
55  "status": "refunded",
56  "failed_at": null,
57  "succeeded_at": "2024-11-11T15:49:12.667Z",
58  "refunded_at": "2024-11-11T15:49:12.667Z",
59  "source": "api",
60  "installment": 1,
61  "recurring_plan": {
62    "id": "RVSHJNPJ",
63    "status": "active",
64    "frequency": "monthly"
65  },
66  "on_behalf_of": "Humanity",
67  "payment": {
68    "id": "C11111",
69    "credit_card": {
70      "exp_month": "01",
71      "exp_year": "2024",
72      "last4": "1111"
73    },
74    "email": "paypalemail@example.com",
75    "error_message": null,
76    "method": "credit_card",
77    "processor": "stripe"
78  },
79  "payout": {
80    "amount": "1.01",
81    "amount_in_default_currency": "1.01",
82    "currency": "usd"
83  },
84  "platform_fee": {
85    "amount": "1.01",
86    "amount_in_default_currency": "1.01",
87    "currency": "usd"
88  },
89  "processing_fee": {
90    "amount": "1.01",
91    "amount_in_default_currency": "1.01",
92    "currency": "usd"
93  },
94  "supporter": {
95    "id": "SWYRPXNQ",
96    "email": null,
97    "first_name": "John",
98    "last_name": "Doe",
99    "title": null,
100    "phone": null,
101    "employer": {
102      "name": "Fundraise Up"
103    },
104    "address": {
105      "country": "us",
106      "line1": "Street",
107      "line2": "House",
108      "city": "City",
109      "region": "CA",
110      "postal_code": "100100"
111    }
112  },
113  "supporter_covered_fee": "1.01",
114  "tribute": {
115    "type": "in_honor",
116    "honoree": "Fundraise Up",
117    "from": "Grateful supporter",
118    "message": "All the best!",
119    "sharing": {
120      "type": "address",
121      "recipient": {
122        "address": {
123          "country": "us",
124          "line1": "Street",
125          "line2": "House",
126          "city": "City",
127          "region": "Region",
128          "postal_code": "100100"
129        },
130        "title": "mr",
131        "first_name": "John",
132        "last_name": "Doe"
133      }
134    }
135  },
136  "fundraiser": {
137    "id": "FUNUMQTSTYD",
138    "name": "Awesome Fundraiser"
139  },
140  "questions": [
141    {
142      "id": "Q1",
143      "code": "CODE1",
144      "checked": true
145    },
146    {
147      "id": "Q2",
148      "code": "CODE2",
149      "text": "answer"
150    },
151    {
152      "id": "Q3",
153      "code": "CODE3",
154      "options": [
155        "answer1",
156        "answer2"
157      ]
158    }
159  ],
160  "utm": {
161    "source": "web",
162    "campaign": "summer",
163    "medium": "email",
164    "content": null,
165    "term": null
166  },
167  "url": "https://fundraiseup.com"
168}

Read donations

 
Link copied

Endpoints:

  • GET /v1/donations
  • GET /v1/donations/:id

These requests let you access donation records in your Fundraise Up account. Note that we do not support webhooks.

The supporter data will be displayed as it appears on the Donation page in your Dashboard.

Attributes


id string

Unique identifier for the object.


created_at timestamp

The time at which the object was created.


comment nullable string


account dictionary

Organization that created the donation.

Child attributes

account.id string

Unique organization ID.

account.code nullable string

Organization code.

account.name string

Organization name.


anonymous boolean

Anonymous donation.


livemode boolean

Test mode indicator. true for live mode donations, false for test mode donations.


status enum

Can be: succeeded, scheduled, pending, retrying, refunded, or failed.


amount string

Amount in donation’s currency.


amount_in_default_currency string

Amount in the organization’s default currency at the time of the donation.


amount_before_fees_covered string

Amount before fees covered by supporter.


amount_before_fees_covered_in_default_currency string

Amount before fees covered by supporter in organization’s default currency at the time of the donation.


campaign dictionary

Campaign to which the donation belongs.

Child attributes

campaign.id string

Unique campaign identifier.

campaign.code nullable string

campaign.name string


designation nullable dictionary

Designation to which the donation belongs.

Child attributes

designation.id string

Unique designation identifier.

designation.code nullable string

designation.name nullable string


element nullable dictionary

Element through which the donation was made.

Child attributes

element.id string

Unique element identifier.

element.type enum

element.name string


currency enum

Three-letter ISO currency code, lowercase.


custom_fields array of dictionaries

Populated custom fields listed in the campaign settings.

Child attributes

custom_fields.name string

custom_fields.value string


device dictionary

Device details.

Child attributes

device.type nullable enum

Can be: desktop, mobile, tablet, or null.

device.browser nullable string

device.os nullable string

device.ip dictionary

Child attributes

device.ip.address nullable string

device.ip.country_name nullable string

device.ip.region nullable string

device.ip.city nullable string


installment nullable string

null for one-time donations. 1+ for donations with recurring plan.


recurring_plan nullable dictionary

Recurring plan attributes, if any.

Child attributes

recurring_plan.id string

Unique recurring identifier.

recurring_plan.status enum

Can be: active, scheduled, paused, retrying, completed, failed, or canceled

recurring_plan.frequency enum

Can be: daily, weekly, biweekly, every4weeks, monthly, bimonthly, quarterly, semiannual, or annual.


refunded_at nullable timestamp

The time at which the donation was refunded.


succeeded_at nullable timestamp

The time at which the donation succeeded.


failed_at nullable timestamp

The time at which the donation failed.


fundraiser nullable dictionary

Fundraiser, if any.

Child attributes

fundraiser.id string

Unique fundraiser ID.

fundraiser.name string


on_behalf_of nullable string


payment dictionary

Child attributes

payment.id nullable string

For PayPal: Capture ID.

For Stripe: Charge ID or Payment Intent ID.

For other processors: payment ID.

payment.email nullable string

Email from payment method. Example: PayPal email.

payment.credit_card nullable dictionary

Credit card details.

Child attributes

payment.credit_card.exp_month nullable string

Two-symbol string. Examples: 01, 12.

payment.credit_card.exp_year nullable string

Four-symbol string. Example: 2024.

payment.credit_card.last4 nullable string

Last four digits of the credit card number.

error_message nullable string

Returns the latest payment error message only if the status is failed or retrying. Otherwise, returns null.

method enum

Payment method, in lowercase underscore. Examples: ach, apple_pay, google_pay, click_to_pay, paypal, venmo, becs_direct_debit, bacs_direct_debit, credit_card, pad, sepa_direct_debit, ideal, crypto, stock.

processor enum

Payment processor, in lowercase. Examples: stripe, paypal, gemini, manual_brokerage, coinbase_commerce (deprecated).


payout dictionary

Payout details.

Child attributes

payout.amount string

Amount in donation’s currency.

payout.amount_in_default_currency string

Amount in organization’s default currency, at donation time.

payout.currency enum

Three-letter ISO currency code, lowercase.


platform_fee dictionary

Fundraise Up fee details.

Child attributes

platform_fee.amount string

Amount in donation’s currency.

platform_fee.amount_in_default_currency string

Amount in organization’s default currency, at donation time.

platform_fee.currency enum

Three-letter ISO currency code, lowercase.


processing_fee dictionary

Child attributes

processing_fee.amount string

Amount in donation’s currency.

processing_fee.amount_in_default_currency string

Amount in organization’s default currency, at the time of the donation.

processing_fee.currency enum

Three-letter ISO currency code, lowercase.


supporter dictionary

Supporter data, as it displayed on the Donation page in your Dashboard.

Child attributes

supporter.id string

Unique supporter ID.

supporter.email nullable string

supporter.first_name nullable string

supporter.last_name nullable string

supporter.title nullable enum

Returns null if the title is empty. Title options include values like mr, mrs, etc.

supporter.phone nullable string

supporter.employer nullable dictionary

Child attributes

supporter.employer.name string

supporter.address nullable dictionary

Mailing address.

Child attributes

supporter.address.country enum

Two-letter country code, lowercase.

supporter.address.region nullable string

Can refer to a region, state, or province.

supporter.address.city nullable string

supporter.address.line1 nullable string

supporter.address.line2 nullable string

supporter.address.postal_code nullable string

Postal/ZIP code.


supporter_covered_fee string

Fees covered by supporter. Decimal string.


source enum

Donation source.

Can be: website, campaign_page, virtual_terminal, recurring_migration, api.


tribute nullable dictionary

Child attributes

tribute.id string

tribute.type nullable enum

Can be: in_honor or in_memory.

tribute.honoree string

tribute.sharing nullable dictionary

Sharing options.

Child attributes

tribute.sharing.type enum

Sharing destination field name.

Can be: email or address

tribute.sharing.from string

tribute.sharing.message nullable string

tribute.sharing.recipient dictionary

Child attributes

tribute.sharing.recipient.email nullable string

Email address for the email sharing type.

tribute.sharing.recipient.address nullable dictionary

Postal address for the address sharing type.

Child attributes

tribute.sharing.recipient.address.country enum

Two-letter country code, lowercase.

tribute.sharing.recipient.address.region nullable string

Region/state/province.

tribute.sharing.recipient.address.city string

tribute.sharing.recipient.address.line1 string

tribute.sharing.recipient.address.line2 nullable string

tribute.sharing.recipient.address.postal_code nullable string

Postal/ZIP code.

tribute.sharing.recipient.title nullable enum

tribute.sharing.recipient.first_name string

tribute.sharing.recipient.last_name string


utm dictionary

UTM tags.

Child attributes

utm.source nullable string

utm.campaign nullable string

utm.content nullable string

utm.medium nullable string

utm.term nullable string


url nullable string

URL, from which the donation was made.


questions array of dictionaries

Child attributes

questions.question dictionary

The object contains the fields id, code, and one of the following fields: text, options, or checked, depending on the question type.

Child attributes

questions.question.id string

Unique question identifier.

questions.question.code nullable string

questions.question.text string

Up to 256 characters.

Answer for the question. This field is returned only for question types “Text box,” “Text line,” “Select one option,” and “Dropdown menu.”

questions.question.options array of strings

Selected options. This field is returned only for question types “Multiple checkboxes.”

questions.question.checked boolean

Checkbox state. This field is returned for question types “Single checkbox.”

Example

1{
2  "id": "DFQLCFEP",
3  "created_at": "2024-11-10T15:49:12.667Z",
4  "account": {
5    "id": "HRMEIGNS",
6    "code": "911",
7    "name": "Helping Hands"
8  },
9  "livemode": true,
10  "amount": "9.99",
11  "amount_in_default_currency": "9.99",
12  "amount_before_fees_covered": "8.99",
13  "amount_before_fees_covered_in_default_currency": "8.99",
14  "anonymous": false,
15  "campaign": {
16    "id": "FUNUMQTSTYD",
17    "code": "GENERAL",
18    "name": "Campaign Name"
19  },
20  "comment": "Comment",
21  "currency": "usd",
22  "custom_fields": [
23    {
24      "name": "a",
25      "value": "A"
26    },
27    {
28      "name": "b",
29      "value": "B"
30    }
31  ],
32  "device": {
33    "type": "desktop",
34    "browser": null,
35    "os": null,
36    "ip": {
37      "address": "127.0.0.1",
38      "country_name": "Spain",
39      "region": "Catalonia",
40      "city": "Barcelona"
41    }
42  },
43  "element": {
44    "id": "XXCKSMLL",
45    "type": "donation_form",
46    "name": "Element Name"
47  },
48  "designation": [
49    {
50      "id": "EW83VF95",
51      "code": "DESIGNATION",
52      "name": "Designation Name"
53    }
54  ],
55  "status": "refunded",
56  "failed_at": null,
57  "succeeded_at": "2024-11-11T15:49:12.667Z",
58  "refunded_at": "2024-11-11T15:49:12.667Z",
59  "source": "api",
60  "installment": 1,
61  "recurring_plan": {
62    "id": "RVSHJNPJ",
63    "status": "active",
64    "frequency": "monthly"
65  },
66  "on_behalf_of": "Humanity",
67  "payment": {
68    "id": "C11111",
69    "credit_card": {
70      "exp_month": "01",
71      "exp_year": "2024",
72      "last4": "1111"
73    },
74    "email": "paypalemail@example.com",
75    "error_message": null,
76    "method": "credit_card",
77    "processor": "stripe"
78  },
79  "payout": {
80    "amount": "1.01",
81    "amount_in_default_currency": "1.01",
82    "currency": "usd"
83  },
84  "platform_fee": {
85    "amount": "1.01",
86    "amount_in_default_currency": "1.01",
87    "currency": "usd"
88  },
89  "processing_fee": {
90    "amount": "1.01",
91    "amount_in_default_currency": "1.01",
92    "currency": "usd"
93  },
94  "supporter": {
95    "id": "SWYRPXNQ",
96    "email": null,
97    "first_name": "John",
98    "last_name": "Doe",
99    "title": null,
100    "phone": null,
101    "employer": {
102      "name": "Fundraise Up"
103    },
104    "address": {
105      "country": "us",
106      "line1": "Street",
107      "line2": "House",
108      "city": "City",
109      "region": "CA",
110      "postal_code": "100100"
111    }
112  },
113  "supporter_covered_fee": "1.01",
114  "tribute": {
115    "type": "in_honor",
116    "honoree": "Fundraise Up",
117    "from": "Grateful supporter",
118    "message": "All the best!",
119    "sharing": {
120      "type": "address",
121      "recipient": {
122        "address": {
123          "country": "us",
124          "line1": "Street",
125          "line2": "House",
126          "city": "City",
127          "region": "Region",
128          "postal_code": "100100"
129        },
130        "title": "mr",
131        "first_name": "John",
132        "last_name": "Doe"
133      }
134    }
135  },
136  "fundraiser": {
137    "id": "FUNUMQTSTYD",
138    "name": "Awesome Fundraiser"
139  },
140  "questions": [
141    {
142      "id": "Q1",
143      "code": "CODE1",
144      "checked": true
145    },
146    {
147      "id": "Q2",
148      "code": "CODE2",
149      "text": "answer"
150    },
151    {
152      "id": "Q3",
153      "code": "CODE3",
154      "options": [
155        "answer1",
156        "answer2"
157      ]
158    }
159  ],
160  "utm": {
161    "source": "web",
162    "campaign": "summer",
163    "medium": "email",
164    "content": null,
165    "term": null
166  },
167  "url": "https://fundraiseup.com"
168}

Recurring plans

 
Link copied

Endpoints:

  • GET /v1/recurring_plans
  • GET /v1/recurring_plans/:id

These requests allow you to read your Fundraise Up recurring plan records. The supporter data will be displayed as it appears on the Recurring plan page in your Dashboard.

Attributes


id string

Unique recurring plan ID.


created_at timestamp

The time at which the object was created.


anonymous boolean


amount string

Amount in donation’s currency.


currency enum

Three-letter ISO currency code, lowercase.


amount_in_default_currency string

Amount in organization’s default currency, at the time of the donation.


amount_before_fees_covered string

Amount before fees covered by supporter.


amount_before_fees_covered_in_default_currency string

Amount before fees covered by supporter in organization’s default currency, at the time of the donation.


supporter_covered_fee string

Fees covered by supporter. Decimal string.


livemode boolean

Test mode indicator. true for live mode donations, false for test mode donations.


account dictionary

Organization that created the donation.

Child attributes

account.id string

Unique organization ID.

account.code nullable string

Organization code.

account.name string

Organization name.


campaign dictionary

Campaign to which the donation belongs.

Child attributes

campaign.id string

Unique campaign ID.

campaign.code nullable string

campaign.name string


designation nullable dictionary

Designation to which the donation belongs.

Child attributes

designation.id string

Unique designation identifier.

designation.code nullable string

designation.name nullable string


element nullable dictionary

Element through which the donation was made.

Child attributes

element.id string

Unique element ID.

element.type enum

element.name string


comment nullable string


custom_fields array of dictionaries

Populated custom fields listed in the campaign settings.

Child parameters

custom_fields.name string

custom_fields.value string


device dictionary

Device details.

Child attributes

device.ip dictionary

Child attributes

device.ip.address nullable string

device.ip.country_name nullable string

device.ip.region nullable string

device.ip.city nullable string


fundraiser nullable dictionary

Fundraiser, if any.

Child attributes

fundraiser.id string

Unique fundraiser ID.

fundraiser.name string


questions array of dictionaries

Child attributes

questions.question dictionary

The object contains the fields id, code, and one of the following fields: text, options, or checked, depending on the question type.

Child attributes

questions.question.id string

Unique question identifier.

questions.question.code nullable string

questions.question.text string

Up to 256 characters.

Answer for the question. This field is returned only for question types “Text box,” “Text line,” “Select one option,” and “Dropdown menu.”

questions.question.options array of strings

Selected options. This field is returned only for question types “Multiple checkboxes.”

questions.question.checked boolean

Checkbox state. This field is returned for question types “Single checkbox.”


status enum

Can be: active, scheduled, paused, retrying, completed, failed, or canceled.


source enum

Donation source.

Can be: website, campaign_page, virtual_terminal, recurring_migration, api.


tribute nullable dictionary

Child attributes

tribute.id string

tribute.type nullable enum

Can be: in_honor or in_memory.

tribute.honoree string

tribute.sharing nullable dictionary

Sharing options.

Child attributes

tribute.sharing.type enum

Sharing destination field name.

Can be: email or address.

tribute.sharing.from string

tribute.sharing.message nullable string

tribute.sharing.recipient dictionary

Child attributes

tribute.sharing.recipient.email nullable string

Email address for the email sharing type.

tribute.sharing.recipient.address nullable dictionary

Postal address for the address sharing type.

Child attributes

tribute.sharing.recipient.address.country enum

Two-letter country code, lowercase.

tribute.sharing.recipient.address.region nullable string

Region/state/province.

tribute.sharing.recipient.address.city string

tribute.sharing.recipient.address.line1 string

tribute.sharing.recipient.address.line2 nullable string

tribute.sharing.recipient.address.postal_code nullable string

Postal/ZIP code.

tribute.sharing.recipient.title nullable enum

tribute.sharing.recipient.first_name string

tribute.sharing.recipient.last_name string


ended_at nullable timestamp

Date on which the recurring plan ended.


next_installment_at nullable timestamp

Timestamp of the next installment.


on_behalf_of nullable string


frequency enum

Can be: daily, weekly, biweekly, every4weeks, monthly, bimonthly, quarterly, semiannual, or annual.


payment dictionary

Child attributes

payment.email nullable string

Email from payment method. Example: PayPal email.

payment.credit_card nullable dictionary

Credit card details.

Child attributes

payment.credit_card.exp_month nullable string

Two-symbol string. Examples: 01, 12.

payment.credit_card.exp_year nullable string

Four-symbol string. Example: 2024.

payment.credit_card.last4 nullable string

Last four digits of the credit card number.

payment.error_message nullable string

Returns the latest payment error message only if the status is failed or retrying. Otherwise, returns null.

payment.method enum

Payment method, in lowercase underscore. Examples: ach, plaid, apple_pay, google_pay, click_to_pay, paypal, venmo, becs_direct_debit, bacs_direct_debit, credit_card, pad, sepa_direct_debit, ideal, crypto, stock.

The value of us_bank_account maps to ach. The value of plaid also maps to ach.

payment.processor enum

Payment processor, in lowercase. Examples: stripe, paypal, gemini, manual_brokerage, coinbase_commerce (deprecated).


supporter dictionary

Supporter data, as it displayed on the Recurring plan in your Dashboard.

Child attributes

supporter.id string

Unique supporter ID.

supporter.email nullable string

supporter.first_name nullable string

supporter.last_name nullable string

supporter.title nullable enum

Returns null if the title is empty. Title options include values like mr, mrs, etc.

supporter.phone nullable string

supporter.employer nullable dictionary

Child attributes

supporter.employer.name string

supporter.address nullable dictionary

Mailing address.

Child attributes

supporter.address.country enum

Two-letter country code, lowercase.

supporter.address.region nullable string

Can refer to a region, state, or province.

supporter.address.city string

supporter.address.line1 string

supporter.address.line2 nullable string

supporter.address.postal string

Postal/ZIP code.


url nullable string

URL, from which the donation was made.


utm dictionary

UTM tags.

Child attributes

utm.source nullable string

utm.campaign nullable string

utm.content nullable string

utm.medium nullable string

utm.term nullable string

Example

1{
2  "id": "RVSHJNPJ",
3  "created_at": "2024-11-10T15:49:12.667Z",
4  "account": {
5    "id": "HRMEIGNS",
6    "code": "911",
7    "name": "Helping Hands"
8  },
9  "amount": "9.99",
10  "amount_in_default_currency": "9.99",
11  "amount_before_fees_covered": "8.99",
12  "amount_before_fees_covered_in_default_currency": "8.99",
13  "livemode": true,
14  "currency": "usd",
15  "comment": "comment",
16  "campaign": {
17    "id": "FUNUMQTSTYD",
18    "code": "GENERAL",
19    "name": "Campaign Name"
20  },
21  "ended_at": "2024-12-10T15:49:12.667Z",
22  "frequency": "monthly",
23  "element": {
24    "id": "XXCKSMLL",
25    "type": "donation_form",
26    "name": "Element Name"
27  },
28  "next_installment_at": "2024-11-10T15:49:12.667Z",
29  "designation": [
30    {
31      "id": "EW83VF95",
32      "code": "DESIGNATION",
33      "name": "Designation Name"
34    }
35  ],
36  "device": {
37    "ip": {
38      "address": "127.0.0.1",
39      "country_name": "Spain",
40      "region": "Catalonia",
41      "city": "Barcelona"
42    }
43  },
44  "on_behalf_of": "Humanity",
45  "payment": {
46    "credit_card": {
47      "exp_month": "01",
48      "exp_year": "2024",
49      "last4": "1111"
50    },
51    "email": "paypalemail@example.com",
52    "error_message": null,
53    "method": "credit_card",
54    "processor": "stripe"
55  },
56  "status": "active",
57  "supporter": {
58    "id": "SBSWERQY",
59    "created_at": "2024-11-10T15:49:12.667Z",
60    "email": null,
61    "first_name": "John",
62    "last_name": "Doe",
63    "title": null,
64    "phone": null,
65    "employer": {
66      "name": "Fundraise Up"
67    },
68    "address": {
69      "country": "us",
70      "line1": "Street",
71      "line2": "House",
72      "city": "City",
73      "region": "CA",
74      "postal_code": "100100"
75    }
76  },
77  "tribute": {
78    "type": "in_memory",
79    "honoree": "Fundraise Up",
80    "sharing": {
81      "type": "address",
82      "address": {
83        "country": "us",
84        "line1": "Street",
85        "line2": "House",
86        "city": "City",
87        "region": "CA",
88        "postal_code": "100100"
89      }
90    }
91  },
92  "fundraiser": {
93    "id": "FUNUMQTSTYD",
94    "name": "Awesome Fundraiser"
95  },
96  "source": "checkout",
97  "supporter_covered_fee": "1.01",
98  "utm": {
99    "source": "web",
100    "campaign": "summer",
101    "medium": "email",
102    "content": null,
103    "term": null
104  },
105  "questions": [
106    {
107      "id": "Q1",
108      "text": "Text"
109    },
110    {
111      "id": "Q2",
112      "options": [
113        "Checkbox 1",
114        "Checkbox 2"
115      ]
116    },
117    {
118      "id": "Q3",
119      "checked": false
120    }
121  ],
122  "custom_fields": [
123    {
124      "name": "a",
125      "value": "A"
126    },
127    {
128      "name": "b",
129      "value": "B"
130    }
131  ],
132  "url": "https://fundraiseup.com"
133}

Supporters

 
Link copied

Endpoints:

  • GET /v1/supporters
  • GET /v1/supporters/:id

These requests allow you to read the supporter records in your Fundraise Up account, as shown on the Supporter page in your Dashboard.

Attributes

id string

Unique supporter ID.


created_at timestamp

The time at which the object was created.


account dictionary

Organization that created the supporter.

Child attributes

account.id string

Unique organization ID.

account.code nullable string

Organization code.

account.name string

Organization name.


livemode boolean

Test mode indicator. true for live mode donations, false for test mode donations.


email nullable string


first_name nullable string


last_name nullable string


title nullable enum


phone nullable string


employer nullable dictionary

Child attributes

employer.name string


address nullable dictionary

Mailing address.

Child attributes

address.country string

Two-letter country code, lowercase.

address.region nullable string

Can refer to a region, state, or province.

address.city string

address.line1 string

address.line2 nullable string

address.postal_code string

Postal/ZIP code.

Example

1{
2  "id": "SWFGMTJA",
3  "created_at": "2024-11-10T15:49:12.667Z",
4  "account": {
5    "id": "HRMEIGNS",
6    "code": "911",
7    "name": "Helping Hands"
8  },
9  "livemode": true,
10  "email": null,
11  "first_name": "John",
12  "last_name": "Doe",
13  "title": null,
14  "phone": null,
15  "employer": {
16    "name": "Fundraise Up"
17  },
18  "address": {
19    "country": "us",
20    "line1": "Street",
21    "line2": "House",
22    "city": "City",
23    "region": "CA",
24    "postal_code": "100100"
25  }
26}

Events

 
Link copied

Endpoint: GET /v1/events

This request allows you to read the events from your Audit Log, helping you monitor changes in your account.

Parameters

types array of strings

An array of up to 10 strings containing specific event types (see below for available types). The list will be filtered to include only events with a matching event type property. Passing more than 10 values will result in an error.


Attributes

id string

Unique ID for the event.


created_at timestamp

Time at which the object was created.


account dictionary

Organization that created the donation.

Child attributes

account.id string

Unique organization identifier.

account.code nullable string

Organization code.

account.name string

Organization name.


livemode boolean

Test mode indicator. true for live mode donations, false for test mode donations.


type enum

Event types
Event Type Explanation
donation.created Donation created
donation.success Donation successful
donation.pending Donation pending
donation.failed Donation failed
donation.updated Donation updated
donation.refunded Donation refunded
donation.success_early_fraud_warning Donation early fraud warning
donation.pending_ach_verification_required Donation pending (verification required)
donation.pending_incomplete Donation pending (waiting for the payment provider's response)
donation.pending_scheduled Donation scheduled
donation.pending_waiting_for_transfer Donation pending (waiting for transfer)
donation.pending_paypal_action_required Donation pending (PayPal action required)
donation.pending_retrying Donation retrying
donation.personal_data_deleted Donation personal information deleted
donation.success_dispute_created Donation dispute created
donation.success_dispute_lost Donation dispute lost
donation.success_dispute_won Donation dispute won
donation.success_dispute_in_review Donation dispute in review
recurring_plan.activated Recurring plan activated
recurring_plan.scheduled Recurring plan scheduled
recurring_plan.failed Recurring plan failed
recurring_plan.completed Recurring plan completed
recurring_plan.canceled Recurring plan canceled
recurring_plan.terms_updated Recurring plan payment terms updated
recurring_plan.paused Recurring plan paused
recurring_plan.retrying Recurring plan retrying
recurring_plan.details_updated Recurring plan supporter preferences updated
recurring_plan.personal_data_deleted Recurring plan personal information deleted
supporter.created Supporter created
supporter.personal_data_deleted Supporter details deleted
supporter.updated Supporter updated
transaction_attempt.pending Transaction attempt pending
transaction_attempt.success Transaction attempt successful
transaction_attempt.failed Transaction attempt failed
tribute.created Tribute created
tribute.updated Tribute updated
tribute.shared Tribute card sent

donation nullable string

Unique ID of the related donation. Example event: donation.created.


recurring_plan nullable string

Unique ID of the related recurring plan. Example event: recurring_plan.created.


supporter nullable string

Unique ID of the related supporter. Example event: donation.personal_data_deleted.

Example

1{
2  "id": "66911bb67616b5001045cc6b",
3  "created_at": "2023-11-10T15:49:12.667Z",
4  "account": {
5    "id": "HRMEIGNS",
6    "code": "911",
7    "name": "Helping Hands"
8  },
9  "livemode": true,
10  "type": "donation.created",
11  "donation": "DVTZLHEF",
12  "recurring_plan": null,
13  "supporter": "SWYRPXNQ"
14}

Found a mistake? Is there a missing topic? Hard to read? Let us know

 

In this article