List fundraising campaigns
curl --request GET \
--url https://api.transparencyhubnetwork.ai/api/v1/fundraising/campaigns \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.transparencyhubnetwork.ai/api/v1/fundraising/campaigns"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.transparencyhubnetwork.ai/api/v1/fundraising/campaigns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.transparencyhubnetwork.ai/api/v1/fundraising/campaigns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.transparencyhubnetwork.ai/api/v1/fundraising/campaigns"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.transparencyhubnetwork.ai/api/v1/fundraising/campaigns")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.transparencyhubnetwork.ai/api/v1/fundraising/campaigns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": [
{
"id": 2,
"name": "Library fund",
"display_name": "Build the Library",
"summary": "Help us stock the new library",
"status": "active",
"image": null,
"logo": null,
"allowed_amounts": [
5000,
10000,
25000
],
"expected_amount": 2000000.0,
"total_raised": 150.0,
"donation_count": 3,
"start_date": "2026-06-01T00:00:00Z",
"end_date": "2026-12-31T00:00:00Z",
"createddate": "2026-05-20T00:00:00Z",
"lastmodifieddate": null
}
],
"pagination": {
"total": 1,
"offset": 0,
"limit": 50
}
}
Fundraising
List fundraising campaigns
Fundraising campaigns.
GET
/
v1
/
fundraising
/
campaigns
List fundraising campaigns
curl --request GET \
--url https://api.transparencyhubnetwork.ai/api/v1/fundraising/campaigns \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.transparencyhubnetwork.ai/api/v1/fundraising/campaigns"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.transparencyhubnetwork.ai/api/v1/fundraising/campaigns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.transparencyhubnetwork.ai/api/v1/fundraising/campaigns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.transparencyhubnetwork.ai/api/v1/fundraising/campaigns"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.transparencyhubnetwork.ai/api/v1/fundraising/campaigns")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.transparencyhubnetwork.ai/api/v1/fundraising/campaigns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": [
{
"id": 2,
"name": "Library fund",
"display_name": "Build the Library",
"summary": "Help us stock the new library",
"status": "active",
"image": null,
"logo": null,
"allowed_amounts": [
5000,
10000,
25000
],
"expected_amount": 2000000.0,
"total_raised": 150.0,
"donation_count": 3,
"start_date": "2026-06-01T00:00:00Z",
"end_date": "2026-12-31T00:00:00Z",
"createddate": "2026-05-20T00:00:00Z",
"lastmodifieddate": null
}
],
"pagination": {
"total": 1,
"offset": 0,
"limit": 50
}
}
Fundraising campaigns. Filter by
status.
Each campaign carries how it is doing: total_raised is the sum of its completed donations and donation_count is how many there have been. Donations that are still pending or that failed are not counted, so these match the totals on the campaign page in the app.
Required scope: fundraising:read
{
"status": "success",
"data": [
{
"id": 2,
"name": "Library fund",
"display_name": "Build the Library",
"summary": "Help us stock the new library",
"status": "active",
"image": null,
"logo": null,
"allowed_amounts": [
5000,
10000,
25000
],
"expected_amount": 2000000.0,
"total_raised": 150.0,
"donation_count": 3,
"start_date": "2026-06-01T00:00:00Z",
"end_date": "2026-12-31T00:00:00Z",
"createddate": "2026-05-20T00:00:00Z",
"lastmodifieddate": null
}
],
"pagination": {
"total": 1,
"offset": 0,
"limit": 50
}
}
Authorizations
ApiKeyAuthBearerAuth
Query Parameters
Required for association-wide keys; must match the key's chapter for chapter-bound keys.
Required range:
x >= 0Required range:
1 <= x <= 200
