Skip to main content

List donations

GET /donations

Requires the donations:read permission. Returns records belonging to the authenticated organisation, including unpublished or inactive records unless filtered.

Authorization​

X-API-Key required

Parameters​

NameLocationTypeRequiredDefaultLimitsDescription
pagequeryintegerNo1min 1, max 1000000Page number
limitqueryintegerNo10min 1, max 100Results per page
campaignIdquerystringNoRemyPass donation campaign _id
memberIdquerystringNoRemyPass member _id
subscriptionIdquerystringNoRemyPass donation subscription _id
statusquerypending, paid, failed, refund_pending, partially_refunded, refunded, disputed, dispute_lostNoDonation payment status
frequencyqueryone_off, monthlyNoDonation frequency
emailquerystring (email)NoExact donor email, case-insensitive
currencyquerystringNoThree-letter currency code, case-insensitive
anonymousquerybooleanNoWhether the donor requested anonymity on public displays
updatedSincequerystring (date-time)NoInclusive ISO 8601 lower bound on updatedAt
createdAfterquerystring (date-time)NoInclusive ISO 8601 lower bound on createdAt
createdBeforequerystring (date-time)NoInclusive ISO 8601 upper bound on createdAt

Data and reconciliation​

Amounts use minor currency units (for example, GBP 25.50 is returned as 2550). Currency codes are lowercase. Relationship fields contain RemyPass record IDs; use the matching get endpoint to fetch related records. Optional relationships and dates may be absent or null. Checkout tokens, internal metadata, payment-provider credentials and worker leases are excluded.

List responses sort by updatedAt ascending, then _id ascending. Keep the same filters while paging. updatedSince is inclusive and requires a timezone. See incremental sync for overlap, deduplication and deletion handling.

Request Examples​

curl -X GET "https://api.remypass.com/api/v1/public/donations" \
  -H "Accept: application/json" \
  -H "X-API-Key: YOUR_API_KEY"

Responses​

StatusDescription
200Success
400Bad request. The top-level message explains what is invalid and, where applicable, the errors array contains structured field details.
401Missing or invalid API key.
403The caller is not allowed to access this resource.
429Rate limit exceeded.
500Server error.

200 Response Example​

{
"success": true,
"message": "Success",
"data": [
{
"_id": "507f1f77bcf86cd799439011",
"createdAt": "2026-10-06T12:00:00.000Z",
"updatedAt": "2026-10-06T12:00:00.000Z",
"campaign": "507f1f77bcf86cd799439011",
"member": "507f1f77bcf86cd799439011",
"subscription": "507f1f77bcf86cd799439011",
"donor": {
"name": "Example",
"email": "person@example.com"
},
"frequency": "one_off",
"baseAmount": 25,
"feeContributionAmount": 0,
"amount": 25,
"currency": "gbp",
"status": "pending",
"anonymous": false,
"refundedAmount": 0,
"disputeStatus": "open",
"disputedAmount": 0,
"receiptUrl": "",
"paidAt": "2026-10-06T12:00:00.000Z",
"refundedAt": "2026-10-06T12:00:00.000Z"
}
],
"pagination": {
"currentPage": 1,
"totalPages": 5,
"totalItems": 47,
"itemsPerPage": 10,
"hasNextPage": true,
"hasPrevPage": false
}
}

Response Fields​

FieldTypeDescriptionAttributes
successboolean
messagestring
dataarray of object
Show child attributes
  • _id: string — RemyPass record _id
  • createdAt: string (date-time) — created At
  • updatedAt: string (date-time) — updated At
  • campaign: string — Related RemyPass record _id
  • member: string — Related RemyPass record _id
  • subscription: string — Related RemyPass record _id
  • donor: object
    Show child attributes
    • name: string — name
    • email: string — email
  • frequency: one_off, monthly — frequency
  • baseAmount: number — Money in minor currency units
  • feeContributionAmount: number — Money in minor currency units
  • amount: number — Money in minor currency units
  • currency: string — currency
  • status: pending, paid, failed, refund_pending, partially_refunded, refunded, disputed, dispute_lost — status
  • anonymous: boolean — Anonymity applies to public displays; authorised organisation API access includes donor name and email
  • refundedAmount: number — Money in minor currency units
  • disputeStatus: open, won, lost, warning_closed — dispute Status
  • disputedAmount: number — Money in minor currency units
  • receiptUrl: string — receipt Url
  • paidAt: string (date-time) — paid At
  • refundedAt: string (date-time) — refunded At
paginationobject
Show child attributes
  • currentPage: integer
  • totalPages: integer
  • totalItems: integer
  • itemsPerPage: integer
  • hasNextPage: boolean
  • hasPrevPage: boolean