# CannedConsentPurpose

object type

One canned consent-purpose template: usable via copyCannedConsentPurpose → an ordinary EDITABLE group ConsentPurpose (fork semantics — a copy never auto-revs).

## Fields

| Field | Type | Notes |
| --- | --- | --- |
| `key` | [ConsentPurposeTemplateKey](/types/ConsentPurposeTemplateKey/) `ConsentPurposeTemplateKey!` | No further notes. |
| `code` | [String](/types/#scalars) `String!` | The code the copy is born with (== the key; the merchant may re-code the copy — it is an ordinary row). |
| `caption` | [String](/types/#scalars) `String!` | No further notes. |
| `description` | [String](/types/#scalars) `String!` | What the processing activity IS — the registry's human line (rows carry no description; captions + decorations do display duty). |
| `consentModel` | [String](/types/#scalars) `String!` | opt_in \| opt_out — ALL six ship opt_in. |
| `version` | [Int](/types/#scalars) `Int!` | The registry data version (port-stamped onto copies as templateVersion). |

## Used by

- [cannedConsentPurposes](/reference/reading-your-records/cannedConsentPurposes/)
