# NewCollectionMemberInput

input type

Create-input for a CollectionMember. The tenant (org group) is derived SERVER-SIDE from the principal — NEVER supplied here; collectionId (the parent — rides the header) and productId are tenant-scoped server-side and must be ACTIVE.

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | Optional: when omitted the per-type default applies — the constant 'CollectionMember' (a membership edge carries no merchant code); when supplied it must be non-blank. |
| `collectionId` | [ID](/types/#scalars) `ID!` | yes | The owning Collection id. |
| `productId` | [ID](/types/#scalars) `ID!` | yes | The member Product id — immutable after birth. |
| `ordinal` | [Int](/types/#scalars) | no | The display order (LOWER = FIRST; 0..1000000) — defaulted to 0 when omitted. |

## Used by

- [createCollectionMember](/reference/collection-member/createCollectionMember/)
