DELETE
{promotions_service_api_base_url}
/
promotions
/
company
/
{company_id}
/
campaigns
/
{campaign_id}
/
promotions
/
{promotion_id}
{
  "deletion_id": "<string>",
  "promotion_id": "<string>",
  "campaign_id": "<string>",
  "deletion_status": "<string>",
  "safety_checks": {
    "active_usage_check": {},
    "dependency_check": {},
    "financial_impact_check": {},
    "compliance_check": {}
  },
  "archival_summary": {
    "archived_data_location": "<string>",
    "archived_at": "<string>",
    "archive_retention_period": "<string>",
    "recoverable_until": "<string>"
  },
  "impact_assessment": {
    "customers_affected": 123,
    "orders_impacted": 123,
    "revenue_impact": 123,
    "analytics_impact": {}
  },
  "alternative_recommendations": [
    {
      "recommendation_type": "<string>",
      "description": "<string>",
      "expected_outcome": "<string>"
    }
  ],
  "rollback_options": {
    "recovery_possible": true,
    "recovery_deadline": "<string>",
    "recovery_limitations": [
      {}
    ]
  },
  "compliance_records": {
    "audit_log_entry": "<string>",
    "regulatory_notifications": [
      {}
    ],
    "data_retention_compliance": {}
  },
  "deleted_at": "<string>",
  "deleted_by": "<string>",
  "deletion_method": "<string>"
}
This endpoint provides controlled deletion of promotions with built-in safety mechanisms to prevent accidental loss of valuable marketing data and ensure minimal disruption to ongoing business operations.
Promotion deletion is a permanent action with significant business implications. The system implements multiple safety checks and offers archival options to protect against accidental data loss while maintaining operational integrity.

Path Parameters

company_id
string
required
The unique identifier of the company that owns the promotion
campaign_id
string
required
The unique identifier of the campaign containing the promotion
promotion_id
string
required
The unique identifier of the promotion to delete

Query Parameters

force
boolean
default:"false"
Force deletion despite safety warnings (requires elevated permissions)
archive_data
boolean
default:"true"
Whether to archive promotion data before deletion for future reference
transfer_analytics
boolean
default:"true"
Whether to preserve analytics data in campaign-level reporting
confirmation_token
string
Security token required for high-impact deletions

Request Body

deletion_reason
string
required
Business justification for deleting the promotion
impact_acknowledgment
boolean
required
Confirmation that user understands the deletion impact
alternative_actions_considered
array
List of alternative actions considered before deletion
data_retention_preferences
object
Specific preferences for data handling during deletion

Request Example

{
  "deletion_reason": "Promotion was created in error and conflicts with existing campaign strategy. No customer usage has occurred.",
  "impact_acknowledgment": true,
  "alternative_actions_considered": [
    {
      "action": "Pause promotion instead of deletion",
      "reason_rejected": "Promotion was never intended to be active and creates confusion in campaign management"
    },
    {
      "action": "Modify promotion to align with strategy",
      "reason_rejected": "Core concept conflicts with brand guidelines and cannot be salvaged"
    }
  ],
  "data_retention_preferences": {
    "preserve_customer_usage_history": true,
    "preserve_performance_metrics": true,
    "preserve_financial_records": true,
    "anonymize_customer_data": false
  }
}

Response

deletion_id
string
Unique identifier for this deletion operation
promotion_id
string
The ID of the deleted promotion
campaign_id
string
Parent campaign identifier
deletion_status
string
Status of the deletion: “completed”, “archived”, “pending_approval”, “blocked”
safety_checks
object
Results of pre-deletion safety validations
archival_summary
object
Summary of data preservation actions taken
impact_assessment
object
Comprehensive analysis of deletion effects
alternative_recommendations
array
System-generated recommendations for similar promotions
rollback_options
object
Available options for reversing the deletion
compliance_records
object
Compliance and audit trail information
deleted_at
string
Timestamp when the deletion was completed
deleted_by
string
User who performed the deletion
deletion_method
string
Method used for deletion (soft_delete, archive_delete, hard_delete)

Response Example

{
  "deletion_id": "del_promo_spring_001_20250420",
  "promotion_id": "promo_spring_001",
  "campaign_id": "1000010",
  "deletion_status": "completed",
  "safety_checks": {
    "active_usage_check": {
      "status": "passed",
      "current_active_users": 0,
      "pending_transactions": 0,
      "message": "No active usage detected"
    },
    "dependency_check": {
      "status": "passed",
      "dependent_systems": [],
      "external_references": 0,
      "message": "No system dependencies found"
    },
    "financial_impact_check": {
      "status": "warning",
      "total_revenue_impact": 18450.32,
      "outstanding_commitments": 0,
      "message": "Promotion generated significant revenue but no outstanding commitments"
    },
    "compliance_check": {
      "status": "passed",
      "regulatory_requirements": "met",
      "data_retention_compliance": "compliant",
      "message": "All compliance requirements satisfied"
    }
  },
  "archival_summary": {
    "archived_data_location": "archive://promotions/2025/spring_campaign/promo_spring_001",
    "archived_at": "2025-04-20T16:00:00.000Z",
    "archive_retention_period": "7 years",
    "recoverable_until": "2025-05-20T16:00:00.000Z"
  },
  "impact_assessment": {
    "customers_affected": 189,
    "orders_impacted": 247,
    "revenue_impact": 18450.32,
    "analytics_impact": {
      "historical_reports": "preserved",
      "trend_analysis": "adjusted",
      "comparative_metrics": "normalized"
    }
  },
  "alternative_recommendations": [
    {
      "recommendation_type": "similar_promotion",
      "description": "Create a new seasonal promotion with similar discount structure but updated branding",
      "expected_outcome": "Maintain customer engagement while aligning with current strategy"
    },
    {
      "recommendation_type": "customer_retention",
      "description": "Send targeted offers to customers who used the deleted promotion",
      "expected_outcome": "Minimize customer dissatisfaction from promotion removal"
    }
  ],
  "rollback_options": {
    "recovery_possible": true,
    "recovery_deadline": "2025-05-20T16:00:00.000Z",
    "recovery_limitations": [
      "Some real-time metrics may need recalculation",
      "Customer-facing promotion codes will need regeneration",
      "Integration with external systems may require reactivation"
    ]
  },
  "compliance_records": {
    "audit_log_entry": "audit_2025_04_20_promotion_deletion_001",
    "regulatory_notifications": [],
    "data_retention_compliance": {
      "customer_data": "preserved_as_required",
      "financial_records": "archived_per_policy",
      "analytics_data": "anonymized_and_retained"
    }
  },
  "deleted_at": "2025-04-20T16:00:00.000Z",
  "deleted_by": "marketing_manager_002",
  "deletion_method": "archive_delete"
}
Recovery Window: Deleted promotions can typically be recovered within 30 days using archived data. After this period, recovery may require special procedures or may not be possible.
Best Practice: Before deleting promotions with significant usage history, consider deactivating them instead. This preserves data integrity while removing them from active use.

Safety Check Details

Error Responses

High-Impact Deletions: Promotions with significant customer usage, revenue impact, or system dependencies require additional approvals and may be blocked from immediate deletion.

Alternative Actions

Recovery Procedures

Business Impact Considerations