---
title: "Create a campaign"
method: POST
path: "/v1/campaigns"
tags: ["Campaigns"]
---

# Create a campaign

`POST /v1/campaigns`

## 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`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/fundraiseup/apis/fundraise-up-api/docs/v1/campaigns/post.ts> (a function with typed inputs; its response is checked against the schema)

Use this request to create a campaign in the account associated with the API key or in one of its subaccounts. Omitted fields take the same defaults as a campaign created in the Dashboard. If any value is invalid, nothing is created.

## Request body

- CreateCampaignRequest: Contains the request parameters for creating a campaign. Omitted fields take the same defaults as a campaign created in the Dashboard.
  - `type` 'regular', required: Campaign type. Only `regular` is accepted for now.
  - `account` string: ID of the subaccount to create the campaign in. Defaults to the account of the API key.
  - `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[]: Enabled formats. Omitted or empty means no format is enabled.
  - `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. Defaults to `New campaign`.
  - `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 created campaign object.

- 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`: A parameter is missing, unexpected or invalid. The `parameter` field names it.
- `403`: Forbidden. The API key does not have permission to manage campaigns.
- `404`: The account passed in `account` is not the account of the API key or one of its active subaccounts.
- `409`: Campaign URL is already in use in the target account.
- `422`: Campaign type not supported.

## Changes

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

[Operation history](https://skmtc.dev/fundraiseup/apis/fundraise-up-api/changes/v1/campaigns/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)
