curl --request POST \
--url https://prod-api.raisedonors.com/api/Donor/{id}/activity \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"referenceId": 123
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({referenceId: 123})
};
fetch('https://prod-api.raisedonors.com/api/Donor/{id}/activity', 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/{id}/activity"
payload = { "referenceId": 123 }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/Donor/{id}/activity");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
request.AddJsonBody("{\n \"referenceId\": 123\n}", false);
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/{id}/activity",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'referenceId' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$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/{id}/activity")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"referenceId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/Donor/{id}/activity")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"referenceId\": 123\n}"
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/Donor/{id}/activity';
const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({referenceId: 123})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"id": 880615,
"display": "Thank-you call logged after the year-end gift.",
"createdDate": "2025-11-15",
"createdTime": "10:12 AM",
"donorId": 200234
}{
"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/activity"
}{
"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/{id}/activity"
}Create a Donor Activity
Records an activity against a donor.
curl --request POST \
--url https://prod-api.raisedonors.com/api/Donor/{id}/activity \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"referenceId": 123
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({referenceId: 123})
};
fetch('https://prod-api.raisedonors.com/api/Donor/{id}/activity', 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/{id}/activity"
payload = { "referenceId": 123 }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/Donor/{id}/activity");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
request.AddJsonBody("{\n \"referenceId\": 123\n}", false);
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/{id}/activity",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'referenceId' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$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/{id}/activity")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"referenceId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/Donor/{id}/activity")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"referenceId\": 123\n}"
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/Donor/{id}/activity';
const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({referenceId: 123})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"id": 880615,
"display": "Thank-you call logged after the year-end gift.",
"createdDate": "2025-11-15",
"createdTime": "10:12 AM",
"donorId": 200234
}{
"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/activity"
}{
"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/{id}/activity"
}activityOrigin, activityType, and activityAction that describe what happened, plus the referenceId of the record it relates to. Returns the created activity with the display text shown on the donor’s timeline.Authorizations
JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"
Path Parameters
The ID of the donor.
Body
The donor activity request.
Represents a donor activity request.
The unique identifier of the record the activity refers to, such as a gift.
Where the activity came from, such as a page submission or an API call.
0, 1, 2, 3, 4, 5 The kind of activity to record.
0, 1, 2, 3, 4, 5 The action the activity records, such as Added or Modified.
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 Response
OK
Represents a donor activity model.
The unique identifier of the activity.
The text describing the activity, as it appears in the donor timeline.
Where the activity came from, such as a page submission or an API call.
0, 1, 2, 3, 4, 5 The kind of activity that was recorded.
0, 1, 2, 3, 4, 5 The date the activity was created.
The time of day the activity was created.
The unique identifier of the donor.
The unique identifier of the donor address the activity relates to.
The unique identifier of the donor contact method the activity relates to.
The unique identifier of the gift.
The subject line of the email, for email activities.
The from name of the email, for email activities.
The from address of the email, for email activities.
The type of email template that was sent.
The unique identifier of the email template that was sent.
Was this page helpful?