Developer Documentation
Everything you need to integrate with the FundraiserMax API. Build custom workflows, sync donor data, and connect AI assistants to your fundraising platform.
Contact Notes
Notes are how your team captures everything that isn't a structured field: the topic of the last phone call, a board member's ask amount before the annual gala, the reason a major donor paused recurring giving, or the gift officer's plan for the next touch. The Contact Notes API exposes this timeline so external tools can both write notes (from a dialer, an email plugin, a custom intake form) and read them back into reports, AI summaries, or other CRMs.
Notes support ten types — GENERAL, CALL, MEETING, EMAIL, EVENT, DONATION, PERSONAL, BUSINESS, FOLLOW_UP, and SYSTEM — plus a subject line, an isPrivate flag for development-team-only notes, and an isImportant flag that surfaces the note at the top of the contact record.
Common integration patterns
- Dialer integration. When a fundraiser ends a call in your VoIP / dialer (Twilio, RingCentral, JustCall), POST a note with
noteType: "CALL", the call duration as the subject, and the disposition as the content. Use acontact.note.createdwebhook to keep your downstream system in sync. - Meeting recap. After a calendar meeting (Google Calendar, Calendly, Microsoft 365 Bookings), append a note with
noteType: "MEETING"and the attendee list in the subject. Pair with a contact employment update if the conversation reveals a job change. - AI assistant memory. Use the FundraiserMax MCP server to let Claude or ChatGPT read and write notes directly during a coaching session, with the
isPrivateflag controlling whether the AI's working notes are exposed to the rest of the team. - Email logging. Connect a Gmail or Outlook add-in that posts a note with
noteType: "EMAIL"every time a fundraiser BCCs your integration address, so ad-hoc email threads end up on the donor record without a separate "log to CRM" step. - Compliance trail. For political committees, every donor conversation that touches solicitation needs to be traceable. Stamp notes with
noteType: "SYSTEM"andisPrivate: truewhen an automated process records a decision (e.g., excluded from a mailer because of a contribution limit), so audits can replay the reasoning later.
content repeatedly (donation amount, opt-out reason, ask bracket), promote it to a structured field — either a tag, a custom field on the contact, or a real record (donation, employment). Notes are for narrative; structured fields are for queries.List all notes for a contact.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Contact ID (path). |
curl -X GET "https://api.fundraisermax.com/api/v1/contacts/cnt_abc123/notes" \
-H "X-API-Key: fmx_your_key_id" \
-H "Authorization: Bearer your_api_secret"Response
[
{
"id": "note_abc123",
"contactId": "cnt_abc123",
"subject": "Follow-up call",
"content": "Discussed annual gala sponsorship.",
"noteType": "CALL",
"isPrivate": false,
"isImportant": true,
"createdBy": null,
"createdAt": "2026-02-17T10:00:00Z",
"updatedAt": "2026-02-17T10:00:00Z"
}
]Add a note to a contact.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Contact ID (path). |
content | string | Yes | The note content. |
subject | string | No | Note subject line. |
noteType | string | No | GENERAL, CALL, MEETING, EMAIL, EVENT, DONATION, PERSONAL, BUSINESS, FOLLOW_UP, or SYSTEM (default GENERAL). |
isPrivate | boolean | No | Mark as private (default false). |
isImportant | boolean | No | Mark as important (default false). |
curl -X POST "https://api.fundraisermax.com/api/v1/contacts/cnt_abc123/notes" \
-H "X-API-Key: fmx_your_key_id" \
-H "Authorization: Bearer your_api_secret" \
-H "Content-Type: application/json" \
-d '{
"subject": "Follow-up call",
"content": "Discussed annual gala sponsorship. Will send proposal by Friday.",
"noteType": "CALL",
"isImportant": true
}'Response
{
"id": "note_abc123",
"contactId": "cnt_abc123",
"subject": "Follow-up call",
"content": "Discussed annual gala sponsorship. Will send proposal by Friday.",
"noteType": "CALL",
"isPrivate": false,
"isImportant": true,
"createdBy": null,
"createdAt": "2026-02-17T10:00:00Z",
"updatedAt": "2026-02-17T10:00:00Z"
}Update an existing note.
curl -X PUT "https://api.fundraisermax.com/api/v1/contacts/cnt_abc123/notes/note_abc123" \
-H "X-API-Key: fmx_your_key_id" \
-H "Authorization: Bearer your_api_secret" \
-H "Content-Type: application/json" \
-d '{ "content": "Updated note content", "isImportant": false }'Remove a note from a contact.
curl -X DELETE "https://api.fundraisermax.com/api/v1/contacts/cnt_abc123/notes/note_abc123" \
-H "X-API-Key: fmx_your_key_id" \
-H "Authorization: Bearer your_api_secret"