Production Endpoint:
POST to https://api.donorfuse.com/api/Integrations/Donations/create
Sandbox Endpoint:
POST to https://sandboxapi.donorfuse.com/api/Integrations/Donations/create
Header:
- X-api-key: See instructions below to obtain your organization’s API key.
How to obtain your X-api-key:
- In the Donor Fuse portal, go to Settings > Account Settings.
- Expand Integrations.
- Click Add New API Key.
- For Platform, select Other.
- Enter a name and select a default campaign (used if you send API requests without specifying a campaign).
- Click Save.
- Copy and save the API key from the popup. You will not be able to view it again.
Required and Common Fields
| Field | Type | Required? | Notes / Description |
|---|---|---|---|
| Amount | decimal | Yes | Total donation/pledge amount |
| DonorFirstName | string | No | |
| DonorLastName | string | Conditionally required | At least one of LastName, Email, or Phone must be present |
| DonorEmail | string | Conditionally required | At least one of LastName, Email, or Phone must be present |
| DonorPhone | string | Conditionally required | At least one of LastName, Email, or Phone Must be present (Format: 1XXXXXXXXXX) |
| DonationType | string (Donation/Pledge) | No | If omitted, defaults to Donation |
| PaymentMethod | string (CreditCard/Charity/Check/Cash/Other) | Conditionally required | Required if DonationType is Donation |
| PaymentMethodInfo | string | No | Example: Visa-1234 |
| ReferenceNumber | string | No | Gateway reference or check number |
| AddressLine1 | string | No | |
| AddressLine2 | string | No | |
| City | string | No | |
| State | string | No | |
| ZipCode | string | No | |
| Country | string | No | |
| Description | string | No | Public comment (Included in the donor's email) |
| Notes | string | No | Internal notes, not visible to donor |
| CampaignName | string | No | If omitted, uses API key default. |
| Date | string (YYYY-MM-DD) | No | If omitted, defaults to today |
| CurrencyCode | string (USD/CAD/GBP/ILS/EUR) | No | Defaults to org home currency |
| CurrencyConversionRate | decimal | No | Used if currency differs. If omitted, system will populate. |
| Sponsorship | string | No | Validated against Donor Fuse sponsorships |
| SponsorshipDate | string | No | If sponsoring a specific date |
| PlanType | string (Monthly/Weekly/Daily/Yearly/MonthlyHebrew) | No | Defaults to Monthly |
| IsPaymentPlan | boolean | No | If true, the system will create a Pledge for the full amount, and record the first payment. This is only if DonationType is "Donation". |
| IsRecurring | boolean | No | If true, sets up a recurring donation plan This will be ignored if "IsPaymentPlan" is true This is only if DonationType is "Donation". |
| NumberOfMonths | string or int | Required if IsPaymentPlan is true | Number of monthly installments |
| CustomData | array of objects | No | Array of {Name, Value} for custom donation fields; Name must match Donor Fuse custom field name |
| Raisers | array of objects | No | Array of {RaiserId, RaiserName, Amount} for crowdfunding |
| SrcDonorId | string | No | Reference to your system's donor |
| SrcDonationId | string | No | Reference to your system's donation |
| DfDonorId | string | No | Donor Fuse donor ID for mapping |
Example:
Processed Donation (CreditCard):
{
"Amount": 500,
"DonationType": "Donation",
"DonorFirstName": "David",
"DonorPhone": "18456667777",
"CampaignName": "Special Event",
"Date": "2025-08-14",
"PaymentMethod": "CreditCard",
"PaymentMethodInfo": "Visa-9876",
"ReferenceNumber": "2346ytrge",
"Description": "Offline pledge at event",
"Notes": "Entered by staff",
"CustomData": [
{ "Name": "Source", "Value": "Event" }
]
}
Offline Donation (Check):
{
"Amount": 500,
"DonationType": "Donation",
"DonorFirstName": "David",
"DonorPhone": "18456667777",
"CampaignName": "Special Event",
"Date": "2025-08-14",
"PaymentMethod": "Check",
"ReferenceNumber": "1257",
"Description": "Offline pledge at event",
"Notes": "Entered by staff"
}
Notes:
- Payment fields are for reference only and do not trigger payment processing.
- CustomData and Raisers arrays must match the expected structure.