NewMarkdownPlanInput
input type
Create-input for a MarkdownPlan. The tenant is derived SERVER-SIDE; ⚠ the caption is REQUIRED at the boundary (the CustomerPriceGroup divergence class — a cadence has no natural default; omission refuses VALIDATION/INVALID); the OPEN bound gates the create kit-side. The all-future/base/splice/cap gates are the SCHEDULE transition's — a draft may be authored ahead of its own validity.
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
caption | String | no | Optional: when omitted the per-type default applies — NONE — the divergence: a cadence has no natural default name, so an omitted caption refuses VALIDATION/INVALID at the boundary instead of defaulting; when supplied it must be non-blank. |
productScope | PromotionProductScopeInput PromotionProductScopeInput! | yes | The scope — REQUIRED with ≥1 member. |
organizationIds | ID [ID!] | no | The canned-pool selection — ABSENT = every org in the group. |
logicalFacilityIds | ID [ID!] | no | The explicit LF restriction — ABSENT = all LFs of the selected orgs. |
currency | String String! | yes | The plan currency (ISO-4217) — every money-bearing move must carry it. |
steps | MarkdownStepInput [MarkdownStepInput!]! | yes | 1–8 ordered steps — startAt strictly increasing; endAt on the LAST step only. |