POST /api/Raise/give.
For partner integrations, the API surface for Donation Forms is narrower than the product’s UI surface. Most form configuration happens in the Raise admin UI, not via the API. This page covers what the API does expose, what it doesn’t, and the integration patterns that work given these constraints.
How forms fit in the data model
Forms sit between Campaigns and the gifts they produce. The hierarchy: A Campaign can have multiple Segments. Each Segment can have multiple Forms. Each Form produces Gifts that carry the form’s identifier in their record. This lets the customer’s team trace any Gift back to:- The specific form the donor filled out
- The segment that segment-routed the donor (email, social, direct mail, etc.)
- The campaign the segment belongs to
form.id, segment, campaignName) is the foundation of channel-attribution reporting.
What the API exposes about forms
Three things:1. Form attribution on Gift records
Every Gift has aform field carrying a GiftFormModel:
| Field | Type | Description |
|---|---|---|
id | integer | The form’s ID. Stable identifier you can use to group gifts by source form. |
title | string | The form’s display title. |
landingUrl | string | The URL the donor landed on to start the donation flow. |
referringUrl | string | The URL the donor came from (the Referer header at the start of the donation flow). |
isLegacy | boolean | true if the form is a legacy form built on an older form engine. Useful for partners that need to distinguish modern forms from older ones. |
JavaScript
2. Personalized page generation for a donor
POST /api/Donor/{donorId}/generate-page generates a hosted donation page personalized to a specific donor — pre-filling the donor’s identity so they need only choose the amount and complete payment:
cURL
The request body schema for
POST /api/Donor/{donorId}/generate-page is not detailed in the spec (the body schema is empty). The endpoint likely accepts parameters like campaignId or formId to identify which form to personalize, but the exact contract needs confirmation against the live API before partners can rely on specific request fields. Confirm with the platform team before building automation around this endpoint.3. Page count per Segment
GET /api/Segment/{segmentId}/page-count returns the number of donation pages (forms) associated with a Segment:
cURL
What the API doesn’t expose
The current spec doesn’t include:| Capability | Status |
|---|---|
| Create a new form via API | Not exposed |
| Update a form’s fields or configuration | Not exposed |
| List all forms for an organization | Not exposed |
| Get a form’s complete schema (fields, validators, defaults) | Not exposed |
| Publish or unpublish a form | Not exposed |
| Embed configuration (iframe code, embed scripts) | Not exposed |
| Form-level analytics (views, conversion rate, abandonment) | Not exposed directly — derive from Gift queries instead |
Integration patterns that work today
Despite the narrow API surface, three patterns work well for partner integrations:Pattern 1: form-aware gift analytics
For analytics integrations, theform.id plus the existing UTM and Campaign attribution fields on a Gift are enough to build per-form, per-channel, per-campaign performance dashboards.
JavaScript
Pattern 2: personalized donor pages in stewardship workflows
For donor stewardship and renewal campaigns, thegenerate-page endpoint creates personalized URLs that boost conversion compared to generic form links:
JavaScript
Pattern 3: embedding forms via the admin UI’s embed code
For integrations that need to display a Raise donation form on a partner-hosted page, the embedding mechanism is the iframe or script tag the customer copies from the Raise admin UI. Your integration doesn’t need to call the API to embed the form — it embeds the form’s HTML output directly. This means the integration’s responsibility is:- Get the embed code from the customer (typically pasted into a settings field in your integration’s UI).
- Include that code on the page where the form should appear.
- Subscribe to webhook events to learn when gifts are completed.
POST /api/Raise/give path your integration would call if it embedded a fully custom form.
When form-management endpoints become available
The platform team is aware that the current Form API surface is narrower than what partners want. Future API versions are expected to add at least:- A form list endpoint (
GET /api/Form/listor similar) for inventorying configured forms - A form get-by-ID endpoint for retrieving form schemas
- Form-level metrics endpoints
Where to go next
Campaigns
The Campaign resource that owns Segments and the Forms beneath them.
Gifts
The Gift resource where form attribution data lives.
Embed a Form on a Website
The end-to-end recipe for getting a Raise form onto a customer’s site.
Process a Donation
What happens when a donor submits a form — the
POST /api/Raise/give flow.