List Recurring Gift Activities
curl --request GET \
--url https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities \
--header 'Authorization: <api-key>'const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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.get("https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities';
const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"items": [
{
"id": 44021,
"createdDateTime": "2025-11-15T03:00:02Z",
"recurringGiftId": 700089,
"referenceId": 602401,
"changedBy": "Scheduler",
"gift": {
"id": 602401,
"createDate": "2025-11-15",
"amount": "$50.00",
"projects": [
"General Operating Support"
],
"paymentInfo": "Visa •••• 4242",
"transactionId": "ch_3QU4d1Hs1Yb4Lm2A",
"isAnonymous": false
},
"metadata": null
},
{
"id": 43880,
"createdDateTime": "2025-10-15T03:00:01Z",
"recurringGiftId": 700089,
"referenceId": 602310,
"changedBy": "Scheduler",
"gift": {
"id": 602310,
"createDate": "2025-10-15",
"amount": "$50.00",
"projects": [
"General Operating Support"
],
"paymentInfo": "Visa •••• 4242",
"transactionId": "ch_3QN9k4Hs1Yb4Lm1R",
"isAnonymous": false
},
"metadata": null
}
],
"total": 34
}{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"errors": {
"take": [
"take must be between 1 and 1000."
]
},
"instance": "/api/RecurringGift/700089/activities"
}{
"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/RecurringGift/{id}/activities"
}RecurringGift
List Recurring Gift Activities
Returns a paginated list of what has happened on a recurring gift.
GET
https://prod-api.raisedonors.com
/
api
/
RecurringGift
/
{id}
/
activities
List Recurring Gift Activities
curl --request GET \
--url https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities \
--header 'Authorization: <api-key>'const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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.get("https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/RecurringGift/{id}/activities';
const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"items": [
{
"id": 44021,
"createdDateTime": "2025-11-15T03:00:02Z",
"recurringGiftId": 700089,
"referenceId": 602401,
"changedBy": "Scheduler",
"gift": {
"id": 602401,
"createDate": "2025-11-15",
"amount": "$50.00",
"projects": [
"General Operating Support"
],
"paymentInfo": "Visa •••• 4242",
"transactionId": "ch_3QU4d1Hs1Yb4Lm2A",
"isAnonymous": false
},
"metadata": null
},
{
"id": 43880,
"createdDateTime": "2025-10-15T03:00:01Z",
"recurringGiftId": 700089,
"referenceId": 602310,
"changedBy": "Scheduler",
"gift": {
"id": 602310,
"createDate": "2025-10-15",
"amount": "$50.00",
"projects": [
"General Operating Support"
],
"paymentInfo": "Visa •••• 4242",
"transactionId": "ch_3QN9k4Hs1Yb4Lm1R",
"isAnonymous": false
},
"metadata": null
}
],
"total": 34
}{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"errors": {
"take": [
"take must be between 1 and 1000."
]
},
"instance": "/api/RecurringGift/700089/activities"
}{
"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/RecurringGift/{id}/activities"
}Activities cover payments taken, failures, and changes to the schedule.
Use it to show a donor’s giving history or to investigate a gift whose
hasPaymentFailed is true.Authorizations
JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"
Path Parameters
The ID of the recurring gift.
Query Parameters
A free-text search term applied to the activities in the results.
The number of records to skip before the first record returned. Use it with take to page through the results.
The maximum number of records to return in this page of results.
Field to sort by (case-insensitive). Valid options: donorname, id
Available options:
donorname, id The direction to sort the results. Set to true to sort in descending order.
When true, includes the related records for each item in the response. Not every list has extra records to return, and it can slow down large result sets.
Last modified on July 28, 2026
Was this page helpful?