---
id: SCR-COM-CAT-019
title: Promotion editor
route: '/console/{workspace}/configuration/orders/promotions/{id}/edit'
surface: console
product_area: commerce
module: catalog
revision: 1
status: draft
design_intent: proposed
implementation_evidence: observed
inference: []
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
purpose: Edit the allowed configuration of a prepared or running campaign.
supports:
  - JNY-COM-CAT-004
  - CAP-COM-CAT-014
permission: commerce.promotions.manage
entry_from:
  - SCR-COM-CAT-018
exits_to:
  - SCR-COM-CAT-018
displays:
  - field: every editable field and the parts
    source: 'getPromotion, listPromotionAreas'
actions:
  - label: Save Changes
    operation_id: updatePromotion
    permission: commerce.promotions.manage
    confirm: false
states:
  - loading
  - error
  - read-only
validation:
  - BR-CAP-COM-CAT-014-02
  - BR-CAP-COM-CAT-014-04
  - BR-CAP-COM-CAT-014-05
  - BR-CAP-COM-CAT-014-06
  - BR-CAP-COM-CAT-014-12
patterns:
  - Standard layout
  - PageHeader
  - PromotionPartsEditor
  - AreaCriteriaForm
  - EligibilityCard
  - LockedNote
  - EditorActionBar
  - PromotionChangeGate
component: components/commerce/promotions/promotion-editor.tsx
evidence:
  - >-
    react-console at baf6dae3: components/commerce/promotions/*.tsx; lib/commerce/promotions/live.ts,
    rules.ts; e2e/mock/promotions.mock.spec.ts.
controls: [TC-IAM-001, TC-IAM-002, TC-IAM-004, TC-IAM-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-AZ-005, TC-AZ-006, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-CRY-001, TC-LOG-004, TC-PI-001, TC-PI-003]
---

# Promotion editor

## What the Screen Is For

Edit the allowed configuration of a prepared or running campaign.

## What It Shows and Lets People Do

The campaign form submits named changes with the read version. LockedNote marks protected terms after use. An entered code may be created after the campaign change commits.

## States and Errors

Protected-term changes and limits below usage receive refusals. A later code failure does not undo the campaign edit. The built editor provides no end-and-duplicate command.

## Patterns It Must Respect

Standard layout combines PromotionPartsEditor, AreaCriteriaForm, EligibilityCard, LockedNote and EditorActionBar behind PromotionChangeGate.
