Generate Donor Donation Page
curl --request POST \
--url https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page \
--header 'Authorization: <api-key>'const options = {method: 'POST', headers: {Authorization: '<api-key>'}};
fetch('https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page"
headers = {"Authorization": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page';
const options = {method: 'POST', headers: {Authorization: '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"pageId": 412,
"pageSlug": "marcus-castellano-year-end",
"pageName": "Marcus Castellano — Year-End Giving 2025",
"publicId": "3f6b1d84-9c02-4a71-8f4e-2b7d51e0a913",
"donorGreetingSummary": "Thanks for fundraising with us, Marcus!"
}{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"errors": {
"email": [
"A valid email address is required."
],
"lastName": [
"The lastName field is required."
]
},
"instance": "/api/Donor/200234/generate-page"
}{
"type": "https://tools.ietf.org/html/rfc7235#section-3.1",
"title": "Unauthorized",
"status": 401,
"detail": "The Authorization header is missing, malformed, or carries a token that is expired or revoked.",
"instance": "/api/Donor/{donorId}/generate-page"
}{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.4",
"title": "Not Found",
"status": 404,
"detail": "Donor 200234 was not found.",
"instance": "/api/Donor/200234/generate-page"
}Donor
Generate Donor Donation Page
Creates a donation page personalized for the donor.
POST
https://prod-api.raisedonors.com
/
api
/
Donor
/
{donorId}
/
generate-page
Generate Donor Donation Page
curl --request POST \
--url https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page \
--header 'Authorization: <api-key>'const options = {method: 'POST', headers: {Authorization: '<api-key>'}};
fetch('https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page"
headers = {"Authorization": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/Donor/{donorId}/generate-page';
const options = {method: 'POST', headers: {Authorization: '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"pageId": 412,
"pageSlug": "marcus-castellano-year-end",
"pageName": "Marcus Castellano — Year-End Giving 2025",
"publicId": "3f6b1d84-9c02-4a71-8f4e-2b7d51e0a913",
"donorGreetingSummary": "Thanks for fundraising with us, Marcus!"
}{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"errors": {
"email": [
"A valid email address is required."
],
"lastName": [
"The lastName field is required."
]
},
"instance": "/api/Donor/200234/generate-page"
}{
"type": "https://tools.ietf.org/html/rfc7235#section-3.1",
"title": "Unauthorized",
"status": 401,
"detail": "The Authorization header is missing, malformed, or carries a token that is expired or revoked.",
"instance": "/api/Donor/{donorId}/generate-page"
}{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.4",
"title": "Not Found",
"status": 404,
"detail": "Donor 200234 was not found.",
"instance": "/api/Donor/200234/generate-page"
}The response returns the new page’s
pageId, pageSlug, publicId, and donorGreetingSummary. Use the publicId to send the donor to the page or to give through it with Process a Donation Payment.Authorizations
JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"
Path Parameters
The ID of the donor to generate the page for.
Response
OK
Response model for the donor page generation endpoint.
The unique identifier of the page that was generated.
The slug the page is reachable at.
The name of the generated page.
The public identifier of the page. Send it as publicId on Process a Donation Payment.
The greeting written for the donor on the generated page.
Last modified on July 28, 2026
Was this page helpful?
⌘I