Register a client at patreon.com/portal; set the redirect URI and obtain client_id and client_secret.
Redirect users to https://www.patreon.com/oauth2/authorize with response_type=code, client_id, redirect_uri, and scope (e.g., identity identity[email] campaigns campaigns.members).
Exchange the returned code for tokens via POST https://www.patreon.com/api/oauth2/token with grant_type=authorization_code, code, client_id, client_secret, and redirect_uri.
Fetch the authenticated user's data and campaign membership via GET https://www.patreon.com/api/oauth2/v2/identity?include=memberships&fields[member]=patron_status,currently_entitled_amount_cents,lifetime_support_cents using the Bearer token.
To receive membership webhooks, configure a webhook URL in the Patreon portal; Patreon sends POST requests for events like members:create, members:update, and members:pledge:create — validate them using the X-Patreon-Signature header (HMAC-MD5 of the body with your webhook secret).
Known gotchas
Patreon's API v2 uses JSON:API format with sparse fieldsets and includes; failing to explicitly request the fields and relationships you need via fields[] and include query parameters returns minimal data that looks like missing records.
Access tokens expire (typically after 30 days) and must be refreshed using the refresh_token; if the refresh token itself expires before use, the user must re-authorize, which is disruptive for long-running integrations.
Webhook event delivery is not guaranteed to be in order or exactly once; memberships should be reconciled by re-fetching the canonical state from the API rather than relying solely on the sequence of webhook events.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp