> ## Documentation Index
> Fetch the complete documentation index at: https://help.lobyco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Offer Events

> JSON Schemas for the offer lifecycle events.

Published when an offer definition changes. Not customer-scoped — no `CustomerId`.

## Field reference

Field definitions match the offer models used by the Promotion Platform endpoints. See [Offers V3](/api-reference/promotion-platform/offers-v3) in the API Reference.

| Event           | Triggering endpoint                    |
| --------------- | -------------------------------------- |
| Offer Created   | `POST /admin/v3/offers` — Create offer |
| Offer Updated   | `POST /v3/offers` — Upsert offer       |
| Offer Published | Admin publish action                   |
| Offer Stopped   | Admin stop action                      |
| Offer Deleted   | Admin delete action                    |

Bulk imports (`POST /v3/bulk/offers`) and personal offer imports (`POST /v3/personaloffers/bulk`) emit the same events.

## Schemas

<Tabs>
  <Tab title="Offer Created">
    ```json theme={"system"}
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "OfferId": { "type": "string" },
        "UnifiedCampaignId": { "type": ["string", "null"] },
        "CampaignName": { "type": ["string", "null"] },
        "ValidFrom": { "type": "string", "format": "date-time" },
        "ValidTo": { "type": "string", "format": "date-time" },
        "PreviewVisibleFrom": { "type": ["string", "null"], "format": "date-time" },
        "CreatedAt": { "type": "string", "format": "date-time" },
        "OfferType": { "type": "string" },
        "SegmentationType": { "type": ["string", "null"], "enum": ["Segmented", "Triggered", "Personal", null] },
        "CampaignContent": { "$ref": "#/$defs/campaignContent" },
        "CampaignStatus": { "type": "string", "enum": ["Imported", "Published"] },
        "Prices": { "$ref": "#/$defs/prices" },
        "Discount": { "$ref": "#/$defs/discount" },
        "RedemptionLimit": { "type": "integer" },
        "TotalCoupons": { "type": ["integer", "null"] },
        "ChainIds": { "type": ["array", "null"], "items": { "type": "string" } },
        "StoreIds": { "type": ["array", "null"], "items": { "type": "string" } },
        "Audiences": { "type": ["array", "null"], "items": { "type": "string" } },
        "IsDefault": { "type": ["boolean", "null"] },
        "FundedBy": { "type": ["string", "null"] },
        "IsTemplate": { "type": "boolean" },
        "DisplayPriority": { "type": "integer" },
        "DefaultValidForDays": { "type": ["integer", "null"] },
        "Preactivated": { "type": "boolean" },
        "IgnoreOnPos": { "type": "boolean" },
        "Metadata": { "type": ["object", "null"], "additionalProperties": { "type": "string" } },
        "EventId": { "type": "string" },
        "AuthorName": { "type": ["string", "null"] }
      },
      "$defs": {
        "campaignContent": {
          "type": ["object", "null"],
          "properties": {
            "Title": { "type": ["string", "null"] },
            "Description": { "type": ["string", "null"] },
            "Brand": { "type": ["string", "null"] },
            "ImageUrl": { "type": ["string", "null"] },
            "DiscountLabel": { "type": ["string", "null"] },
            "NormalPriceLabel": { "type": ["string", "null"] },
            "PricePerUnitLabelEnabled": { "type": ["boolean", "null"] },
            "UnitOfMeasure": { "type": ["string", "null"] },
            "ConditionLabel": { "type": ["string", "null"] },
            "IconTags": { "type": ["array", "null"], "items": { "$ref": "#/$defs/iconTag" } },
            "Tags": { "type": ["array", "null"], "items": { "type": "string" } },
            "ReceiptDisplayText": { "type": ["string", "null"] }
          }
        },
        "iconTag": {
          "type": ["object", "null"],
          "properties": {
            "Name": { "type": ["string", "null"] },
            "IconUrl": { "type": ["string", "null"] }
          }
        },
        "prices": {
          "type": ["object", "null"],
          "properties": {
            "Currency": { "type": ["string", "null"] },
            "Price": { "type": ["number", "null"] },
            "NormalPrice": { "type": ["number", "null"] },
            "PricePerUnit": { "type": ["number", "null"] },
            "NormalPricePerUnit": { "type": ["number", "null"] }
          }
        },
        "discount": {
          "type": ["object", "null"],
          "properties": {
            "Priority": { "type": ["integer", "null"] },
            "AllowOtherDiscountsOnTop": { "type": ["boolean", "null"] },
            "ItemsApplicationType": { "type": ["string", "null"], "enum": ["AllItems", "NonDiscountedItems", "DiscountedItems", null] },
            "ImpactLevel": { "type": ["string", "null"], "enum": ["Line", "Total", null] },
            "MaxDiscountAmount": { "type": ["number", "null"] },
            "MaxDiscountAmountPerCoupon": { "type": ["number", "null"] },
            "MaxNumberApplyPerReceiptDecimal": { "type": ["number", "null"] },
            "ApplyOnHighestPrice": { "type": ["boolean", "null"] },
            "DiscountType": { "type": ["string", "null"], "enum": ["Unknown", "SimpleLine", "SimpleQuantity", "SimpleTotal", "MixAndMatch", "MixAndMatchTotal", "QuantityStep", "RewardTotal", "TotalStep", null] },
            "ApplicationType": { "type": "string", "enum": ["Unknown", "Absolute", "OnThreshold", "Multiple"] },
            "CheckoutTypes": { "type": ["array", "null"], "items": { "type": "string" } },
            "RewardRedemptionSettings": { "$ref": "#/$defs/rewardRedemptionSettings" },
            "Rules": { "type": ["array", "null"], "items": { "$ref": "#/$defs/discountRule" } }
          }
        },
        "rewardRedemptionSettings": {
          "type": ["object", "null"],
          "properties": {
            "RedeemableFrom": { "type": ["string", "null"], "format": "date-time" },
            "RedeemableTo": { "type": ["string", "null"], "format": "date-time" },
            "RedeemableForDays": { "type": ["integer", "null"] }
          }
        },
        "discountRule": {
          "type": ["object", "null"],
          "properties": {
            "Type": { "type": ["string", "null"], "enum": ["FixedPrice", "Percentage", "Amount", "BonusPercent", "BonusAmount", null] },
            "Value": { "type": ["number", "null"] },
            "ThresholdType": { "type": ["string", "null"], "enum": ["Quantity", "Amount", null] },
            "ThresholdValue": { "type": ["number", "null"] },
            "Affiliations": { "type": ["array", "null"], "items": { "$ref": "#/$defs/affiliation" } }
          }
        },
        "affiliation": {
          "type": ["object", "null"],
          "properties": {
            "Type": { "type": "string", "enum": ["Product", "Category"] },
            "Identifiers": { "type": ["array", "null"], "items": { "type": "string" } },
            "ApplicationType": { "type": "string", "enum": ["Include", "Exclude"] }
          }
        }
      }
    }
    ```
  </Tab>

  <Tab title="Offer Updated">
    ```json theme={"system"}
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "OfferId": { "type": "string" },
        "CampaignName": { "type": ["string", "null"] },
        "UnifiedCampaignId": { "type": ["string", "null"] },
        "ValidFrom": { "type": "string", "format": "date-time" },
        "ValidTo": { "type": "string", "format": "date-time" },
        "PreviewVisibleFrom": { "type": ["string", "null"], "format": "date-time" },
        "UpdatedAt": { "type": "string", "format": "date-time" },
        "OfferType": { "type": "string" },
        "SegmentationType": { "type": ["string", "null"], "enum": ["Segmented", "Triggered", "Personal", null] },
        "CampaignStatus": { "type": "string", "enum": ["Imported", "Published"] },
        "CampaignContent": { "$ref": "#/$defs/campaignContent" },
        "Prices": { "$ref": "#/$defs/prices" },
        "Discount": { "$ref": "#/$defs/discount" },
        "RedemptionLimit": { "type": "integer" },
        "TotalCoupons": { "type": ["integer", "null"] },
        "ChainIds": { "type": ["array", "null"], "items": { "type": "string" } },
        "StoreIds": { "type": ["array", "null"], "items": { "type": "string" } },
        "Audiences": { "type": ["array", "null"], "items": { "type": "string" } },
        "IsDefault": { "type": ["boolean", "null"] },
        "OfferSynchronized": { "type": "boolean" },
        "FundedBy": { "type": ["string", "null"] },
        "IsTemplate": { "type": "boolean" },
        "DisplayPriority": { "type": "integer" },
        "DefaultValidForDays": { "type": ["integer", "null"] },
        "Preactivated": { "type": "boolean" },
        "IgnoreOnPos": { "type": "boolean" },
        "ModifiedBy": { "type": ["string", "null"] },
        "Metadata": { "type": ["object", "null"], "additionalProperties": { "type": "string" } },
        "EventId": { "type": "string" }
      },
      "$defs": {
        "campaignContent": {
          "type": ["object", "null"],
          "properties": {
            "Title": { "type": ["string", "null"] },
            "Description": { "type": ["string", "null"] },
            "Brand": { "type": ["string", "null"] },
            "ImageUrl": { "type": ["string", "null"] },
            "DiscountLabel": { "type": ["string", "null"] },
            "NormalPriceLabel": { "type": ["string", "null"] },
            "PricePerUnitLabelEnabled": { "type": ["boolean", "null"] },
            "UnitOfMeasure": { "type": ["string", "null"] },
            "ConditionLabel": { "type": ["string", "null"] },
            "IconTags": { "type": ["array", "null"], "items": { "$ref": "#/$defs/iconTag" } },
            "Tags": { "type": ["array", "null"], "items": { "type": "string" } },
            "ReceiptDisplayText": { "type": ["string", "null"] }
          }
        },
        "iconTag": {
          "type": ["object", "null"],
          "properties": {
            "Name": { "type": ["string", "null"] },
            "IconUrl": { "type": ["string", "null"] }
          }
        },
        "prices": {
          "type": ["object", "null"],
          "properties": {
            "Currency": { "type": ["string", "null"] },
            "Price": { "type": ["number", "null"] },
            "NormalPrice": { "type": ["number", "null"] },
            "PricePerUnit": { "type": ["number", "null"] },
            "NormalPricePerUnit": { "type": ["number", "null"] }
          }
        },
        "discount": {
          "type": ["object", "null"],
          "properties": {
            "Priority": { "type": ["integer", "null"] },
            "AllowOtherDiscountsOnTop": { "type": ["boolean", "null"] },
            "ItemsApplicationType": { "type": ["string", "null"], "enum": ["AllItems", "NonDiscountedItems", "DiscountedItems", null] },
            "ImpactLevel": { "type": ["string", "null"], "enum": ["Line", "Total", null] },
            "MaxDiscountAmount": { "type": ["number", "null"] },
            "MaxDiscountAmountPerCoupon": { "type": ["number", "null"] },
            "MaxNumberApplyPerReceiptDecimal": { "type": ["number", "null"] },
            "ApplyOnHighestPrice": { "type": ["boolean", "null"] },
            "DiscountType": { "type": ["string", "null"], "enum": ["Unknown", "SimpleLine", "SimpleQuantity", "SimpleTotal", "MixAndMatch", "MixAndMatchTotal", "QuantityStep", "RewardTotal", "TotalStep", null] },
            "ApplicationType": { "type": "string", "enum": ["Unknown", "Absolute", "OnThreshold", "Multiple"] },
            "CheckoutTypes": { "type": ["array", "null"], "items": { "type": "string" } },
            "RewardRedemptionSettings": { "$ref": "#/$defs/rewardRedemptionSettings" },
            "Rules": { "type": ["array", "null"], "items": { "$ref": "#/$defs/discountRule" } }
          }
        },
        "rewardRedemptionSettings": {
          "type": ["object", "null"],
          "properties": {
            "RedeemableFrom": { "type": ["string", "null"], "format": "date-time" },
            "RedeemableTo": { "type": ["string", "null"], "format": "date-time" },
            "RedeemableForDays": { "type": ["integer", "null"] }
          }
        },
        "discountRule": {
          "type": ["object", "null"],
          "properties": {
            "Type": { "type": ["string", "null"], "enum": ["FixedPrice", "Percentage", "Amount", "BonusPercent", "BonusAmount", null] },
            "Value": { "type": ["number", "null"] },
            "ThresholdType": { "type": ["string", "null"], "enum": ["Quantity", "Amount", null] },
            "ThresholdValue": { "type": ["number", "null"] },
            "Affiliations": { "type": ["array", "null"], "items": { "$ref": "#/$defs/affiliation" } }
          }
        },
        "affiliation": {
          "type": ["object", "null"],
          "properties": {
            "Type": { "type": "string", "enum": ["Product", "Category"] },
            "Identifiers": { "type": ["array", "null"], "items": { "type": "string" } },
            "ApplicationType": { "type": "string", "enum": ["Include", "Exclude"] }
          }
        }
      }
    }
    ```
  </Tab>

  <Tab title="Offer Published">
    ```json theme={"system"}
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "OfferId": { "type": "string" },
        "UnifiedCampaignId": { "type": ["string", "null"] },
        "PublishedAt": { "type": "string", "format": "date-time" },
        "PublishedBy": { "type": ["string", "null"] },
        "CampaignStatus": { "type": "string", "enum": ["Imported", "Published"] },
        "EventId": { "type": "string" }
      }
    }
    ```
  </Tab>

  <Tab title="Offer Stopped">
    ```json theme={"system"}
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "OfferId": { "type": "string" },
        "UnifiedCampaignId": { "type": ["string", "null"] },
        "CampaignStatus": { "type": "string", "enum": ["Imported", "Published"] },
        "StoppedBy": { "type": ["string", "null"] },
        "EventId": { "type": "string" }
      }
    }
    ```
  </Tab>

  <Tab title="Offer Deleted">
    ```json theme={"system"}
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "OfferId": { "type": "string" },
        "UnifiedCampaignId": { "type": ["string", "null"] },
        "DeletedAt": { "type": "string", "format": "date-time" },
        "DeletedBy": { "type": ["string", "null"] },
        "EventId": { "type": "string" }
      }
    }
    ```
  </Tab>
</Tabs>
