curl --request GET \
--url https://prod-api.raisedonors.com/api/Project/list \
--header 'Authorization: <api-key>'const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://prod-api.raisedonors.com/api/Project/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/Project/list"
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/Project/list");
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/Project/list",
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/Project/list")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/Project/list")
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/Project/list';
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": 3010,
"code": "GEN-OPS",
"isActive": true,
"isAvailableOnline": true,
"isPublic": true,
"isDeleted": false,
"name": "General Operating Support",
"description": "Unrestricted support for Riverside Hope programs.",
"sortOrder": 1,
"emailAddresses": "finance@riversidehope.example.org",
"metadataFields": [],
"image": null,
"isPinned": true,
"donorAmount": 902,
"giftAmount": 2418,
"createdDateTime": "2023-01-01T10:00:00Z",
"modifiedDateTime": "2025-11-15T08:00:00Z",
"raisedAmount": "$412,880.00",
"averageGiftAmount": "$170.75",
"firstGiftDate": "2023-01-04",
"lastGiftDate": "2025-11-15",
"isSystem": false,
"percentageRecurringGift": 38.4,
"externalIdentifier": "3010",
"impactData": null
},
{
"id": 3012,
"code": "HOLIDAY-MEALS-2025",
"isActive": true,
"isAvailableOnline": true,
"isPublic": true,
"isDeleted": false,
"name": "Year-End 2025 — Holiday Meals",
"description": "Holiday food distribution to 500 families.",
"sortOrder": 2,
"emailAddresses": null,
"metadataFields": [
{
"name": "Impact per gift",
"value": "1 family fed for a week"
}
],
"image": "https://cdn.riversidehope.example.org/projects/holiday-meals-2025.jpg",
"isPinned": true,
"donorAmount": 218,
"giftAmount": 241,
"createdDateTime": "2025-10-15T09:10:00Z",
"modifiedDateTime": "2025-11-15T08:00:00Z",
"raisedAmount": "$38,415.00",
"averageGiftAmount": "$159.40",
"firstGiftDate": "2025-11-01",
"lastGiftDate": "2025-11-15",
"isSystem": false,
"percentageRecurringGift": 12.9,
"externalIdentifier": "3012",
"impactData": null
}
],
"total": 2
}{
"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/Project/list"
}{
"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/Project/list"
}List All Projects
Returns a paginated list of projects, the designations a gift can be given to.
curl --request GET \
--url https://prod-api.raisedonors.com/api/Project/list \
--header 'Authorization: <api-key>'const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://prod-api.raisedonors.com/api/Project/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/Project/list"
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/Project/list");
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/Project/list",
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/Project/list")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/Project/list")
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/Project/list';
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": 3010,
"code": "GEN-OPS",
"isActive": true,
"isAvailableOnline": true,
"isPublic": true,
"isDeleted": false,
"name": "General Operating Support",
"description": "Unrestricted support for Riverside Hope programs.",
"sortOrder": 1,
"emailAddresses": "finance@riversidehope.example.org",
"metadataFields": [],
"image": null,
"isPinned": true,
"donorAmount": 902,
"giftAmount": 2418,
"createdDateTime": "2023-01-01T10:00:00Z",
"modifiedDateTime": "2025-11-15T08:00:00Z",
"raisedAmount": "$412,880.00",
"averageGiftAmount": "$170.75",
"firstGiftDate": "2023-01-04",
"lastGiftDate": "2025-11-15",
"isSystem": false,
"percentageRecurringGift": 38.4,
"externalIdentifier": "3010",
"impactData": null
},
{
"id": 3012,
"code": "HOLIDAY-MEALS-2025",
"isActive": true,
"isAvailableOnline": true,
"isPublic": true,
"isDeleted": false,
"name": "Year-End 2025 — Holiday Meals",
"description": "Holiday food distribution to 500 families.",
"sortOrder": 2,
"emailAddresses": null,
"metadataFields": [
{
"name": "Impact per gift",
"value": "1 family fed for a week"
}
],
"image": "https://cdn.riversidehope.example.org/projects/holiday-meals-2025.jpg",
"isPinned": true,
"donorAmount": 218,
"giftAmount": 241,
"createdDateTime": "2025-10-15T09:10:00Z",
"modifiedDateTime": "2025-11-15T08:00:00Z",
"raisedAmount": "$38,415.00",
"averageGiftAmount": "$159.40",
"firstGiftDate": "2025-11-01",
"lastGiftDate": "2025-11-15",
"isSystem": false,
"percentageRecurringGift": 12.9,
"externalIdentifier": "3012",
"impactData": null
}
],
"total": 2
}{
"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/Project/list"
}{
"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/Project/list"
}isActive and isAvailableOnline to get only the projects donors can currently give to, use filter for a free-text search, and sortBy with descending to order the results.Authorizations
JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"
Query Parameters
Indicates if the project is active.
Indicates if the project is available online.
A free-text search term. Only projects whose name, code, or description match the term are returned.
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: code, donoramount, giftamount, id, isactive, name, raisedamount, status
code, donoramount, giftamount, id, isactive, name, raisedamount, status 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.
Was this page helpful?