Get a donation’s recognition credits
Returns the organization-owned donation, its active soft credits with donor/type relations and the active manual credit types. Automatically managed DAF/QCD recognition types are omitted from the type picker, while existing managed credits remain visible. Requires permission: one of donations, reports_view, reports_manage.
curl --request GET \
--url https://api.gratona.com/v1/admin/donations/{donation_id}/soft-credits \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.gratona.com/v1/admin/donations/{donation_id}/soft-credits"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gratona.com/v1/admin/donations/{donation_id}/soft-credits', 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.gratona.com/v1/admin/donations/{donation_id}/soft-credits",
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: Bearer <token>"
],
]);
$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.gratona.com/v1/admin/donations/{donation_id}/soft-credits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.gratona.com/v1/admin/donations/{donation_id}/soft-credits")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/donations/{donation_id}/soft-credits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"donation": {
"id": 983221,
"client_id": 207,
"donor_id": 12345,
"amount": 51.5,
"currency": "USD",
"designation": 4711,
"type": 1,
"method": 3,
"frequency": 5,
"one_time": true,
"duration": "2027-01-15",
"processing_fee": 2,
"platform_fee": 0.5,
"amount_excluding_fee": 49.5,
"processor_net_amount": 49.5,
"processor_fee_currency": "USD",
"donor_covered_fee": 1.5,
"processing_fee_known": true,
"actual_charged_amount": 103,
"in_kind_category": "goods",
"result": "successful",
"transaction_id": "ch_3OqXXXXX",
"transaction_status": "succeeded",
"refunded": false,
"refunded_amount": 0,
"refundable": true,
"is_tax_deductible": true,
"tags": [
"matching-gift",
"year-end"
],
"notes": "Memo: in honor of John Doe",
"quickbooks_receipt_id": "qbo_5512",
"receipt_sent_at": "2026-01-02T08:30:00Z",
"acknowledged_at": "2026-01-03T10:15:00Z",
"acknowledged_by_user_id": 42,
"acknowledgement_source": "manual",
"acknowledgement_context_json": {},
"json_fields": "<string>",
"batch_id": null,
"is_csv_import": false,
"created_at": "2026-01-02T08:25:00Z",
"updated_at": "2026-01-02T08:30:00Z",
"deleted_at": null
},
"soft_credits": [
{
"id": 42,
"client_id": 12,
"donation_id": 84,
"donor_id": 21,
"amount": 25,
"soft_credit_type_id": 2,
"notes": "Recognized for the community introduction.",
"relationship_role_override": "recognition_only",
"relationship_role_context": {},
"created_at": "2026-10-20T12:00:00Z",
"updated_at": "2026-10-20T12:00:00Z",
"deleted_at": "2023-11-07T05:31:56Z",
"donor": {
"id": 12345,
"client_id": 207,
"hysform_id": 42,
"donorprogram_id": 11,
"household_id": 88,
"type": "INDIVIDUAL",
"username": "janedoe",
"email": "jane@example.com",
"organization_name": "Acme Foundation",
"first_name": "Jane",
"last_name": "Doe",
"preferred_contact_method": "email",
"phone": "(555) 123-4567",
"phone_e164": "+15551234567",
"can_receive_sms": true,
"street": "123 Main St",
"address_line2": "Apt 4B",
"city": "Springfield",
"state": "IL",
"zip": "62704",
"country": "United States",
"country_code": "US",
"subdivision_code": "US-IL",
"json_fields": "<string>",
"year_to_date": {},
"has_artifacts": false,
"batch_id": null,
"created_at": "2025-03-15T19:42:00Z",
"updated_at": "2026-01-02T08:11:00Z",
"deleted_at": null
},
"soft_credit_type": {
"id": 2,
"key": "in_honor_of",
"name": "In Honor Of",
"description": "Recognition for a gift.",
"active": true
},
"donation": {
"id": 983221,
"client_id": 207,
"donor_id": 12345,
"amount": 51.5,
"currency": "USD",
"designation": 4711,
"type": 1,
"method": 3,
"frequency": 5,
"one_time": true,
"duration": "2027-01-15",
"processing_fee": 2,
"platform_fee": 0.5,
"amount_excluding_fee": 49.5,
"processor_net_amount": 49.5,
"processor_fee_currency": "USD",
"donor_covered_fee": 1.5,
"processing_fee_known": true,
"actual_charged_amount": 103,
"in_kind_category": "goods",
"result": "successful",
"transaction_id": "ch_3OqXXXXX",
"transaction_status": "succeeded",
"refunded": false,
"refunded_amount": 0,
"refundable": true,
"is_tax_deductible": true,
"tags": [
"matching-gift",
"year-end"
],
"notes": "Memo: in honor of John Doe",
"quickbooks_receipt_id": "qbo_5512",
"receipt_sent_at": "2026-01-02T08:30:00Z",
"acknowledged_at": "2026-01-03T10:15:00Z",
"acknowledged_by_user_id": 42,
"acknowledgement_source": "manual",
"acknowledgement_context_json": {},
"json_fields": "<string>",
"batch_id": null,
"is_csv_import": false,
"created_at": "2026-01-02T08:25:00Z",
"updated_at": "2026-01-02T08:30:00Z",
"deleted_at": null
},
"designation": {},
"donor_name": {
"id": 21,
"hysform_id": 1,
"name": "Jane Donor",
"email": "jane@example.org"
}
}
],
"soft_credit_types": [
{
"id": 2,
"key": "in_honor_of",
"name": "In Honor Of",
"description": "Recognition for a gift.",
"active": true
}
],
"status": "success"
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Not Found",
"status": "error"
}Authorizations
Passport bearer token authentication for legacy admin sessions.
Path Parameters
Donation id in the current organization.
Response
Operation result.
An individual donation transaction. Donations may be one-time or part of a recurring Commitment. Despite the name, the designation column actually stores the recipient entity_id (it predates entities and was never renamed). Tax/refund/QuickBooks state lives on the donation row alongside the gateway transaction id.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
"success"
curl --request GET \
--url https://api.gratona.com/v1/admin/donations/{donation_id}/soft-credits \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.gratona.com/v1/admin/donations/{donation_id}/soft-credits"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gratona.com/v1/admin/donations/{donation_id}/soft-credits', 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.gratona.com/v1/admin/donations/{donation_id}/soft-credits",
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: Bearer <token>"
],
]);
$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.gratona.com/v1/admin/donations/{donation_id}/soft-credits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.gratona.com/v1/admin/donations/{donation_id}/soft-credits")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/donations/{donation_id}/soft-credits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"donation": {
"id": 983221,
"client_id": 207,
"donor_id": 12345,
"amount": 51.5,
"currency": "USD",
"designation": 4711,
"type": 1,
"method": 3,
"frequency": 5,
"one_time": true,
"duration": "2027-01-15",
"processing_fee": 2,
"platform_fee": 0.5,
"amount_excluding_fee": 49.5,
"processor_net_amount": 49.5,
"processor_fee_currency": "USD",
"donor_covered_fee": 1.5,
"processing_fee_known": true,
"actual_charged_amount": 103,
"in_kind_category": "goods",
"result": "successful",
"transaction_id": "ch_3OqXXXXX",
"transaction_status": "succeeded",
"refunded": false,
"refunded_amount": 0,
"refundable": true,
"is_tax_deductible": true,
"tags": [
"matching-gift",
"year-end"
],
"notes": "Memo: in honor of John Doe",
"quickbooks_receipt_id": "qbo_5512",
"receipt_sent_at": "2026-01-02T08:30:00Z",
"acknowledged_at": "2026-01-03T10:15:00Z",
"acknowledged_by_user_id": 42,
"acknowledgement_source": "manual",
"acknowledgement_context_json": {},
"json_fields": "<string>",
"batch_id": null,
"is_csv_import": false,
"created_at": "2026-01-02T08:25:00Z",
"updated_at": "2026-01-02T08:30:00Z",
"deleted_at": null
},
"soft_credits": [
{
"id": 42,
"client_id": 12,
"donation_id": 84,
"donor_id": 21,
"amount": 25,
"soft_credit_type_id": 2,
"notes": "Recognized for the community introduction.",
"relationship_role_override": "recognition_only",
"relationship_role_context": {},
"created_at": "2026-10-20T12:00:00Z",
"updated_at": "2026-10-20T12:00:00Z",
"deleted_at": "2023-11-07T05:31:56Z",
"donor": {
"id": 12345,
"client_id": 207,
"hysform_id": 42,
"donorprogram_id": 11,
"household_id": 88,
"type": "INDIVIDUAL",
"username": "janedoe",
"email": "jane@example.com",
"organization_name": "Acme Foundation",
"first_name": "Jane",
"last_name": "Doe",
"preferred_contact_method": "email",
"phone": "(555) 123-4567",
"phone_e164": "+15551234567",
"can_receive_sms": true,
"street": "123 Main St",
"address_line2": "Apt 4B",
"city": "Springfield",
"state": "IL",
"zip": "62704",
"country": "United States",
"country_code": "US",
"subdivision_code": "US-IL",
"json_fields": "<string>",
"year_to_date": {},
"has_artifacts": false,
"batch_id": null,
"created_at": "2025-03-15T19:42:00Z",
"updated_at": "2026-01-02T08:11:00Z",
"deleted_at": null
},
"soft_credit_type": {
"id": 2,
"key": "in_honor_of",
"name": "In Honor Of",
"description": "Recognition for a gift.",
"active": true
},
"donation": {
"id": 983221,
"client_id": 207,
"donor_id": 12345,
"amount": 51.5,
"currency": "USD",
"designation": 4711,
"type": 1,
"method": 3,
"frequency": 5,
"one_time": true,
"duration": "2027-01-15",
"processing_fee": 2,
"platform_fee": 0.5,
"amount_excluding_fee": 49.5,
"processor_net_amount": 49.5,
"processor_fee_currency": "USD",
"donor_covered_fee": 1.5,
"processing_fee_known": true,
"actual_charged_amount": 103,
"in_kind_category": "goods",
"result": "successful",
"transaction_id": "ch_3OqXXXXX",
"transaction_status": "succeeded",
"refunded": false,
"refunded_amount": 0,
"refundable": true,
"is_tax_deductible": true,
"tags": [
"matching-gift",
"year-end"
],
"notes": "Memo: in honor of John Doe",
"quickbooks_receipt_id": "qbo_5512",
"receipt_sent_at": "2026-01-02T08:30:00Z",
"acknowledged_at": "2026-01-03T10:15:00Z",
"acknowledged_by_user_id": 42,
"acknowledgement_source": "manual",
"acknowledgement_context_json": {},
"json_fields": "<string>",
"batch_id": null,
"is_csv_import": false,
"created_at": "2026-01-02T08:25:00Z",
"updated_at": "2026-01-02T08:30:00Z",
"deleted_at": null
},
"designation": {},
"donor_name": {
"id": 21,
"hysform_id": 1,
"name": "Jane Donor",
"email": "jane@example.org"
}
}
],
"soft_credit_types": [
{
"id": 2,
"key": "in_honor_of",
"name": "In Honor Of",
"description": "Recognition for a gift.",
"active": true
}
],
"status": "success"
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Not Found",
"status": "error"
}