| object | string | Value is “Campaign” |
| id | string | A merchant-specified unique identifier. If not specified, this object can be identified by its vid. |
| vid | string | A Globally Unique Identifier (GUID) for this object. Assigned by Subscribe. |
| name | string | Name of campaign. Note: Read-only once the Campaign is Active. |
| description | string | Description of the campaign.Note: Read-only once the Campaign is Active. |
| state | enum | The state of the campaign. Can be Active, Canceled, Complete, Inactive, Pending, UndefinedNote: This attribute is optional in a Create Campaign call. Without it, the campaign is created in Pending state and requires activation. |
| offer_start_date | datetime | The first date on which the offers may be redeemed. |
| offer_end_date | datetime | The last date on which the offers may be redeemed. |
| type | enum | Campaign type. Can be:- Coupon: allow you to generate multiple unique Campaign codes that are used to redeem the special offer. - Promotion: allow you to generate a single Campaign code that can be distributed to multiple customers. This one code can be redeemed by multiple customers. |
| percentage_discount | decimal | Defines the discount as a percentage. Use whole numbers to represent percentage. For a 50% discount, enter 50 .Note: flat_amount_discounts and percentage_discount attributes are mutually exclusive. You can define one or the other but not both. |
| flat_amount_discounts | Flat Discount | Defines the discount as a currency-based flat amount discounted from the original price. |
| eligible_products | Product | List of the Products eligible for this campaign. |
| eligible_billing_plans | Billing Plan | List of the Billing Plans eligible for this campaign. |
| restrict_to_new_subscription | boolean | If enabled (1), campaign offer is only applied to new Subscriptions, not existing ones. |
| expiration_date | datetime | Expiration date of a Fixed period campaign. Rolling campaigns (defined by number of Billing Cycles) should leave this blank. |
| number_of_periods | integer | Number of times the promotion repeats, e.g. if you want to discount 3 cycles of a biweekly subscription, this would be 3. Relevant for RollingCampaigns. |
| promotion_code | string | The redemption code associated with the Promotion campaign. |
| promotion_code_aliases | array | A list array of alternative redemption codes for the Promotion. Note: Defining this array replaces any existing list of aliases; it does not add new values to an existing list. |
| metadata | hash | A set of key/value pairs that you can attach to an object. Useful for storing additional information. For more details, see Metadata. |
| max_redemptions | integer | The maximum number of times a single Coupon code can be redeemed. |
| coupon_code_quantity | integer | For coupon campaigns: Defines the number of Coupon codes associated with the campaigns. |
| coupon_code_prefix | string | A unique string that you would like to appear at the beginning of the Coupon code. |
| coupon_code_separator | string | A symbol character to be used to separate the Coupon code Prefix string and the rest of the system generated Campaign Code string. Valid characters include any printable ASCII text symbol, that is neither a letter nor a number. Limited to 1 character. |
| coupon_code_requires_activation | boolean | When enabled (1), coupon codes generated by the system require an additional security measure of activation through the API. For more details, see Activate a Coupon Code. |
| on_demand_codes_allowed | boolean | Defines whether incremental codes can be generated on demand. This would be additional Coupon Codes generated separately via the API. For more details, see Generate Incremental Coupon Codes. |
| total_code_marked_used | integer | The total number of coupon codes that have been marked as used. |
| discount_method | enum | Select the discount method for stackable campaigns (simultaneous campaigns) that use a percentage_ discount:- Direct: The stacked campaign discount is applied to the original price of the items. - Compounded:The stacked campaign discount is applied to the discounted amount of the items. |
| max_redemptions_per_customer | integer | The maximum number of times a specific campaign can be redeemed by a customer (account ID).Note: It is highly recommended to define this value. |
| max_redemptions_per_subscription | integer | The maximum number of times campaign codes belonging to a specific campaign can be redeemed for any given Subscription.Note: It is highly recommended to define this value. |
| apply_discount_per_item | boolean | When enabled (1), discounts are applied per item (on the subscription, transaction, charge, or invoice) and are multiplied by the item quantity being purchased. |
| item_display_text | string | Display name associated with the ItemDiscount generated for this Campaign. |
| stackability | enum | Defines whether the Campaign Discounts can be stacked with other Campaigns. Options are: - Stackable: campaign can be stacked with other campaigns for concurrent discounts. This is the default value for new campaigns. - Unstackable: Standalone campaign, cannot be combined with other campaigns for additional discounts. - Undefined: campaign of this sort can be stacked with a stackable campaign only. It cannot be stacked with any other value i.e. undefined campaign cannot be stacked with another undefined. This is the value inherited for existing campaigns. |