# CopyCannedConsentPurposeInput

input type

Copy-input for copyCannedConsentPurpose: the template key + an optional caption override; the code + consentModel + the provenance stamps (templateKey/templateVersion) copy PORT-SIDE — customize AFTER the copy via updateConsentPurpose (⚠ consentModel stays birth-fixed on the copy too). A copy NEVER auto-revs when the registry does (fork semantics).

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `key` | [ConsentPurposeTemplateKey](/types/ConsentPurposeTemplateKey/) `ConsentPurposeTemplateKey!` | yes | The canned template key (cannedConsentPurposes lists the 6). |
| `caption` | [String](/types/#scalars) | no | Optional caption override. |

## Used by

- [copyCannedConsentPurpose](/reference/privacy-and-compliance/copyCannedConsentPurpose/)
