v1

latestOpenAPI 3.0.1MIT2026-07-263151,3912.3 MB
Campaigns

Create Campaign

Method to create a batch of vouchers aggregated in one campaign. You can choose a variety of voucher types and define a unique pattern for generating codes.

📘 Global uniqueness

All campaign codes are unique across the whole project. Voucherify will not allow you to generate 2 campaigns with the same coupon code.

🚧 Code generation status

This is an asynchronous action; you can't read or modify a newly created campaign until the code generation is completed. See the creation_status field in the campaign object description.

post/v1/campaigns

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 a campaign object if the call 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.