Skip to main content

List donation campaigns

GET /donation-campaigns

Requires the donation_campaigns: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
statusquerydraft, published, archivedNoCampaign status
slugquerystringNomin length 1, max length 200Exact campaign slug
currencyquerystringNoThree-letter currency code, case-insensitive
allowRecurringquerybooleanNoWhether monthly giving is enabled
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
searchquerystringNomax length 200Case-insensitive literal search over title, slug

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/donation-campaigns" \
  -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",
"title": "Example",
"slug": "example",
"description": "",
"imageUrl": "",
"logoUrl": "",
"status": "draft",
"currency": "usd",
"suggestedAmounts": [
25
],
"defaultAmount": 2500,
"allowCustomAmount": true,
"minimumAmount": 100,
"maximumCustomAmount": 25,
"allowRecurring": true,
"promoteMonthlyGiving": false,
"defaultFrequency": "one_off",
"feeContributionEnabled": false,
"feeContributionPercent": 3,
"goalAmount": 25,
"acknowledgementText": "No goods or services were provided in exchange for this contribution",
"confirmationText": "Thank you for supporting our work",
"totalRaised": 0,
"donationCount": 0
}
],
"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
  • title: string — title
  • slug: string — slug
  • description: string — description
  • imageUrl: string — image Url
  • logoUrl: string — logo Url
  • status: draft, published, archived — status
  • currency: string — currency
  • suggestedAmounts: array of number — Money in minor currency units
  • defaultAmount: number — Money in minor currency units
  • allowCustomAmount: boolean — allow Custom Amount
  • minimumAmount: number — Money in minor currency units
  • maximumCustomAmount: number — Money in minor currency units
  • allowRecurring: boolean — allow Recurring
  • promoteMonthlyGiving: boolean — promote Monthly Giving
  • defaultFrequency: one_off, monthly — default Frequency
  • feeContributionEnabled: boolean — fee Contribution Enabled
  • feeContributionPercent: number — fee Contribution Percent
  • goalAmount: number — Money in minor currency units
  • acknowledgementText: string — acknowledgement Text
  • confirmationText: string — confirmation Text
  • totalRaised: number — Stored campaign total in minor currency units
  • donationCount: number — Stored campaign donation count
paginationobject
Show child attributes
  • currentPage: integer
  • totalPages: integer
  • totalItems: integer
  • itemsPerPage: integer
  • hasNextPage: boolean
  • hasPrevPage: boolean