> For the complete documentation index, see [llms.txt](https://movemint.gitbook.io/movemint-developer-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://movemint.gitbook.io/movemint-developer-docs/open-api-specification/core-resources/fundraising-settings.md).

# Fundraising Settings

Configure peer-to-peer fundraising: individual and team fundraisers, whether registrations count toward the donation goal, and the goal amount. Single-resource per event. Enabling the toggles turns the feature on; collecting money still needs a donation category and a connected Stripe account.

## Read the event's peer-to-peer fundraising settings

> Returns whether individual participant fundraisers and team fundraisers\
> are enabled, whether registrations count toward the donation goal, and\
> the donation goal amount.<br>

````json
{"openapi":"3.1.0","info":{"title":"Movemint API","version":"1.0"},"tags":[{"name":"Fundraising Settings","description":"Configure peer-to-peer fundraising: individual and team fundraisers,\nwhether registrations count toward the donation goal, and the goal\namount. Single-resource per event. Enabling the toggles turns the\nfeature on; collecting money still needs a donation category and a\nconnected Stripe account.\n"}],"servers":[{"url":"https://www.movemint.cc","description":"Production"}],"security":[{"bearerAuth":[]},{"oauth2":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Pass the access token in the `Authorization` header:\n```\nAuthorization: Bearer YOUR_ACCESS_TOKEN\n```\n"},"oauth2":{"type":"oauth2","description":"OAuth 2.0 authentication using the Authorization Code or Client\nCredentials grant flow.\n","flows":{"authorizationCode":{"authorizationUrl":"https://www.movemint.cc/oauth/authorize","tokenUrl":"https://www.movemint.cc/oauth/token","refreshUrl":"https://www.movemint.cc/oauth/token","scopes":{}},"clientCredentials":{"tokenUrl":"https://www.movemint.cc/oauth/token","scopes":{}}}}},"parameters":{"EventHandle":{"name":"handle","in":"path","required":true,"description":"The unique handle (slug) of the event","schema":{"type":"string"}}},"schemas":{"FundraisingSettings":{"type":"object","required":["peer_to_peer_fundraiser","team_fundraiser","registration_included_in_donation_goal","donation_goal_cents","donation_goal_dollars"],"properties":{"peer_to_peer_fundraiser":{"type":"boolean","description":"Whether individual participants can create personal fundraisers."},"team_fundraiser":{"type":"boolean","description":"Whether teams can fundraise collectively."},"registration_included_in_donation_goal":{"type":"boolean","description":"Whether registration revenue counts toward the donation goal."},"donation_goal_cents":{"type":"integer","nullable":true,"description":"Fundraising goal in cents. Null when no goal is set."},"donation_goal_dollars":{"type":"number","nullable":true,"description":"Fundraising goal in dollars (computed from donation_goal_cents)."}}},"OAuthError":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Machine-readable error code"},"error_description":{"type":"string","description":"Human-readable description of the error"}}},"Error":{"type":"object","description":"A generic error response","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable error message"}}}},"responses":{"Unauthorized":{"description":"Unauthorized - invalid or missing token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthError"}}}},"Forbidden":{"description":"Forbidden - user is not an admin of this event","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"EventNotFound":{"description":"Event not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/events/{handle}/fundraising_settings":{"get":{"tags":["Fundraising Settings"],"summary":"Read the event's peer-to-peer fundraising settings","description":"Returns whether individual participant fundraisers and team fundraisers\nare enabled, whether registrations count toward the donation goal, and\nthe donation goal amount.\n","operationId":"getFundraisingSettings","parameters":[{"$ref":"#/components/parameters/EventHandle"}],"responses":{"200":{"description":"Current fundraising settings","content":{"application/json":{"schema":{"type":"object","required":["fundraising_settings"],"properties":{"fundraising_settings":{"$ref":"#/components/schemas/FundraisingSettings"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/EventNotFound"}}}}}}
````

## Update peer-to-peer fundraising settings

> Partially update fundraising settings. Only fields present in the\
> request are touched. Enabling these toggles turns the feature on, but\
> for participants to actually collect money the event still needs a\
> donation category and a connected Stripe account (see the Donation\
> Categories endpoints). Setting \`donation\_goal\_dollars\` (or\
> \`donation\_goal\_cents\`) to \`0\` or \`null\` clears the goal; a negative\
> goal is rejected with a 422. If both goal fields are provided,\
> \`donation\_goal\_cents\` takes precedence.<br>

````json
{"openapi":"3.1.0","info":{"title":"Movemint API","version":"1.0"},"tags":[{"name":"Fundraising Settings","description":"Configure peer-to-peer fundraising: individual and team fundraisers,\nwhether registrations count toward the donation goal, and the goal\namount. Single-resource per event. Enabling the toggles turns the\nfeature on; collecting money still needs a donation category and a\nconnected Stripe account.\n"}],"servers":[{"url":"https://www.movemint.cc","description":"Production"}],"security":[{"bearerAuth":[]},{"oauth2":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Pass the access token in the `Authorization` header:\n```\nAuthorization: Bearer YOUR_ACCESS_TOKEN\n```\n"},"oauth2":{"type":"oauth2","description":"OAuth 2.0 authentication using the Authorization Code or Client\nCredentials grant flow.\n","flows":{"authorizationCode":{"authorizationUrl":"https://www.movemint.cc/oauth/authorize","tokenUrl":"https://www.movemint.cc/oauth/token","refreshUrl":"https://www.movemint.cc/oauth/token","scopes":{}},"clientCredentials":{"tokenUrl":"https://www.movemint.cc/oauth/token","scopes":{}}}}},"parameters":{"EventHandle":{"name":"handle","in":"path","required":true,"description":"The unique handle (slug) of the event","schema":{"type":"string"}}},"schemas":{"FundraisingSettingsUpdate":{"type":"object","properties":{"peer_to_peer_fundraiser":{"type":"boolean"},"team_fundraiser":{"type":"boolean"},"registration_included_in_donation_goal":{"type":"boolean"},"donation_goal_dollars":{"type":"number","minimum":0,"nullable":true,"description":"Fundraising goal in dollars. 0 or null clears the goal."},"donation_goal_cents":{"type":"integer","minimum":0,"nullable":true,"description":"Alternative to donation_goal_dollars, in cents."}}},"FundraisingSettings":{"type":"object","required":["peer_to_peer_fundraiser","team_fundraiser","registration_included_in_donation_goal","donation_goal_cents","donation_goal_dollars"],"properties":{"peer_to_peer_fundraiser":{"type":"boolean","description":"Whether individual participants can create personal fundraisers."},"team_fundraiser":{"type":"boolean","description":"Whether teams can fundraise collectively."},"registration_included_in_donation_goal":{"type":"boolean","description":"Whether registration revenue counts toward the donation goal."},"donation_goal_cents":{"type":"integer","nullable":true,"description":"Fundraising goal in cents. Null when no goal is set."},"donation_goal_dollars":{"type":"number","nullable":true,"description":"Fundraising goal in dollars (computed from donation_goal_cents)."}}},"OAuthError":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Machine-readable error code"},"error_description":{"type":"string","description":"Human-readable description of the error"}}},"Error":{"type":"object","description":"A generic error response","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable error message"}}},"ValidationError":{"type":"object","description":"A validation error response with a list of error messages","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"string"},"description":"List of validation error messages"}}}},"responses":{"Unauthorized":{"description":"Unauthorized - invalid or missing token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthError"}}}},"Forbidden":{"description":"Forbidden - user is not an admin of this event","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"EventNotFound":{"description":"Event not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/events/{handle}/fundraising_settings":{"patch":{"tags":["Fundraising Settings"],"summary":"Update peer-to-peer fundraising settings","description":"Partially update fundraising settings. Only fields present in the\nrequest are touched. Enabling these toggles turns the feature on, but\nfor participants to actually collect money the event still needs a\ndonation category and a connected Stripe account (see the Donation\nCategories endpoints). Setting `donation_goal_dollars` (or\n`donation_goal_cents`) to `0` or `null` clears the goal; a negative\ngoal is rejected with a 422. If both goal fields are provided,\n`donation_goal_cents` takes precedence.\n","operationId":"updateFundraisingSettings","parameters":[{"$ref":"#/components/parameters/EventHandle"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FundraisingSettingsUpdate"}}}},"responses":{"200":{"description":"Updated fundraising settings","content":{"application/json":{"schema":{"type":"object","required":["fundraising_settings"],"properties":{"fundraising_settings":{"$ref":"#/components/schemas/FundraisingSettings"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/EventNotFound"},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}}}}}}
````
