When to use this workflow
What the customer’s admin team handles
For context, here’s what’s involved on the customer’s side before your integration’s work begins. This is admin-UI work, not API work — partners typically don’t perform these steps.
When this is done, the customer has a published form, a public landing URL, and (typically) an embed code they can hand to your integration.
Partner-side preparation: the four key steps
Once the form is published, your integration has four preparation steps before it can react meaningfully to donations from the form.Step 1: capture the form’s identifier
Every donation submitted through a form attaches aform block to the resulting Gift record. The form.id is the form’s stable identifier — use it to filter, group, and route gifts by source form.
JavaScript
Form IDs are the only stable identifier you have for a form. The form’s
title can change without affecting the ID — but the title is what end users see, so it’s the friendlier identifier for UI display. Use id for routing and title for display.Step 2: subscribe to relevant webhook events
The forms produce events when donations complete. Subscribe to the events your integration needs:cURL
eventTypesList is an array of event type integers from the spec’s documented enum (10, 11, 12, 20, 21, 22, 30, 31, 32, 40, 41, 42, 50, 51, 52). The integers are grouped in fives suggesting per-resource events (gift events, recurring gift events, donor events, campaign events, page events) but the spec doesn’t label them.
The format and status are also documented integer enums:
format:1or2. The two values likely correspond to JSON and XML delivery formats, but confirm against the live API.status:1for active,2for inactive (likely — confirm against live data).
Step 3: plan attribution capture
Each Gift record carries multiple attribution fields beyond just the form. Plan which ones your integration captures and stores:
For analytics integrations, capture all of these. For routing integrations (e.g., sending different thank-you emails per campaign), capture the ones you’ll switch on.
The captured attribution lets your integration build per-form, per-segment, per-campaign reporting downstream — see Donation Forms: form-aware gift analytics.
Step 4: set up the personalized-page generation flow (optional)
For integrations that send personalized donation links — renewal campaigns, major-donor cultivation, payment-method-update prompts — wire up thePOST /api/Donor/{donorId}/generate-page flow:
JavaScript
The exact request body shape 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. Confirm against the live API before relying on specific request fields.A complete preparation workflow
Pulling the four steps together as a checklist for a new customer onboarding:1
Obtain the Raise API token from the customer
The customer’s Raise administrator generates the token in the admin UI and provides it to your integration through your onboarding flow. Store securely — see Authentication.
2
Capture the customer's form IDs
Ask the customer to provide the form IDs (or titles) for the forms your integration should react to. Store these in your per-customer configuration so the integration knows which forms are in scope.
3
Subscribe to the relevant webhook events
Use
POST /api/Webhook to subscribe to gift and (if applicable) recurring-gift events. Store the resulting webhook ID for later management. Confirm the eventTypesList integers correspond to the events your integration needs.4
Set up your webhook receiver
Deploy the webhook endpoint, validate signatures using the
securityToken you set during subscription, and route incoming events through your processing pipeline. See Signature Verification.5
Run a test donation to validate end-to-end
Use the test-mode flow (see Process a Donation: Test-mode flow) to submit a test donation through one of the customer’s forms. Confirm the webhook arrives, your code captures the form context, and the gift flows through your integration correctly.
6
Document handoff to the customer
Confirm to the customer that integration setup is complete. List the forms that are wired up and any forms they haven’t given you IDs for.
Handling multi-form customers
Most customers have multiple forms — one for general giving, one for monthly giving, one for each major campaign or event. Partner integrations need to handle this cleanly.Pattern: per-form configuration in the partner side
Store a map of form ID → integration behavior:JavaScript
When a new form is added
When the customer adds a new form to their account, your integration won’t know about it until either:- A donation arrives through the new form, triggering an “unknown form” log entry (see the
console.warnabove). - The customer manually informs you of the new form’s ID through your onboarding flow.
What the API does not provide for form configuration
For completeness, the operations that the current API doesn’t support. If your integration’s design depends on one of these, you’ll need to coordinate with the customer’s admin team or wait for v2 API capabilities.
See Donation Forms for the full list.
Where to go next
Embed a Form
The workflow for placing a Raise donation form on a partner-hosted page.
Process a Donation
What happens when a donor submits a configured form — the
POST /api/Raise/give flow.Donation Forms
The resource-level reference for what the API does and doesn’t expose about forms.
Webhooks Overview
Subscribe to the events that forms produce when donations complete.