Managing the Promotion Lifecycle

This guide covers how to manage the state of a promotion after it has been created. Once a promotion is configured, managing its lifecycle is crucial for maintaining a clean, agile, and controlled campaign structure.

These operations let you programmatically control a promotion's state, offering flexibility in campaign scheduling, maintenance, and reusability.

Prerequisites

Before you begin, you will need:

  • An existing promotion created in OptiPromo.
  • The promotionId of the promotion you wish to manage.

Lifecycle Operations

You can perform four main operations to manage the lifecycle of a promotion.

API Flow for Promotion Lifecycle Commands

API Flow for Promotion Lifecycle Commands

Activate Promotion

Use this command when you're ready to go live. Activating a promotion makes it eligible for campaign execution and promo code validation.

  • Endpoint: PATCH /:promotionId/activate
  • Ideal for: Scheduling timed launches or triggering promotions only when downstream systems are ready.

Deactivate Promotion

Use this to temporarily suspend a live promotion without deleting it. This will prevent further use in campaigns while keeping the configuration intact.

  • Endpoint: PATCH /:promotionId/deactivate
  • Ideal for: Emergency halts (e.g., due to a misconfigured reward), scheduled maintenance, or testing a campaign in a staging environment.

Archive Promotion

Use this to retire a promotion that is no longer active or relevant. Archiving removes the promotion from active UI lists to keep your workspace clean while preserving its historical data for reporting and audit purposes.

  • Endpoint: DELETE /:promotionId

⚠️

Warning: Once a promotion is archived, it cannot be reactivated. If you need to use its configuration again, you must use the Duplicate function to create a new, editable copy.

Duplicate Promotion

Use this to clone an existing promotion, including all its associated metadata, tier configurations, and constraints. This is highly efficient for preserving consistency while avoiding repetitive setup work.

  • Endpoint: POST /:promotionId/duplicate
  • Ideal for: Recurring weekly or monthly campaigns, creating region-specific variations, or iterating on a base configuration for different audience segments.

API Reference

Next Steps

This concludes the guides on setting up and configuring promotions. The next section covers how to use these promotions in live campaigns.