# WizardMaterialUploadTicket

object type

The material upload ticket (the NoteAttachmentUploadTicket law): PUT to uploadUrl sending EVERY requiredHeader verbatim, then confirmWizardMaterial(id) before the pending lifecycle's window closes.

## Fields

| Field | Type | Notes |
| --- | --- | --- |
| `materialId` | [ID](/types/#scalars) `ID!` | The minted material id — pass to confirmWizardMaterial to review + keep it. |
| `key` | [String](/types/#scalars) `String!` | The full blob key the ticket writes (materials/<rootId>/…). |
| `uploadUrl` | [String](/types/#scalars) `String!` | The presigned PUT URL (short-TTL). |
| `requiredHeaders` | [NoteAttachmentUploadHeader](/types/NoteAttachmentUploadHeader/) `[NoteAttachmentUploadHeader!]!` | The headers the PUT must carry VERBATIM (signed conditions — checksum + tagging). |
| `expiresAt` | [String](/types/#scalars) `String!` | When the ticket expires (ISO-8601). |

## Used by

- [mintWizardMaterialUpload](/reference/work-and-notes/mintWizardMaterialUpload/)
