# EditMarkdownPlanInput

input type

Edit-input for a MarkdownPlan. Every field optional, at least ONE required; supplied fields REPLACE, omitted fields are preserved (no clearing semantic). DRAFT-ONLY: a scheduled/active plan refuses CONFLICT/REF_STATE naming the status (amend-after-schedule = cancel + author anew); terminals refuse CONFLICT/IMMUTABLE. The currency⇄moves law re-asserts on the MERGED plan (either half may arrive alone).

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | The plan name. |
| `productScope` | [PromotionProductScopeInput](/types/PromotionProductScopeInput/) | no | Wholesale replace of the scope. |
| `organizationIds` | [ID](/types/#scalars) `[ID!]` | no | Wholesale replace of the canned pool. |
| `logicalFacilityIds` | [ID](/types/#scalars) `[ID!]` | no | Wholesale replace of the LF restriction. |
| `currency` | [String](/types/#scalars) | no | The plan currency — re-asserted against the (merged) steps. |
| `steps` | [MarkdownStepInput](/types/MarkdownStepInput/) `[MarkdownStepInput!]` | no | Wholesale replace of the cadence. |

## Used by

- [updateMarkdownPlan](/reference/markdown-plan/updateMarkdownPlan/)
