# NewDecorationInput

input type

Create-input for a Decoration. The tenant (org group) is derived SERVER-SIDE from the principal; the attachment target (attachedToType + attachedToId) is tenant-scoped server-side and must be active; purpose must name the canned registry and be text-kind; purpose and the attachment are IMMUTABLE after birth.

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | Optional: when omitted the per-type default applies — the merchant code when given, else 'Decoration'; when supplied it must be non-blank. |
| `purpose` | [String](/types/#scalars) `String!` | yes | The canned purpose key. Immutable after birth. |
| `locale` | [String](/types/#scalars) `String!` | yes | The content locale — canonical BCP-47 core shape (case-canonical, STRICT). |
| `ordinal` | [Int](/types/#scalars) | no | Optional importance position (0..1000000; lower = more important) — defaults to 0. |
| `text` | [String](/types/#scalars) `String!` | yes | The inline text content (1..4096 chars). |
| `attachedToType` | [AttachableType](/types/AttachableType/) `AttachableType!` | yes | The owning construct type (the attachable allowlist). |
| `attachedToId` | [ID](/types/#scalars) `ID!` | yes | The owning construct id — tenant-scoped server-side, must be active. |
| `code` | [String](/types/#scalars) | no | No further notes. |

## Used by

- [createDecoration](/reference/decoration/createDecoration/)
