canonical: https://jentic.com/apis/gofundme.com/gofundme

# GoFundMe Pro API

Jentic publishes the only available OpenAPI specification for GoFundMe Pro API, keeping it validated and agent-ready. The GoFundMe Pro API (formerly Classy) is the enterprise fundraising platform used by nonprofits to run campaigns, peer-to-peer fundraising, recurring donations, ticketed events, donor matching, and supporter engagement. It exposes 303 endpoints covering campaigns, transactions, recurring donation plans, supporters, dedications, fundraising teams, ecards, designations, comments, branding, appeal sets, and reporting. Authentication is OAuth 2.0 with a documented rate limit of 1800 requests per minute per application.

## For AI agents

Run GoFundMe Pro fundraising operations: create campaigns, list transactions, manage recurring donation plans, track supporters, and pull annual summary reports. Built for enterprise nonprofits.

## Scope

Does not handle the consumer GoFundMe.com personal-fundraiser product, low-level card processing, or accounting and tax filing - use for GoFundMe Pro (Classy) enterprise nonprofit fundraising only.

## Capabilities

- Pull transactions and transaction items for finance reconciliation, including receipts
- Manage recurring donation plans, including pausing or cancelling on behalf of a supporter
- Create and update campaign metadata such as appeal sets, dedications, ecards, and FAQs
- Track campaign credentials, channels, and feed items used by frontends and embeds
- Generate annual summary reports for an organisation or for an individual supporter
- Read activity, comments, and matched-transaction records to surface engagement signals

## Use cases

### Donor Annual Tax Receipts

Nonprofits generate annual summary reports for supporters at year end. The `/organizations/{organization_id}/annual-summary-reports/{year}` and `/supporters/{supporter_id}/annual-summary` endpoints return the consolidated giving totals and downloadable receipts that supporters need for tax filing.

Example prompt: Generate the 2025 annual summary report for organisation 901 and email each supporter their downloadable receipt link.

### Recurring Donation Lifecycle Management

Subscriber-care teams handle changes to recurring donations through `/campaigns/{campaign_id}/recurring-donation-plans` and the `/recurring-donation-plans/{recurring_id}/history` endpoint. An agent can list active plans, pause one for a supporter who calls in, and read the change history for the audit trail.

Example prompt: Pause supporter 7711's recurring donation on campaign 9001 for 90 days and log the change in the history.

### Finance Reconciliation

Finance teams reconcile fundraising income by pulling `/transactions/{transaction_id}`, `/transactions/{transaction_id}/items`, and `/transactions/{transaction_id}/receipts.` These endpoints expose the line-level detail needed to match each donation to a payout and feed the data into accounting software.

Example prompt: Pull all transactions over $1000 for campaign 9001 in May 2026 and produce a CSV with their items and receipts.

### AI Agent Donor Engagement

An AI agent uses Jentic to run nonprofit donor stewardship: it lists new transactions, pulls dedications, and drafts personalised thank-you notes that mention the dedication recipient. OAuth credentials stay in your Jentic One instance throughout.

Example prompt: Search Jentic for 'list gofundme pro transactions', load the schema, fetch yesterday's transactions, and draft a thank-you message for each donor referencing any dedication.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/transactions/{transaction_id}` | Retrieve a transaction |
| GET | `/transactions/{transaction_id}/items` | List the items inside a transaction |
| GET | `/transactions/{transaction_id}/receipts` | List receipts for a transaction |
| GET | `/campaigns/{campaign_id}/recurring-donation-plans` | List recurring donation plans on a campaign |
| GET | `/recurring-donation-plans/{recurring_id}/history` | Read the history of a recurring plan |
| GET | `/organizations/{organization_id}/annual-summary-reports/{year}` | Generate an annual summary report |
| GET | `/campaigns/{campaign_id}/appeal-set` | Read the campaign appeal set |
| GET | `/campaigns/{campaign_id}/activity` | Read campaign activity feed |

## Key resources

- **Campaign** — Manage fundraising campaigns and their associated channels and feeds
- **Transactions** — Read transactions, items, and receipts for reconciliation
- **Recurring Donation Plans** — Manage recurring donations and read history
- **Supporters** — Read supporter records and annual summaries
- **Appeal Set** — Configure campaign appeal sets and branding
- **Dedications** — Read in-honour-of and in-memory-of dedications
- **Activity** — Read campaign activity feeds and comments
- **Annual Summary Reports** — Generate organisation- or supporter-level annual reports
- **Designations** — Track which fund or programme a donation is allocated to

## Why Jentic

- **Setup:** Wiring GoFundMe Pro by hand means running its OAuth 2.0 client-credentials flow against api.classy.org, refreshing access tokens, and navigating the campaign, transaction, and organization report hierarchy yourself. Through Jentic you install once, import GoFundMe Pro from the API Directory, store the client credentials once, and your agent calls it.
- **Permission scoping:** GoFundMe Pro puts the resource id in the URL path (`/organizations/{organization_id}/...` and `/campaigns/{campaign_id}/...`), so a rule can pin your agent to one organization or campaign: it can read that campaign's transactions, activity, and recurring plans and nothing else. You choose the operations it may call, so it stays read-only unless you add write operations.
- **Credential handling:** Your GoFundMe Pro client credentials and refresh token are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list gofundme pro transactions' or 'get a campaign's annual summary', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without navigating the Classy-era reference docs.

## Related APIs

- **Donorbox API** — Donorbox targets small and mid-sized nonprofits with simpler donation forms and recurring giving.
- **Stripe API** — Stripe processes the underlying card and ACH transactions referenced by GoFundMe Pro records.
- **RallyUp REST API** — RallyUp covers the same nonprofit space with a focus on auctions, raffles, and sweepstakes.

## FAQ

### Why is there no official OpenAPI spec for GoFundMe Pro API?

GoFundMe Pro publishes a JSON spec on its developer portal but it is not maintained against the live API and contains drift. Jentic generates and maintains a corrected OpenAPI specification so AI agents and developers can call GoFundMe Pro API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the GoFundMe Pro API use?

GoFundMe Pro uses OAuth 2.0 with both application and member flows (OAuth2Application and OAuth2Member). Tokens are issued from the developer portal. Through Jentic, client credentials and refresh tokens are stored encrypted and rotated automatically.

### Can I cancel a recurring donation plan with the GoFundMe Pro API?

Yes. The /recurring-donation-plans endpoints expose the plan lifecycle, and `/recurring-donation-plans/{recurring_id}/history` returns the change history so you can confirm cancellations took effect for audit purposes.

### What are the rate limits for the GoFundMe Pro API?

The default rate limit is 1800 requests per minute per application. Responses include X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers, plus a Retry-After value on 429 responses. Internal applications are not subject to rate limits.

### How do I generate an annual summary report through Jentic?

Run a Jentic search for 'gofundme pro annual summary', load the schema for GET `/organizations/{organization_id}/annual-summary-reports/{year}`, and execute it with the organisation ID and year. Install with pip install jentic and chain search, load, and execute.

### Does the GoFundMe Pro API support transaction receipts?

Yes. GET `/transactions/{transaction_id}/receipts` returns the receipt records associated with a transaction so finance and supporter-care teams can resend a receipt or attach it to a tax-summary email.

### Can I limit what my agent is allowed to do with the GoFundMe Pro API?

Yes. Because Jentic One is self-hosted, your own rules decide which GoFundMe Pro operations and credentials the agent may use. GoFundMe Pro puts the resource id in the URL path, such as `/organizations/{organization_id}/...` and `/campaigns/{campaign_id}/...`, so a rule can pin the agent to a single organization or campaign and let it read only that campaign's transactions, activity, and recurring plans. You choose which operations it may call, so it stays read-only, for example GET `/transactions/{transaction_id}`, unless you add write operations yourself.
