Cross-Origin Resource Sharing (CORS) is not supported by the Donorfy API for security reasons. The API is designed for server-side use only.
Request API Access
API access is disabled by default and must be enabled by Donorfy Support.
Create a support request asking for API access to be enabled.
Wait for confirmation before continuing with setup.
The API is intended for server-side integrations where access keys can be stored securely and IP addresses can be restricted.
Configure API Permissions
Once API access is enabled, you must create at least one API permission.
Go to Settings, then click API Settings.
Click Add Permission to create a new permission.
Enter the following details:
Name β A descriptive name such as Website or Integration Partner.
IP Address start & end β The allowed IP range that can access the API.
Click Save to generate the permission.
An Access Key is generated automatically and displayed in the permissions list.
π Note: You can edit the name or IP range at any time. Deleting a permission immediately revokes API access.
Understand API Authentication
The Donorfy API uses basic authentication over HTTPS.
Use any value you choose as the username.
Use the generated Access Key as the password.
Pass both values in a correctly formed Authorization header.
The username is recorded in the Donorfy change log, allowing you to identify which integration or user made each change.
Use the API Endpoints
The Donorfy API is a REST api using JSON for data exchange.
Base URL
All requests use the following structure:
https://data.donorfy.com/api/v1/{YourApiKey}/
Only HTTPS connections are supported.
Supported HTTP Verbs
Use the appropriate verb for each operation.
GET β Retrieve data.
POST β Add new data.
PUT β Update existing data.
DELETE β Remove data.
π Note: When updating records with PUT, you only need to include the properties you want to change. Other values remain unchanged.
Understand Data Handling Rules
The API enforces strict but forgiving data-handling behaviour.
Unknown properties are ignored but valid properties are still processed.
Properties with invalid values, such as malformed dates, are ignored.
Entity IDs are Universally Unique Identifiers (GUIDs) passed as strings.
Date formats must follow these standards:
Date only:
YYYY-MM-DD.Date and time:
YYYY-MM-DDTHH:MM:SS.mmmZ.
Other data types:
Boolean values must be
trueorfalse.Numbers may include up to two decimal places.
To clear an existing date value, pass 0001-01-01.
Work With Donorfy Entities
Each API endpoint supports a specific set of properties.
Some properties can be set only when creating a record.
Some properties can be retrieved but not updated.
Unsupported changes are ignored without failing the request.
π Note: Refer to the API documentation page alongside the knowledge base for entity-specific details such as Constituents, Transactions, and Recurring Payment Instructions.
Monitor Rate Limits
The API has a usage limit to protect system performance.
β οΈ Important: The current rate limit is 301 requests per minute.
Exceeding the limit temporarily disables API access.
Disabled access returns a 400 error response.
Donorfy will contact the account Main Contact if limits are exceeded.
Interpret API Responses
Understanding responses helps with debugging and error handling.
Successful Responses
A successful request returns HTTP 200 β OK.
GET requests return the requested entity.
POST requests return the ID of the created entity and any linked records.
Error Responses
Common error responses include:
400 β Bad Request for invalid JSON or validation errors.
404 β Not Found when an entity ID does not exist.
Validation error messages are included in the response body.
Review API Changes in the Changelog
All API-driven changes are logged for auditing.
Open a constituent Timeline.
Review the Changelog entries.
The username shown matches the username used during API authentication, helping you trace changes back to a specific integration.
β οΈImportant:
The Donorfy API is a Professional-only feature. Essential and Starter subscribers, please contact us to find out more about upgrading.
