---
title: "List charity donations"
method: GET
path: "/donations"
tags: ["Customers"]
---

# List charity donations

`GET /donations`

## Request

- Base URL: `https://www.raceentry.com/restapi/v1`
- URL: `https://www.raceentry.com/restapi/v1/donations`
- Auth: OAuth 2
  - Authorization code: `/oauth2/authorize`
  - Token URL: `/oauth2/token`

Charity donations for completed orders in an event year, newest first by order
date. Returns the order's billing contact alongside each donation so a donor can
be synced into a CRM even when `donor_name` is anonymized for public display.
The `hide_name` and `hide_amount` flags are passed through so consumers can
honor them if desired.

Required permissions: Sales Rep, Director, Charity, or Reports.

## Query parameters

- `event_id` integer, required
- `year` string
- `since` string, date-time
- `page` integer
- `per_page` integer

## Response `200`

Paginated donation list

- object
  - `page` integer, required
  - `per_page` integer, required
  - `count` integer, required: Number of records in this page
  - `next_page` integer, nullable, required: Next page number, or null when on the last page
  - `data` Donation[], required
    - `id` integer, required
    - `donor_name` string, nullable: Donor-supplied display name (may be null if not provided)
    - `charity` string, nullable
    - `amount` string, required
    - `fee` string, required: Processing fee applied to the donation
    - `total` string, required: amount + fee
    - `comment` string, nullable
    - `hide_name` boolean: donor chose to hide their name from public display
    - `hide_amount` boolean: donor chose to hide their amount from public display
    - `order_id` integer, required
    - `billing_name` string, nullable: Billing name from the order (always present, unaffected by hide_name)
    - `billing_email` string, email, nullable
    - `order_date` string, date-time, required

## Other responses

- `400`: Missing or invalid query parameter
- `401`: Missing, invalid, or expired bearer token
- `403`: Token not scoped to the event, or insufficient web permission
- `404`: Event, event year, or record not found

---

[API](https://skmtc.dev/raceentry/apis/rest-api-v1.md) - [All operations](https://skmtc.dev/raceentry/apis/rest-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/raceentry/apis/rest-api-v1/revisions/ee7bc17021a6?raw)
