GoFundMe · OpenAPI Overlay 1.0.0
API Evangelist enhancements for the GoFundMe Pro API
10 actions
10 updates
update
extends
openapi/gofundme-pro-api-openapi.json
Derived by API Evangelist
Built from the contracts GoFundMe publishes. GoFundMe did not publish this file.
What the actions change
x-apievangelist-notex-apievangelist-absolute-token-urlx-apievangelist-providerx-apievangelist-apix-apievangelist-harvestedx-apievangelist-sourcex-apievangelist-artifactsx-apievangelist-token-endpoint
Targets 4
$.info
$.servers
$.components.securitySchemes.OAuth2Application
$.components.securitySchemes.OAuth2Member
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enhancements for the GoFundMe Pro API
version: 1.0.0
extends: openapi/gofundme-pro-api-openapi.json
x-generated: '2026-08-04'
x-method: generated
x-source: >-
Derived from the verbatim OpenAPI harvested from https://docs.classy.org/specs/apiv2-public.json
on 2026-08-04, plus the docs at developers.gofundme.com/pro and the artifacts in this repo.
This overlay carries API Evangelist annotations only; the harvested spec is never mutated.
actions:
- target: $.info
update:
x-apievangelist-provider: gofundme
x-apievangelist-api: GoFundMe Pro API
x-apievangelist-harvested: '2026-08-04'
x-apievangelist-source: https://docs.classy.org/specs/apiv2-public.json
x-apievangelist-artifacts:
authentication: authentication/gofundme-authentication.yml
scopes: scopes/gofundme-scopes.yml
conventions: conventions/gofundme-conventions.yml
errors: errors/gofundme-problem-types.yml
rate_limits: rate-limits/gofundme-rate-limits.yml
lifecycle: lifecycle/gofundme-lifecycle.yml
data_model: data-model/gofundme-data-model.yml
webhooks: asyncapi/gofundme-webhooks.yml
sandbox: sandbox/gofundme-sandbox.yml
conformance: conformance/gofundme-conformance.yml
- target: $.servers
update:
- url: https://pro.gofundme.com/api/2.0
description: Production (GoFundMe Pro host) — declared by the provider's own spec.
- url: https://api.classy.org/2.0
description: >-
Production (legacy Classy host) — still live and still the host every published authentication
example uses. Added by API Evangelist because the spec omits it while the docs depend on it.
x-apievangelist-added: true
- target: $.info
update:
x-apievangelist-token-endpoint: https://api.classy.org/oauth2/auth
x-apievangelist-token-lifetime-seconds: 3600
x-apievangelist-note: >-
The oauth2 securitySchemes declare a RELATIVE tokenUrl ("/oauth2/auth"), which resolves
against the declared server (pro.gofundme.com/api/2.0) and therefore does not match the
absolute token endpoint the authentication docs publish (https://api.classy.org/oauth2/auth).
Generated clients will send token requests to the wrong URL. Recorded here rather than
patched into the harvested spec.
- target: $.info
update:
x-apievangelist-rate-limit:
requests_per_minute: 1800
scope: per application and per user
exempt: internal applications
headers: [X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After]
status: 429
artifact: rate-limits/gofundme-rate-limits.yml
- target: $.info
update:
x-apievangelist-pagination:
style: page-number
params: [page, per_page]
default_per_page: 20
max_per_page: 100
envelope: PaginatedResponse
x-apievangelist-query-conventions:
expand: with
sparse_fields: fields
filter: filter
sort: sort
- target: $.info
update:
x-apievangelist-error-model:
rfc9457: false
envelopes:
- ForbiddenResponse
- ResourceNotFoundResponse
- MalformedPayloadResponse
- UnprocessableEntityResponse
- RateLimitExceededResponse
undeclared_in_spec: [401, 429, 503]
artifact: errors/gofundme-problem-types.yml
- target: $.info
update:
x-apievangelist-deprecation:
deprecated_operations: 54
policy_url: https://developers.gofundme.com/pro/reference/deprecation
sunset_header: false
note: >-
54 operations carry OpenAPI `deprecated: true` but the published deprecation schedule has
no entries after 2016 and no removal dates for any of them.
- target: $.components.securitySchemes.OAuth2Application
update:
x-apievangelist-absolute-token-url: https://api.classy.org/oauth2/auth
x-apievangelist-credential-source: >-
client_id + client_secret minted in GoFundMe Pro > Apps & Integrations > API. Must be sent in
the request body, never as query-string parameters.
- target: $.components.securitySchemes.OAuth2Member
update:
x-apievangelist-absolute-token-url: https://api.classy.org/oauth2/auth
x-apievangelist-grants: [authorization_code, password]
x-apievangelist-consent-flow: https://developers.gofundme.com/pro/api-docs/login
x-apievangelist-note: >-
The spec models this scheme as the `password` flow, but the documented and recommended path to
a member token is an authorization_code exchange after Classy Login consent.
- target: $.info
update:
x-apievangelist-gaps:
- No AsyncAPI document for the Svix-delivered webhook surface (6 events, 3 resources).
- No /.well-known/openid-configuration for the Classy Login OIDC service.
- No global Idempotency-Key header; idempotency_key exists on one batch operation only.
- No sandbox tenant or test credentials; every write is a production write.
- No 401/429/503 responses declared on any operation despite being documented in prose.
- First-party SDKs (npm classy-node, Packagist classy-org/classy-php-sdk) are years stale.
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/gofundme-pro-api-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.