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

# Update a campaign

`PUT /v1/campaigns/{campaign}`

## Path parameters

- `campaign` integer, required

## Request body

- UpdateCampaignRequest
  - `published` boolean
  - `public` boolean
  - `type` 'general' | 'collect' | 'fundraise' | 'event'
  - `title` string
  - `subtitle` string, nullable
  - `website` string, uri, nullable
  - `description` string, nullable
  - `goal` integer, nullable
  - `end_at` string, date-time, nullable
  - `short_code` string, nullable
  - `slug` string
  - `beneficiary_id` integer, nullable
  - `timezone` string, nullable
  - `currency` 'USD'
  - `default_appeal_id` integer, nullable
  - `cover` object
    - `source` 'upload' | 'youtube' | 'vimeo' | 'twitch' | 'facebook', nullable
    - `type` 'image' | 'video', nullable
    - `url` string, nullable
  - `settings` union[], nullable
    - union — A campaign setting. The `name` field determines the expected shape of `value`.
      - object — Accepts a `boolean` value.
        - `name` 'hide_time_remaining', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'show_countdown_clock', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'hide_money_raised', required
        - `value` boolean, nullable
      - object — Hex color in the form `#rrggbb`.
        - `name` 'theme_color', required
        - `value` string, nullable
      - object — Accepts a `boolean` value.
        - `name` 'use_actual_cover_size', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'disable_embed_branding', required
        - `value` boolean, nullable
      - object — Donate button text. Max 100 characters.
        - `name` 'custom_donate_text', required
        - `value` string, nullable
      - object — Accepts a `boolean` value.
        - `name` 'hide_supporter_feed', required
        - `value` boolean, nullable
      - object — Accepts a `string` value.
        - `name` 'auction_tab_text', required
        - `value` string, nullable
      - object — Accepts a `boolean` value.
        - `name` 'hide_auction_components', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'hide_contact_information', required
        - `value` boolean, nullable
      - object — Accepts a `string` value.
        - `name` 'meta_image_alt_text', required
        - `value` string, nullable
      - object — Accepts a `boolean` value.
        - `name` 'disable_donations', required
        - `value` boolean, nullable
      - object — Accepts a `decimal` value.
        - `name` 'minimum_donation', required
        - `value` number, nullable
      - object — Accepts a `boolean` value.
        - `name` 'require_donor_phone', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'enforce_end_at', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'disable_recurring', required
        - `value` boolean, nullable
      - object — Accepts a `string` value.
        - `name` 'thank_you_message', required
        - `value` string, nullable
      - object — Accepts a `string` value.
        - `name` 'default_fund', required
        - `value` string, nullable
      - object — Accepts a `boolean` value.
        - `name` 'hide_fund', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'require_address', required
        - `value` boolean, nullable
      - object — Default donation frequency. Typically `once`, `monthly`, `quarterly`, or `yearly`.
        - `name` 'default_frequency', required
        - `value` string, nullable
      - object — Donation frequencies to display. Typical values: `once`, `monthly`, `quarterly`, `yearly`.
        - `name` 'display_frequencies', required
        - `value` string[], nullable
      - object — Mailing instructions for check donations. Max 1000 characters.
        - `name` 'public_check_payments', required
        - `value` string, nullable
      - object — Accepts a `boolean` value.
        - `name` 'disable_company_field', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'hide_fee_collection', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'force_fee_collection', required
        - `value` boolean, nullable
      - object — Custom donation amounts. JSON object; the dashboard groups amounts by frequency (`once`, `monthly`, `quarterly`, `yearly`).
        - `name` 'custom_donation_amounts', required
        - `value` unknown
      - object — Accepts a `boolean` value.
        - `name` 'disable_dedications', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'hide_other_option', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'remove_tips_increase_fee', required
        - `value` boolean, nullable
      - object — Custom fee text. Accepts a JSON object.
        - `name` 'custom_fee_text', required
        - `value` object, nullable
      - object — Accepts a `string` value.
        - `name` 'custom_flow_heading', required
        - `value` string, nullable
      - object — Fund sort order. One of `order_asc`, `name_asc`, `created_at_desc`.
        - `name` 'fund_sort_by', required
        - `value` 'order_asc' | 'name_asc' | 'created_at_desc', nullable
      - object — Accepts a `boolean` value.
        - `name` 'require_fund', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'disable_team_fundraising', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'disable_public_join', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'disable_public_join_button', required
        - `value` boolean, nullable
      - object — Accepts a `string` value.
        - `name` 'custom_team_members_heading', required
        - `value` string, nullable
      - object — Join button text. Max 18 characters.
        - `name` 'custom_join_text', required
        - `value` string, nullable
      - object — Accepts a `boolean` value.
        - `name` 'disallow_new_teams', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'hide_member_raised', required
        - `value` boolean, nullable
      - object — Accepts a `string` value.
        - `name` 'custom_team_leaderboard_heading', required
        - `value` string, nullable
      - object — Registration fundraising configuration. JSON object (e.g. `goal`, `minimum`, `description`).
        - `name` 'enable_registration_fundraising', required
        - `value` object, nullable
      - object — Accepts a `string` value.
        - `name` 'registration_thank_you_message', required
        - `value` string, nullable
      - object — Accepts a `boolean` value.
        - `name` 'multi_team_fundraising', required
        - `value` boolean, nullable
      - object — Accepts a `integer` value.
        - `name` 'multi_team_fundraising_limit', required
        - `value` integer, nullable
      - object — Accepts a `boolean` value.
        - `name` 'hide_team_raised', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'require_team_for_members', required
        - `value` boolean, nullable
      - object — Team list ordering. Typical values: `name`, `donors`, `created_at`.
        - `name` 'team_order', required
        - `value` string, nullable
      - object — Accepts a `boolean` value.
        - `name` 'require_ticket_phone', required
        - `value` boolean, nullable
      - object — Accepts a `boolean` value.
        - `name` 'enable_event_reminders', required
        - `value` boolean, nullable

## Response `200`

`CampaignResource`

- CampaignResource
  - `id` string, required
  - `code` string, required
  - `account_id` string, required
  - `event_id` string, required
  - `type` string, required
  - `title` string, required
  - `subtitle` string, required
  - `description` string, required
  - `slug` string, required
  - `url` string, required
  - `goal` integer, nullable, required
  - `raised` number, required
  - `donors` integer, required
  - `currency` string, required
  - `cover` string, required
  - `status` string, required
  - `timezone` string, required
  - `end_at` string, required
  - `event` EventResource
    - `title` string, required
    - `type` string, required
    - `location_name` string, required
    - `address_formatted` string, required
    - `google_place_id` string, required
    - `start_at` string, required
    - `end_at` string, required
    - `timezone` string, required
    - `details` string, required
    - `private` string, required
    - `tickets_required` string, required
    - `livestream` string, required
    - `livestream_start_at` string, required
    - `livestream_end_at` string, required
    - `created_at` string, required
    - `updated_at` string, required
  - `settings` CampaignSettingResource[], required
    - `name` string, required
    - `value` string, required
  - `created_at` string, required
  - `updated_at` string, required

## Other responses

- `403` — Authorization error
- `404` — Not found
- `422` — Validation error

---

[API](https://skmtc.net/givebutter/apis/givebutter-api-documentation.md) · [All operations](https://skmtc.net/givebutter/apis/givebutter-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/givebutter/givebutter-api-documentation/versions/b788722bbaf6/schema)
