---
title: "Update a campaign"
method: POST
path: "/v1/campaigns/{id}"
tags: ["Campaigns"]
---

# Update a campaign

`POST /v1/campaigns/{id}`

## Request

- Base URL: `https://api.fundraiseup.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.fundraiseup.com/v1/campaigns/{id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/fundraiseup/apis/fundraise-up-api/docs/v1/campaigns/:id/post.ts> (a function with typed inputs; its response is checked against the schema)

This request allows you to update a campaign. Only the provided fields are updated; omitted fields keep their current values. A clearable field passed as `null` is cleared, and a list passed empty is emptied. Only base campaign types are supported.

## Path parameters

- `id` string, required

## Request body

- UpdateCampaignRequest: Contains the request parameters for updating a campaign. Only the provided fields are updated.
  - `code` string, nullable: Campaign code used for exports and integrations.
  - `content` CampaignContentRequest: Texts keyed by language code, for example `en` or `fr`. A language must be among the supported languages of the campaign.
    - `ar` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `da` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `de` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `en` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `es` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `fi` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `fr` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `he` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `hu` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `it` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `ja` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `ko` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `nl` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `no` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `pl` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `pt` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `ru` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `sv` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
    - `zh` CampaignLanguageContentRequest: Texts of the campaign in one language. Omitted texts take the default texts of that language.
      - `ask` CampaignContentAskRequest: Ask Page texts of one language. Needs the Checkout Modal format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Ask Page text.
        - `title` string, nullable: Ask Page title.
      - `campaign_page` CampaignContentPageRequest: Campaign Page texts of one language. Needs the Campaign Page format.
        - `links` CampaignContentLinkRequest[]: Up to 3 links. The list replaces the stored links.
          - `label` string, required: Link label.
          - `url` string, required: Link URL.
        - `text` string, nullable: Campaign Page text.
        - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
          - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
          - `sharing_message` string, nullable: Message suggested for sharing.
          - `sharing_url` string, nullable: URL suggested for sharing.
        - `title` string, nullable: Campaign Page title.
      - `consent` CampaignContentConsentRequest: Marketing consent texts of one language.
        - `additional_info` string, nullable: Additional information shown with the general consent.
        - `checkbox_text` string, nullable: Text next to the consent checkbox.
        - `details` string, nullable: Details shown with the customized consent.
      - `disclaimer_text` string, nullable: Disclaimer text.
      - `phone_legal_text` string, nullable: Phone legal text.
      - `terms_text` string, nullable: Terms text.
      - `thank_you` CampaignContentThankYouRequest: Thank-you texts of one language.
        - `redirect_url` string, nullable: URL the supporter is redirected to when the thank-you type is `redirect`.
        - `sharing_message` string, nullable: Message suggested for sharing.
        - `sharing_url` string, nullable: URL suggested for sharing.
  - `end_date` string, nullable: Date the campaign is archived automatically, in ISO 8601 format.
  - `formats` string[]: Formats the campaign is enabled in. The list replaces the current formats: an empty list disables every format. Omit the field to leave the formats unchanged.
  - `frequencies` CampaignFrequenciesRequest: Donation frequencies keyed by frequency: once, daily, weekly, biweekly, every4weeks, monthly, bimonthly, quarterly, semiannual, annual.
    - `annual` CampaignFrequencyRequest: Settings of one donation frequency.
      - `default` boolean: Select this frequency by default. Exactly one enabled frequency must be the default.
      - `default_amount` string, nullable: Suggested amount selected by default, in the campaign currency.
      - `enabled` boolean: Offer this frequency. Between 1 and 2 frequencies can be enabled; recurring ones must be allowed for the account.
      - `impact_descriptions_enabled` boolean: Show impact descriptions under the suggested amounts. The descriptions are managed in the Dashboard.
      - `minimum_amount` string, nullable: Minimum donation amount for this frequency, in the campaign currency.
      - `suggested_amounts` string[]: Up to 6 suggested amounts in the campaign currency, as decimal strings. `null` leaves a slot empty.
    - `bimonthly` CampaignFrequencyRequest: Settings of one donation frequency.
      - `default` boolean: Select this frequency by default. Exactly one enabled frequency must be the default.
      - `default_amount` string, nullable: Suggested amount selected by default, in the campaign currency.
      - `enabled` boolean: Offer this frequency. Between 1 and 2 frequencies can be enabled; recurring ones must be allowed for the account.
      - `impact_descriptions_enabled` boolean: Show impact descriptions under the suggested amounts. The descriptions are managed in the Dashboard.
      - `minimum_amount` string, nullable: Minimum donation amount for this frequency, in the campaign currency.
      - `suggested_amounts` string[]: Up to 6 suggested amounts in the campaign currency, as decimal strings. `null` leaves a slot empty.
    - `biweekly` CampaignFrequencyRequest: Settings of one donation frequency.
      - `default` boolean: Select this frequency by default. Exactly one enabled frequency must be the default.
      - `default_amount` string, nullable: Suggested amount selected by default, in the campaign currency.
      - `enabled` boolean: Offer this frequency. Between 1 and 2 frequencies can be enabled; recurring ones must be allowed for the account.
      - `impact_descriptions_enabled` boolean: Show impact descriptions under the suggested amounts. The descriptions are managed in the Dashboard.
      - `minimum_amount` string, nullable: Minimum donation amount for this frequency, in the campaign currency.
      - `suggested_amounts` string[]: Up to 6 suggested amounts in the campaign currency, as decimal strings. `null` leaves a slot empty.
    - `daily` CampaignFrequencyRequest: Settings of one donation frequency.
      - `default` boolean: Select this frequency by default. Exactly one enabled frequency must be the default.
      - `default_amount` string, nullable: Suggested amount selected by default, in the campaign currency.
      - `enabled` boolean: Offer this frequency. Between 1 and 2 frequencies can be enabled; recurring ones must be allowed for the account.
      - `impact_descriptions_enabled` boolean: Show impact descriptions under the suggested amounts. The descriptions are managed in the Dashboard.
      - `minimum_amount` string, nullable: Minimum donation amount for this frequency, in the campaign currency.
      - `suggested_amounts` string[]: Up to 6 suggested amounts in the campaign currency, as decimal strings. `null` leaves a slot empty.
    - `every4weeks` CampaignFrequencyRequest: Settings of one donation frequency.
      - `default` boolean: Select this frequency by default. Exactly one enabled frequency must be the default.
      - `default_amount` string, nullable: Suggested amount selected by default, in the campaign currency.
      - `enabled` boolean: Offer this frequency. Between 1 and 2 frequencies can be enabled; recurring ones must be allowed for the account.
      - `impact_descriptions_enabled` boolean: Show impact descriptions under the suggested amounts. The descriptions are managed in the Dashboard.
      - `minimum_amount` string, nullable: Minimum donation amount for this frequency, in the campaign currency.
      - `suggested_amounts` string[]: Up to 6 suggested amounts in the campaign currency, as decimal strings. `null` leaves a slot empty.
    - `monthly` CampaignFrequencyRequest: Settings of one donation frequency.
      - `default` boolean: Select this frequency by default. Exactly one enabled frequency must be the default.
      - `default_amount` string, nullable: Suggested amount selected by default, in the campaign currency.
      - `enabled` boolean: Offer this frequency. Between 1 and 2 frequencies can be enabled; recurring ones must be allowed for the account.
      - `impact_descriptions_enabled` boolean: Show impact descriptions under the suggested amounts. The descriptions are managed in the Dashboard.
      - `minimum_amount` string, nullable: Minimum donation amount for this frequency, in the campaign currency.
      - `suggested_amounts` string[]: Up to 6 suggested amounts in the campaign currency, as decimal strings. `null` leaves a slot empty.
    - `once` CampaignFrequencyRequest: Settings of one donation frequency.
      - `default` boolean: Select this frequency by default. Exactly one enabled frequency must be the default.
      - `default_amount` string, nullable: Suggested amount selected by default, in the campaign currency.
      - `enabled` boolean: Offer this frequency. Between 1 and 2 frequencies can be enabled; recurring ones must be allowed for the account.
      - `impact_descriptions_enabled` boolean: Show impact descriptions under the suggested amounts. The descriptions are managed in the Dashboard.
      - `minimum_amount` string, nullable: Minimum donation amount for this frequency, in the campaign currency.
      - `suggested_amounts` string[]: Up to 6 suggested amounts in the campaign currency, as decimal strings. `null` leaves a slot empty.
    - `quarterly` CampaignFrequencyRequest: Settings of one donation frequency.
      - `default` boolean: Select this frequency by default. Exactly one enabled frequency must be the default.
      - `default_amount` string, nullable: Suggested amount selected by default, in the campaign currency.
      - `enabled` boolean: Offer this frequency. Between 1 and 2 frequencies can be enabled; recurring ones must be allowed for the account.
      - `impact_descriptions_enabled` boolean: Show impact descriptions under the suggested amounts. The descriptions are managed in the Dashboard.
      - `minimum_amount` string, nullable: Minimum donation amount for this frequency, in the campaign currency.
      - `suggested_amounts` string[]: Up to 6 suggested amounts in the campaign currency, as decimal strings. `null` leaves a slot empty.
    - `semiannual` CampaignFrequencyRequest: Settings of one donation frequency.
      - `default` boolean: Select this frequency by default. Exactly one enabled frequency must be the default.
      - `default_amount` string, nullable: Suggested amount selected by default, in the campaign currency.
      - `enabled` boolean: Offer this frequency. Between 1 and 2 frequencies can be enabled; recurring ones must be allowed for the account.
      - `impact_descriptions_enabled` boolean: Show impact descriptions under the suggested amounts. The descriptions are managed in the Dashboard.
      - `minimum_amount` string, nullable: Minimum donation amount for this frequency, in the campaign currency.
      - `suggested_amounts` string[]: Up to 6 suggested amounts in the campaign currency, as decimal strings. `null` leaves a slot empty.
    - `weekly` CampaignFrequencyRequest: Settings of one donation frequency.
      - `default` boolean: Select this frequency by default. Exactly one enabled frequency must be the default.
      - `default_amount` string, nullable: Suggested amount selected by default, in the campaign currency.
      - `enabled` boolean: Offer this frequency. Between 1 and 2 frequencies can be enabled; recurring ones must be allowed for the account.
      - `impact_descriptions_enabled` boolean: Show impact descriptions under the suggested amounts. The descriptions are managed in the Dashboard.
      - `minimum_amount` string, nullable: Minimum donation amount for this frequency, in the campaign currency.
      - `suggested_amounts` string[]: Up to 6 suggested amounts in the campaign currency, as decimal strings. `null` leaves a slot empty.
  - `livemode` boolean: Specifies whether the request is executed in live or test mode. Required for API keys created after 30th January 2026. Campaigns only exist in live mode — set this to `true`.
  - `media` CampaignMediaRequest: Images and videos of the campaign.
    - `ask` CampaignMediaSlotRequest: Media of one surface. Images are downloaded and stored by Fundraise Up; a video is a player link that is only checked.
      - `image_crop` 'smart' | 'center' | 'smart_faces' | 'smart_objects' | 'smart_faces_objects': Crop mode of the main image.
      - `image_url` string, nullable: Public URL of the main image. Cannot be passed together with `video_url`. Pass `null` to remove the stored image.
      - `logo_crop` 'smart' | 'center' | 'smart_faces' | 'smart_objects' | 'smart_faces_objects': Crop mode of the logo image.
      - `logo_url` string, nullable: Public URL of the logo image. Pass `null` to remove the stored logo.
      - `video_url` string, nullable: YouTube or Vimeo video URL. Cannot be passed together with `image_url`. Pass `null` to remove the video and show the image of the slot.
    - `campaign_page` CampaignMediaSlotRequest: Media of one surface. Images are downloaded and stored by Fundraise Up; a video is a player link that is only checked.
      - `image_crop` 'smart' | 'center' | 'smart_faces' | 'smart_objects' | 'smart_faces_objects': Crop mode of the main image.
      - `image_url` string, nullable: Public URL of the main image. Cannot be passed together with `video_url`. Pass `null` to remove the stored image.
      - `logo_crop` 'smart' | 'center' | 'smart_faces' | 'smart_objects' | 'smart_faces_objects': Crop mode of the logo image.
      - `logo_url` string, nullable: Public URL of the logo image. Pass `null` to remove the stored logo.
      - `video_url` string, nullable: YouTube or Vimeo video URL. Cannot be passed together with `image_url`. Pass `null` to remove the video and show the image of the slot.
  - `name` string: Campaign name.
  - `settings` CampaignSettingsRequest: Campaign settings. Omitted settings take the Dashboard defaults.
    - `ai_default_frequency` boolean: Let Fundraise Up pick the default frequency for each supporter.
    - `anonymous_enabled` boolean: Let supporters donate anonymously.
    - `ask_page_enabled` boolean: Show the Ask Page in the Checkout Modal.
    - `campaign_page` CampaignPageSettingsRequest: Campaign Page settings.
      - `sharing` CampaignPageSharingChannelsRequest: Sharing channels on the Campaign Page.
        - `copy_link` boolean: Show the copy-link button.
        - `email` boolean: Show the email sharing button.
        - `facebook` boolean: Show the Facebook sharing button.
        - `linkedin` boolean: Show the LinkedIn sharing button.
        - `twitter` boolean: Show the X (Twitter) sharing button.
      - `thank_you` CampaignThankYouRequest: Thank-you screen settings.
        - `include_supporter_data` boolean: Append supporter data to the redirect URL.
        - `sharing` CampaignSharingChannelsRequest: Sharing channels on the thank-you screen.
          - `email` boolean: Show the email sharing button.
          - `facebook` boolean: Show the Facebook sharing button.
          - `linkedin` boolean: Show the LinkedIn sharing button.
          - `twitter` boolean: Show the X (Twitter) sharing button.
        - `type` 'thank_you_screen' | 'redirect': Thank-you type: `thank_you_screen` or `redirect`. A redirect needs `redirect_url` in the content of the default language.
    - `comment_enabled` boolean: Show the comment field.
    - `consent` CampaignConsentRequest: Marketing consent settings.
      - `customized` CampaignCustomizedConsentRequest: Customized marketing consent options.
        - `channels` CampaignConsentChannelsRequest: Channels the supporter can consent to.
          - `email` boolean: Ask for email consent.
          - `phone_calls` boolean: Ask for phone call consent.
          - `postal_mail` boolean: Ask for postal mail consent.
          - `sms` boolean: Ask for SMS consent.
          - `social_media` boolean: Ask for social media consent.
        - `collection_method` 'explicit_opt_in' | 'pre_checked_opt_in' | 'auto_opt_in': How consent is collected.
        - `show_if_required_by_law` boolean: Show the consent block only where the law requires it.
      - `general` CampaignGeneralConsentRequest: General marketing consent options.
        - `prechecked` boolean: Pre-check the consent checkbox.
        - `show_if_required_by_law` boolean: Show the consent checkbox only where the law requires it.
      - `type` 'none' | 'general' | 'customized': Consent type: `none`, `general` or `customized`.
    - `crypto_enabled` boolean: Accept crypto donations.
    - `custom_fields` CampaignCustomFieldRequest[]: Custom fields attached to donations. The listed fields are added or updated; an empty list removes every custom field of the campaign.
      - `name` string, required: Custom field name.
      - `value` string, required: Custom field value.
    - `default_language` string: Default language of the campaign as a locale code, for example `en-US`. Must be one of the account interface languages.
    - `default_payment_type` 'money' | 'crypto': Payment type selected by default.
    - `disclaimer_enabled` boolean: Show the disclaimer text.
    - `donation_matching` CampaignDonationMatchingRequest: Donation matching settings.
      - `enabled` boolean: Enable donation matching.
      - `end_date` string, nullable: Matching end date in ISO 8601 format. Required when `end_date_enabled` is true.
      - `end_date_enabled` boolean: Whether matching ends on `end_date`.
      - `limit` string, nullable: Total matching limit in the campaign currency. Required when `limit_enabled` is true.
      - `limit_enabled` boolean: Whether matching stops at `limit`.
      - `minimum_amount` string, nullable: Minimum donation amount that is matched, in the campaign currency. `0` matches every donation.
      - `ratio` '2:1' | '1:1' | '1:2' | '1:3' | '1:4' | '1:5' | '1:6' | '1:7' | '1:8' | '1:9' | '1:10', nullable: Matching ratio, for example `1:1` doubles each donation.
      - `sponsor_enabled` boolean: Whether the sponsor is shown.
      - `sponsor_logo` string, nullable: Public URL of the sponsor logo image. It is downloaded and stored by Fundraise Up. Pass `null` to remove the stored logo.
      - `sponsor_logo_crop` 'smart' | 'center' | 'smart_faces' | 'smart_objects' | 'smart_faces_objects': Crop mode for the sponsor logo.
      - `sponsor_name` string, nullable: Sponsor name. Required when `sponsor_enabled` is true.
      - `start_date` string, nullable: Matching start date in ISO 8601 format.
    - `mailing_enabled` boolean: Show the mailing address fields.
    - `mailing_from_amount` string: Show the mailing address from this donation amount, in the campaign currency. `0` shows it always.
    - `mailing_required` boolean: Require the mailing address. Cannot be true together with `mailing_enabled: false`.
    - `mailing_required_from_amount` string: Require the mailing address from this donation amount, in the campaign currency.
    - `money_enabled` boolean: Accept money donations.
    - `on_behalf_of_org_enabled` boolean: Let supporters donate on behalf of an organization.
    - `personalized_amounts` boolean: Use personalized suggested amounts picked by Fundraise Up instead of the fixed suggested amounts.
    - `phone` CampaignPhoneRequest: Phone field settings. All three settings are passed together.
      - `enabled` boolean, required: Indicates whether the phone field is shown.
      - `legal_text_enabled` boolean, required: Indicates whether the legal text is shown under the phone field.
      - `required` boolean, required: Indicates whether the phone field is required.
    - `post_donation_upsell` boolean: Offer a recurring upgrade after the donation.
    - `pre_donation_upsell` boolean: Offer a recurring upgrade before the donation.
    - `questions` string[]: IDs of the questions to ask. The list replaces the current one; an empty list clears the questions.
    - `questions_enabled` boolean: Show the questions step.
    - `supported_languages` string[]: Languages of the campaign as language codes, for example `en`. Must include the default language and be enabled for the account.
    - `terms_enabled` boolean: Show the terms checkbox.
    - `terms_prechecked` boolean: Pre-check the terms checkbox.
    - `thank_you` CampaignThankYouRequest: Thank-you screen settings.
      - `include_supporter_data` boolean: Append supporter data to the redirect URL.
      - `sharing` CampaignSharingChannelsRequest: Sharing channels on the thank-you screen.
        - `email` boolean: Show the email sharing button.
        - `facebook` boolean: Show the Facebook sharing button.
        - `linkedin` boolean: Show the LinkedIn sharing button.
        - `twitter` boolean: Show the X (Twitter) sharing button.
      - `type` 'thank_you_screen' | 'redirect': Thank-you type: `thank_you_screen` or `redirect`. A redirect needs `redirect_url` in the content of the default language.
    - `title_enabled` boolean: Show the supporter title field. Available only to accounts whose country uses titles.
    - `title_required` boolean: Require the supporter title. Available only to accounts whose country uses titles and needs `title_enabled`.
    - `transaction_costs` 'default_yes' | 'default_no' | 'only_yes' | 'only_no' | 'smart_covering': How supporters cover transaction costs.
    - `tribute` CampaignTributeRequest: Tribute (in honor or in memory of someone) options.
      - `delivery_email` boolean: Let supporters send a tribute notification by email.
      - `delivery_postal_mail` boolean: Let supporters send a tribute notification by postal mail.
      - `highlight_name` boolean: Highlight the honoree name in the tribute form.
    - `tribute_enabled` boolean: Enable tribute donations.
  - `url_path` string, nullable: Campaign URL path, unique within the account. Used in the Campaign Page URL.

## Response `200`

On success, the API returns the updated campaign object with all settings.

- CampaignFullResponse: Contains campaign record with all settings, content, frequencies and media.
  - `account` AccountResponse, required: Organization account information.
    - `code` string, nullable, required: Custom identifier for the organization, set as the Account code in the Fundraise Up account.
    - `id` string, required: Unique identifier of the organization in the format A[A-Z]{7}.
    - `name` string, required: The name of the organization as set in the Fundraise Up account.
  - `campaign_page_url` string, nullable, required: Public URL of the campaign page.
  - `code` string, nullable, required: Campaign code, as set in the Dashboard.
  - `content` object, required: Localized campaign content keyed by language code. Contains an entry for every supported language.
  - `currency` 'shp' | 'eur' | 'aed' | 'afn' | 'xcd' | 'all' | 'amd' | 'aoa' | 'ars' | 'usd' | 'aud' | 'ang' | 'xcg' | 'awg' | 'azn' | 'bam' | 'bbd' | 'inr' | 'pkr' | 'bdt' | 'xof' | 'bgn' | 'bhd' | 'bif' | 'bmd' | 'myr' | 'bnd' | 'bob' | 'brl' | 'bsd' | 'btn' | 'nok' | 'zar' | 'bwp' | 'byn' | 'bzd' | 'cad' | 'cdf' | 'xaf' | 'chf' | 'nzd' | 'clp' | 'cny' | 'cop' | 'crc' | 'cve' | 'czk' | 'djf' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'mad' | 'etb' | 'fjd' | 'fkp' | 'jpy' | 'gbp' | 'gel' | 'ghs' | 'gip' | 'gmd' | 'gnf' | 'gtq' | 'gyd' | 'hkd' | 'hnl' | 'hrk' | 'htg' | 'huf' | 'idr' | 'ils' | 'isk' | 'jmd' | 'jod' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kwd' | 'kyd' | 'kzt' | 'lak' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mur' | 'mvr' | 'mwk' | 'mxn' | 'mzn' | 'nad' | 'xpf' | 'ngn' | 'nio' | 'sek' | 'npr' | 'omr' | 'pab' | 'pen' | 'pgk' | 'php' | 'pln' | 'pyg' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sgd' | 'sll' | 'sle' | 'sos' | 'srd' | 'std' | 'svc' | 'szl' | 'thb' | 'tjs' | 'tnd' | 'top' | 'try' | 'ttd' | 'twd' | 'tzs' | 'uah' | 'uyu' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'yer' | 'zmw' | 'btc' | 'eth' | 'usdt' | 'usdc' | 'sol' | 'dot' | 'doge' | 'shib' | 'ltc' | 'bch' | 'xtz' | 'fil' | 'ftm' | 'gala' | 'paxg' | 'zec', required: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase.
  - `designation_mode` 'select' | 'assign', required: Designation selection mode.
  - `designations` union[], required: Ordered list of designations and designation groups assigned to this campaign. Polymorphic array discriminated by `type` field.
    - union
      - CampaignDesignation: A designation assigned to the campaign.
        - `code` string, nullable, required: Designation code.
        - `frequencies` string[], required: Donation frequencies accepted for this designation in this campaign.
        - `id` string, required: Unique designation identifier.
        - `is_default` boolean, required: Indicates whether this is the pre-selected default designation in this campaign.
        - `name` string, required: Designation name.
        - `type` 'designation', required: Item type discriminator.
      - CampaignDesignationGroup: A designation group assigned to the campaign.
        - `children` union[], required: Designations or nested designation groups.
          - union
            - CampaignDesignation: A designation assigned to the campaign.
              - …
            - CampaignDesignationGroup (recursive)
        - `id` string, required: Unique designation group identifier.
        - `name` string, required: Designation group name.
        - `type` 'designation_group', required: Item type discriminator.
  - `end_date` string, nullable, required: Timestamp in ISO 8601 format, indicating when the campaign ends in UTC. `null` if no end date is set.
  - `formats` string[], required: Enabled campaign formats: `checkout_modal` and/or `campaign_page`.
  - `frequencies` CampaignFrequencySettingsResponse[], required: Enabled donation frequencies with their settings, in display order.
    - `default` boolean, required: Indicates whether this frequency is selected by default.
    - `default_amount` string, nullable, required: Donation amount in the campaign currency selected by default. `null` if no amount is selected.
    - `impact_descriptions_enabled` boolean, required: Indicates whether impact descriptions are shown under the suggested amounts.
    - `minimum_amount` string, required: Minimum donation amount in the campaign currency.
    - `suggested_amounts` string[], required: Suggested donation amounts in the campaign currency, in display order. An empty slot is `null`.
    - `type` 'once' | 'daily' | 'weekly' | 'biweekly' | 'every4weeks' | 'monthly' | 'bimonthly' | 'quarterly' | 'semiannual' | 'annual', required: Frequency.
  - `id` string, required: Unique campaign identifier.
  - `media` CampaignMediaResponse, required: Campaign logos, images and videos.
    - `ask` CampaignMediaSlotResponse, required: Media shown in one area of the campaign.
      - `image` CampaignImageResponse, required: Campaign image.
        - `height` number, nullable, required: Image height in pixels. `null` if unknown.
        - `url` string, required: Image URL.
        - `width` number, nullable, required: Image width in pixels. `null` if unknown.
      - `logo` CampaignImageResponse, required: Campaign image.
        - `height` number, nullable, required: Image height in pixels. `null` if unknown.
        - `url` string, required: Image URL.
        - `width` number, nullable, required: Image width in pixels. `null` if unknown.
      - `video` CampaignVideoResponse, required: Campaign video.
        - `provider` string, required: Video hosting provider.
        - `url` string, required: Video URL.
    - `campaign_page` CampaignMediaSlotResponse, required: Media shown in one area of the campaign.
      - `image` CampaignImageResponse, required: Campaign image.
        - `height` number, nullable, required: Image height in pixels. `null` if unknown.
        - `url` string, required: Image URL.
        - `width` number, nullable, required: Image width in pixels. `null` if unknown.
      - `logo` CampaignImageResponse, required: Campaign image.
        - `height` number, nullable, required: Image height in pixels. `null` if unknown.
        - `url` string, required: Image URL.
        - `width` number, nullable, required: Image width in pixels. `null` if unknown.
      - `video` CampaignVideoResponse, required: Campaign video.
        - `provider` string, required: Video hosting provider.
        - `url` string, required: Video URL.
  - `name` string, required: Campaign name.
  - `settings` CampaignSettingsResponse, required: Campaign settings.
    - `ai_default_frequency` boolean, required: Indicates whether Fundraise Up picks the default frequency for each supporter.
    - `anonymous_enabled` boolean, required: Indicates whether supporters can donate anonymously.
    - `ask_page_enabled` boolean, required: Indicates whether the Ask Page is shown in the Checkout Modal.
    - `campaign_page` CampaignPageSettingsResponse, required: Campaign Page settings.
      - `sharing` CampaignPageSharingChannelsResponse, required: Sharing channels offered on the Campaign Page.
        - `copy_link` boolean, required: Indicates whether copying the page link is offered.
        - `email` boolean, required: Indicates whether sharing by email is offered.
        - `facebook` boolean, required: Indicates whether sharing to Facebook is offered.
        - `linkedin` boolean, required: Indicates whether sharing to LinkedIn is offered.
        - `twitter` boolean, required: Indicates whether sharing to X (Twitter) is offered.
      - `thank_you` CampaignThankYouSettingsResponse, required: Thank-you screen settings.
        - `include_supporter_data` boolean, required: Indicates whether supporter data is appended to the redirect URL.
        - `sharing` CampaignSharingChannelsResponse, required: Sharing channels offered to supporters.
          - `email` boolean, required: Indicates whether sharing by email is offered.
          - `facebook` boolean, required: Indicates whether sharing to Facebook is offered.
          - `linkedin` boolean, required: Indicates whether sharing to LinkedIn is offered.
          - `twitter` boolean, required: Indicates whether sharing to X (Twitter) is offered.
        - `type` 'thank_you_screen' | 'redirect' | 'fundraising_page', required: What supporters see after donating: `thank_you_screen`, `redirect` or `fundraising_page`.
    - `comment_enabled` boolean, required: Indicates whether supporters can leave a comment.
    - `consent` CampaignConsentSettingsResponse, required: Communication consent settings of the campaign.
      - `customized` CampaignCustomizedConsentSettingsResponse, required: Customized communication consent settings.
        - `channels` CampaignConsentChannelsResponse, required: Communication channels supporters are asked to consent to.
          - `email` boolean, required: Indicates whether consent to email communication is requested.
          - `phone_calls` boolean, required: Indicates whether consent to phone calls is requested.
          - `postal_mail` boolean, required: Indicates whether consent to postal mail is requested.
          - `sms` boolean, required: Indicates whether consent to SMS communication is requested.
          - `social_media` boolean, required: Indicates whether consent to social media communication is requested.
        - `collection_method` 'explicit_opt_in' | 'pre_checked_opt_in' | 'auto_opt_in', required: How consent is collected: `explicit_opt_in`, `pre_checked_opt_in` or `auto_opt_in`.
        - `show_if_required_by_law` boolean, required: Indicates whether the consent is shown only where the law requires it.
      - `general` CampaignGeneralConsentSettingsResponse, required: General communication consent settings.
        - `prechecked` boolean, required: Indicates whether the consent checkbox is checked by default.
        - `show_if_required_by_law` boolean, required: Indicates whether the consent is shown only where the law requires it.
      - `type` 'none' | 'general' | 'customized', required: Consent type: `none`, `general` or `customized`.
    - `crypto_enabled` boolean, required: Indicates whether cryptocurrency donations are accepted.
    - `custom_fields` CampaignCustomFieldResponse[], required: Campaign custom fields.
      - `name` string, required: Custom field name.
      - `value` string, required: Custom field value.
    - `default_language` 'en-US' | 'en-GB' | 'en-CA' | 'fr-CA' | 'fr-FR' | 'es' | 'nl' | 'no' | 'de' | 'de-x-informal' | 'fi-FI' | 'ar-001' | 'sv' | 'it' | 'pt-PT' | 'pt-BR' | 'zh-CN' | 'zh-TW' | 'ja' | 'ko' | 'hu' | 'da' | 'ru-RU' | 'es-US' | 'pl-PL' | 'he', required: Default language of the campaign content as a locale code.
    - `default_payment_type` 'money' | 'crypto', required: Payment type selected by default: `money` or `crypto`.
    - `disclaimer_enabled` boolean, required: Indicates whether the disclaimer is shown.
    - `donation_matching` CampaignDonationMatchingSettingsResponse, required: Donation matching settings of the campaign.
      - `enabled` boolean, required: Indicates whether donation matching is shown.
      - `end_date` string, nullable, required: Timestamp in ISO 8601 format, indicating when matching ends in UTC. `null` if not set.
      - `end_date_enabled` boolean, required: Indicates whether matching has an end date.
      - `limit` string, nullable, required: Maximum total matched amount in the campaign currency. `null` if not set.
      - `limit_enabled` boolean, required: Indicates whether the total matched amount is limited.
      - `minimum_amount` string, nullable, required: Minimum matched donation amount in the campaign currency. `null` if not set.
      - `ratio` '2:1' | '1:1' | '1:2' | '1:3' | '1:4' | '1:5' | '1:6' | '1:7' | '1:8' | '1:9' | '1:10', nullable, required: Matching ratio label, for example `1:1` doubles each donation and `1:2` triples it. `null` if not set.
      - `sponsor_enabled` boolean, required: Indicates whether the matching sponsor is shown.
      - `sponsor_logo` CampaignImageResponse, required: Campaign image.
        - `height` number, nullable, required: Image height in pixels. `null` if unknown.
        - `url` string, required: Image URL.
        - `width` number, nullable, required: Image width in pixels. `null` if unknown.
      - `sponsor_name` string, nullable, required: Sponsor name. `null` if not set.
      - `start_date` string, nullable, required: Timestamp in ISO 8601 format, indicating when matching starts in UTC. `null` if not set.
    - `mailing_enabled` boolean, required: Indicates whether the mailing address field is shown.
    - `mailing_from_amount` string, required: Donation amount in the campaign currency from which the mailing address field is shown.
    - `mailing_required` boolean, required: Indicates whether the mailing address is required.
    - `mailing_required_from_amount` string, required: Donation amount in the campaign currency from which the mailing address is required.
    - `money_enabled` boolean, required: Indicates whether money donations are accepted.
    - `on_behalf_of_org_enabled` boolean, required: Indicates whether supporters can donate on behalf of an organization.
    - `personalized_amounts` boolean, required: Indicates whether personalized suggested amounts are used instead of the fixed suggested amounts.
    - `phone` CampaignPhoneSettingsResponse, required: Phone field settings of the campaign.
      - `enabled` boolean, required: Indicates whether the phone field is shown.
      - `legal_text_enabled` boolean, required: Indicates whether the legal text is shown under the phone field.
      - `required` boolean, required: Indicates whether the phone field is required.
    - `post_donation_upsell` boolean, required: Indicates whether supporters are offered a recurring donation after a one-time donation.
    - `pre_donation_upsell` boolean, required: Indicates whether supporters are offered a recurring donation before they donate.
    - `questions` string[], required: Identifiers of the custom questions shown in the campaign, in display order.
    - `questions_enabled` boolean, required: Indicates whether custom questions are shown.
    - `supported_languages` string[], required: Languages the campaign content is available in.
    - `terms_enabled` boolean, required: Indicates whether the terms and conditions checkbox is shown.
    - `terms_prechecked` boolean, required: Indicates whether the terms and conditions checkbox is checked by default.
    - `thank_you` CampaignThankYouSettingsResponse, required: Thank-you screen settings.
      - `include_supporter_data` boolean, required: Indicates whether supporter data is appended to the redirect URL.
      - `sharing` CampaignSharingChannelsResponse, required: Sharing channels offered to supporters.
        - `email` boolean, required: Indicates whether sharing by email is offered.
        - `facebook` boolean, required: Indicates whether sharing to Facebook is offered.
        - `linkedin` boolean, required: Indicates whether sharing to LinkedIn is offered.
        - `twitter` boolean, required: Indicates whether sharing to X (Twitter) is offered.
      - `type` 'thank_you_screen' | 'redirect' | 'fundraising_page', required: What supporters see after donating: `thank_you_screen`, `redirect` or `fundraising_page`.
    - `title_enabled` boolean, required: Indicates whether the supporter title field is shown.
    - `title_required` boolean, required: Indicates whether the supporter title field is required.
    - `transaction_costs` 'default_yes' | 'default_no' | 'only_yes' | 'only_no' | 'smart_covering', required: How supporters are offered to cover transaction costs: `default_yes`, `default_no`, `only_yes`, `only_no` or `smart_covering`.
    - `tribute` CampaignTributeSettingsResponse, required: Tribute settings of the campaign.
      - `delivery_email` boolean, required: Indicates whether supporters can send the tribute notification by email.
      - `delivery_postal_mail` boolean, required: Indicates whether supporters can send the tribute notification by postal mail.
      - `highlight_name` boolean, required: Indicates whether the honoree name field is highlighted.
    - `tribute_enabled` boolean, required: Indicates whether supporters can dedicate their donation as a tribute.
  - `status` 'active' | 'disabled' | 'auto_archive' | 'archived', required: Current status of the campaign: `active` — the campaign accepts donations, `auto_archive` — the campaign is active and will be archived automatically on `end_date`, `disabled` — the campaign is turned off, `archived` — the campaign is archived.
  - `tags` string[], required: Campaign tags, as set in the Dashboard.
  - `type` 'regular', required: Type of the campaign.
  - `url_path` string, nullable, required: Custom URL path of the Campaign Page. `null` if the campaign identifier is used instead.

## Other responses

- `400`: Invalid request: a parameter has an invalid type or format, an unknown parameter is passed, a non-nullable parameter is set to null, a dependent parameter is passed without its flag or is missing while its flag is true, or an amount is outside the allowed range for the campaign currency. The "parameter" field of the error names the invalid parameter.
- `403`: Forbidden. The API key does not have permission to manage campaigns.
- `404`: Resource not found.
- `409`: Campaign URL is already in use.
- `422`: Campaign type not supported. Campaign archived: this campaign is archived and cannot be updated. Default language locked: default language can only be set when a campaign is created.

## Changes

- **2026-11-09** `b89259a22eb6`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/fundraiseup/apis/fundraise-up-api/changes/v1/campaigns/:id/post.md)

---

[API](https://skmtc.dev/fundraiseup/apis/fundraise-up-api.md) - [All operations](https://skmtc.dev/fundraiseup/apis/fundraise-up-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fundraiseup/apis/fundraise-up-api/revisions/b89259a22eb6?raw)
