v1

latestOpenAPI 3.0.1MIT2026-07-263151,3912.3 MB
Campaigns

Update Campaign

Updates the specified campaign by setting the values of the parameters passed in the request body. Any parameters not provided in the payload will be left unchanged.

Fields other than the ones listed in the request body won't be modified. Even if provided, they will be silently skipped.

🚧 Vouchers will be affected

This method will update vouchers aggregated in the campaign. It will affect all vouchers that are not published or redeemed yet.

put/v1/campaigns/{campaignId}

Request body

OR
OR
OR
OR

Example request

{
  "start_date": "2022-09-20T00:00:00.000Z",
  "expiration_date": "2022-09-30T00:00:00.000Z",
  "validity_timeframe": {
    "duration": "PT1H",
    "interval": "P2D"
  },
  "validity_hours": {
    "daily": [
      {
        "start_time": "12:00",
        "expiration_time": "14:00"
      }
    ]
  },
  "category_id": "cat_0b688929a2476386a7"
}

Response

Returns the campaign object if the update succeeded.

idstring required

Unique campaign ID, assigned by Voucherify.

namestring required

Campaign name.

descriptionstring

An optional field to keep any extra textual information about the campaign such as a campaign description and details.

campaign_type'LOYALTY_PROGRAM' | 'GIFT_VOUCHERS' | 'DISCOUNT_COUPONS' | 'PROMOTION' | 'REFERRAL_PROGRAM' required

Type of campaign.

type'AUTO_UPDATE' | 'STATIC' | 'STANDALONE' required

Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of generic (standalone) vouchers.

  • AUTO_UPDATE: the campaign is dynamic, i.e. vouchers will generate based on set criteria
  • STATIC: vouchers need to be manually published
  • STANDALONE: campaign for single vouchers
auto_joinboolean required

Indicates whether customers will be able to auto-join a loyalty campaign if any earning rule is fulfilled.

join_onceboolean required

If this value is set to true, customers will be able to join the campaign only once. It is always false for generic (standalone) vouchers campaigns and it cannot be changed in them. It is always true for loyalty campaigns and it cannot be changed in them.

use_voucher_metadata_schemaboolean required

Flag indicating whether the campaign is to use the voucher's metadata schema instead of the campaign metadata schema.

validity_day_of_weekinteger[]

Integer array corresponding to the particular days of the week in which the voucher is valid.

  • 0 Sunday
  • 1 Monday
  • 2 Tuesday
  • 3 Wednesday
  • 4 Thursday
  • 5 Friday
  • 6 Saturday
activity_duration_after_publishingstring

Defines the amount of time the vouchers will be active after publishing. The value is shown in the ISO 8601 format. For example, a voucher with the value of P24D will be valid for a duration of 24 days.

vouchers_countinteger

Total number of unique vouchers in campaign.

start_datestring date-time

Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive before this date.

expiration_datestring date-time

Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive after this date.

activeboolean

A flag to toggle the campaign on or off. You can disable a campaign even though it's within the active period defined by the start_date and expiration_date.

  • true indicates an active campaign
  • false indicates an inactive campaign
metadataobject

The metadata object stores all custom attributes assigned to the campaign. A set of key/value pairs that you can attach to a campaign object. It can be useful for storing additional information about the campaign in a structured format.

created_atstring date-time required

Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.

updated_atstring date-time

Timestamp representing the date and time when the campaign was last updated in ISO 8601 format.

categorystring

Unique category name.

creation_status'DONE' | 'IN_PROGRESS' | 'FAILED' | 'DRAFT' | 'MODIFYING' required

Indicates the status of the campaign creation.

vouchers_generation_status'DONE' | 'IN_PROGRESS' | 'FAILED' | 'DRAFT' | 'MODIFYING' required

Indicates the status of the campaign's voucher generation.

readonlyboolean

Indicates whether the campaign can be only read by a restricted user in the Areas and Stores enterprise feature. It is returned only to restricted users; this field is not returned for users with other roles. It is also not returned for restricted users who use the GET Campaign summary endpoint.

protectedboolean required

Indicates whether the resource can be deleted.

category_idstring nullable required

Unique category ID that this campaign belongs to.

objectstring required

The type of the object represented by JSON. This object stores information about the campaign.