Read a household tax-summary contribution projection
Returns a statement for the household current active donor members and organization jurisdiction/timezone. Household permission and every member donor-form scope are required. Omitted year selects the most recent available period. Gifts within the household scope are counted once; recognition on already-owned gifts and QCD IRA-owner reconciliation gifts is omitted from soft credits. Deductible cash/in-kind totals and recognition totals stay separate per currency. Ambiguous evidence marks review_required; an empty statement can have null year/period/fingerprint. No PDF, email or mutation is performed. Requires permission: one of households_view, households_manage.
curl --request GET \
--url https://api.gratona.com/v1/admin/tax-summaries/households/{household_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.gratona.com/v1/admin/tax-summaries/households/{household_id}"
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/tax-summaries/households/{household_id}', 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/tax-summaries/households/{household_id}",
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/tax-summaries/households/{household_id}"
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/tax-summaries/households/{household_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/tax-summaries/households/{household_id}")
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{
"success": true,
"data": {
"contract_version": "v1",
"statement_status": "ready",
"includes_soft_credits": true,
"soft_credits": [
{
"soft_credit_id": 42,
"donation_id": 42,
"donor_id": 42,
"date": "2026-10-20",
"designation": "Education",
"giver_name": "Jane Donor",
"type": "Soft credit",
"giving_source": "direct",
"giving_source_label": "Direct",
"currency": "$",
"currency_code": "USD",
"amount": "25.00",
"amount_minor": 2500
}
],
"soft_credit_currency_groups": [
{
"currency_code": "USD",
"currency_symbol": "$",
"total_minor": 2500,
"total": "25.00",
"count": 1
}
],
"scope": {
"type": "donor",
"id": 42,
"donor_ids": [
42
]
},
"tax_year": 2026,
"organization_timezone": "Africa/Kampala",
"period": {
"from_utc": "2026-10-20T12:00:00Z",
"until_utc": "2026-10-20T12:00:00Z"
},
"jurisdiction": {
"country_code": "US",
"country_name": "United States",
"supports_qcd": true,
"tax_period_basis": "calendar_year",
"fiscal_year_start_month": 7,
"period_label": "1 January2026 –31 December2026",
"is_configured": true,
"statement_title": "Tax Summary",
"registration_label": "EIN",
"registration_number": "",
"receipt_acknowledgement": "Example",
"page_preset": "us_letter_portrait"
},
"as_of": "2026-10-20T12:00:00Z",
"available_years": [
2026
],
"contributions": [
{
"id": 42,
"donation_id": 42,
"donor_id": 42,
"ira_owner_donor_id": 42,
"date": "2026-10-20",
"type": "Donation",
"designation": "Education",
"designation_name": "Education",
"program_id": 42,
"program_name": "Education program",
"method": "Check",
"method_id": 42,
"currency": "$",
"currency_code": "USD",
"amount": "25.00",
"amount_minor": 2500,
"giving_source": "direct",
"giving_source_label": "Direct",
"is_in_kind": true,
"is_tax_deductible": true,
"in_kind_category": "Example",
"in_kind_category_label": "Example",
"notes": "Example"
}
],
"excluded_contributions": [
{
"id": 42,
"donation_id": 42,
"donor_id": 42,
"ira_owner_donor_id": 42,
"date": "2026-10-20",
"type": "Donation",
"designation": "Education",
"designation_name": "Education",
"program_id": 42,
"program_name": "Education program",
"method": "Check",
"method_id": 42,
"currency": "$",
"currency_code": "USD",
"amount": "25.00",
"amount_minor": 2500,
"giving_source": "direct",
"giving_source_label": "Direct",
"reason": "excluded_non_deductible",
"blocking": true
}
],
"currency_groups": [
{
"currency_code": "USD",
"currency_symbol": "$",
"cash_total": "25.00",
"in_kind_total": "25.00",
"tax_deductible_total": "25.00",
"cash_total_minor": 2500,
"in_kind_total_minor": 2500,
"tax_deductible_total_minor": 2500,
"contribution_count": 1
}
],
"warnings": [
{
"code": "review_required_partial_refund",
"count": 1,
"blocking": true,
"message": "One or more contributions need review."
}
],
"exclusion_counts": {},
"audit_summary": {
"candidate_count": 1,
"included_count": 1,
"excluded_count": 1,
"review_required_count": 1,
"counts_by_reason": {}
},
"fingerprint": "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Not Found",
"status": "error"
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}Authorizations
Passport bearer token authentication for legacy admin sessions.
Path Parameters
Household id in the current organization.
Query Parameters
Statement period year,1900 through the current year plus one. Omit to select latest available year.
1900 <= x <= 2027Include separate recognition on other-owner gifts; default false.
curl --request GET \
--url https://api.gratona.com/v1/admin/tax-summaries/households/{household_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.gratona.com/v1/admin/tax-summaries/households/{household_id}"
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/tax-summaries/households/{household_id}', 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/tax-summaries/households/{household_id}",
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/tax-summaries/households/{household_id}"
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/tax-summaries/households/{household_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/tax-summaries/households/{household_id}")
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{
"success": true,
"data": {
"contract_version": "v1",
"statement_status": "ready",
"includes_soft_credits": true,
"soft_credits": [
{
"soft_credit_id": 42,
"donation_id": 42,
"donor_id": 42,
"date": "2026-10-20",
"designation": "Education",
"giver_name": "Jane Donor",
"type": "Soft credit",
"giving_source": "direct",
"giving_source_label": "Direct",
"currency": "$",
"currency_code": "USD",
"amount": "25.00",
"amount_minor": 2500
}
],
"soft_credit_currency_groups": [
{
"currency_code": "USD",
"currency_symbol": "$",
"total_minor": 2500,
"total": "25.00",
"count": 1
}
],
"scope": {
"type": "donor",
"id": 42,
"donor_ids": [
42
]
},
"tax_year": 2026,
"organization_timezone": "Africa/Kampala",
"period": {
"from_utc": "2026-10-20T12:00:00Z",
"until_utc": "2026-10-20T12:00:00Z"
},
"jurisdiction": {
"country_code": "US",
"country_name": "United States",
"supports_qcd": true,
"tax_period_basis": "calendar_year",
"fiscal_year_start_month": 7,
"period_label": "1 January2026 –31 December2026",
"is_configured": true,
"statement_title": "Tax Summary",
"registration_label": "EIN",
"registration_number": "",
"receipt_acknowledgement": "Example",
"page_preset": "us_letter_portrait"
},
"as_of": "2026-10-20T12:00:00Z",
"available_years": [
2026
],
"contributions": [
{
"id": 42,
"donation_id": 42,
"donor_id": 42,
"ira_owner_donor_id": 42,
"date": "2026-10-20",
"type": "Donation",
"designation": "Education",
"designation_name": "Education",
"program_id": 42,
"program_name": "Education program",
"method": "Check",
"method_id": 42,
"currency": "$",
"currency_code": "USD",
"amount": "25.00",
"amount_minor": 2500,
"giving_source": "direct",
"giving_source_label": "Direct",
"is_in_kind": true,
"is_tax_deductible": true,
"in_kind_category": "Example",
"in_kind_category_label": "Example",
"notes": "Example"
}
],
"excluded_contributions": [
{
"id": 42,
"donation_id": 42,
"donor_id": 42,
"ira_owner_donor_id": 42,
"date": "2026-10-20",
"type": "Donation",
"designation": "Education",
"designation_name": "Education",
"program_id": 42,
"program_name": "Education program",
"method": "Check",
"method_id": 42,
"currency": "$",
"currency_code": "USD",
"amount": "25.00",
"amount_minor": 2500,
"giving_source": "direct",
"giving_source_label": "Direct",
"reason": "excluded_non_deductible",
"blocking": true
}
],
"currency_groups": [
{
"currency_code": "USD",
"currency_symbol": "$",
"cash_total": "25.00",
"in_kind_total": "25.00",
"tax_deductible_total": "25.00",
"cash_total_minor": 2500,
"in_kind_total_minor": 2500,
"tax_deductible_total_minor": 2500,
"contribution_count": 1
}
],
"warnings": [
{
"code": "review_required_partial_refund",
"count": 1,
"blocking": true,
"message": "One or more contributions need review."
}
],
"exclusion_counts": {},
"audit_summary": {
"candidate_count": 1,
"included_count": 1,
"excluded_count": 1,
"review_required_count": 1,
"counts_by_reason": {}
},
"fingerprint": "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Not Found",
"status": "error"
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}