---
title: "Generate Annual Summary Report for Supporter"
method: POST
path: "/supporters/{supporter_id}/annual-summary"
tags: ["Annual Summary", "Supporter"]
---

# Generate Annual Summary Report for Supporter

`POST /supporters/{supporter_id}/annual-summary`

Generate an annual summary report PDF for the specified supporter and return a presigned S3 URL for download

## Path parameters

- `supporter_id` integer, required

## Request body

- object
  - `report_year` integer — The year for the annual summary report
  - `start_date` string, date — Start date for the report (optional, defaults to January 1st of report_year)
  - `end_date` string, date — End date for the report (optional, defaults to December 31st of report_year)

## Response `200`

Annual summary report download information

- object
  - `download_url` string — S3 presigned URL for file download
  - `filename` string — Filename in format GivingSummary_[SupporterName]_YYYY.pdf
  - `expires_at` string — ISO 8601 timestamp when the presigned URL expires
  - `file_size` string — File size in bytes
  - `content_type` string — MIME type
  - `type` string — File type identifier

## Other responses

- `403` — Requester is not authorized to perform action
- `404` — Supporter not found
- `422` — Validation error
- `500` — PDF generation or S3 upload failed

---

[API](https://skmtc.net/gofundme/apis/gofundme-pro-api.md) · [All operations](https://skmtc.net/gofundme/apis/gofundme-pro-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gofundme/gofundme-pro-api/revisions/6d020bee17cc/schema)
