NewStorefrontInput
input type
Create-input for a Storefront. The tenant (org group) derives SERVER-SIDE from the principal; organizationId (the parent) is tenant-scoped server-side and must be ACTIVE; the config refs (selling LF / theme roster / collections / channel division / root category) gate record-aware at create AND re-validate at every publish.
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
caption | String | no | Optional: when omitted the per-type default applies — the domain when given ('storefront at <domain>'), else the theme ('<theme caption> storefront'); when supplied it must be non-blank. |
organizationId | ID ID! | yes | The parent Organization (whose storefront this is) — tenant-scoped + ACTIVE. Immutable after birth. |
logicalFacilityId | ID ID! | yes | The designated selling LF — tenant-scoped + ACTIVE. |
theme | String String! | yes | A canned theme key — cannedStorefrontThemes lists the roster (an unknown key refuses NAMING it). |
customDomain | String | no | The optional custom domain (the bare-hostname grammar) — validated for SHAPE here; the claim happens at publish. |
collectionIds | ID [ID!] | no | The merchandised collections (0..24, distinct, each ACTIVE); omitted =. |
categoryId | ID | no | The optional browse-tree root category (ACTIVE). |
divisionId | ID | no | The optional CHANNEL-type division (ACTIVE + channel-kind — a different kind refuses). |