# NewGiftRegistryInput

input type

Create-input for a GiftRegistry. The tenant is derived SERVER-SIDE; ⚠ the caption IS the registry's name and is REQUIRED at the boundary (the CsCase divergence — an unnamed registry is meaningless). consumerId names the OWNER; the ACTIVE-registries ceiling gates kit-side. The consumer lane is createMyGiftRegistry — NOT this shape (the principal stamps as owner there).

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | Optional: when omitted the per-type default applies — NONE — the CsCase divergence: the caption IS the registry name, and an omitted caption refuses VALIDATION/INVALID at the boundary instead of defaulting; when supplied it must be non-blank. |
| `registryType` | [String](/types/#scalars) `String!` | yes | wedding \| baby \| birthday \| anniversary \| holiday \| wishlist \| custom — the canned registry validates. |
| `consumerId` | [ID](/types/#scalars) `ID!` | yes | The OWNING registered Consumer (ruling — the staff lane names it; live-gated: registered + NOT-doomed). ⚠ IMMUTABLE at birth (ruling). |
| `privacy` | [String](/types/#scalars) | no | Defaults 'private' when omitted (strict). |
| `eventDate` | [String](/types/#scalars) | no | ISO-8601 instant — present ⇒ arms the scheduled expiry (ruling). |
| `shipTo` | [RegistryShipToInput](/types/RegistryShipToInput/) | no | The inline ship-to override. |

## Used by

- [createGiftRegistry](/reference/gift-registry/createGiftRegistry/)
