On this page
confirmWizardMaterial
mutation · in the family Work and notes
What it does
Confirm an uploaded wizard material — the assistant reads it once and keeps a compact fact sheet.
Confirm one uploaded wizard material: HeadObject-verifies custody (pending · YOUR OWN mint · byte match), runs THE ONE AI REVIEW of the raw bytes (surface office.material_extract — metered at.ai.call.v1; images ride vision, documents ride file input), stores the bounded EXTRACTION ARTIFACT beside the blob in the material book + stamps the wallet storage counter, ONE transaction. Material ⟺ extraction: a keyless/failed review refuses INTEGRATION/UNAVAILABLE WHOLE and the pending lifecycle reaps the blob — no un-reviewed material is ever kept. Later suggestFormFill/explainWizardStep presses compose from the stored extraction by id — the raw content is read exactly once, here. Requires authentication (user sessions). Template class (universal staff work).
What happens
The AI review is a metered call; if the assistant is unavailable the material is NOT kept (upload again later). The fact sheet then grounds the fill and guide buttons across the wizard.
Who may call it
Capability area: Work and notes — Tasks, notes, messages, dashboards and the everyday tools every staff member keeps.
- Owner
- System Administrator
- Manager
- Associate Manager
- Warehouse Associate
- Sales Associate
- Cashier
- An API key whose scope allows
api:confirmWizardMaterial
Arguments
| Name | Type | Required | Notes |
|---|---|---|---|
id | ID ID! | yes | The id of the record. |
Returns
WizardMaterial WizardMaterial! — One confirmed wizard material: what later fill/guide presses compose from.
Example request
mutation ExampleConfirmWizardMaterial($id: ID!) {
confirmWizardMaterial(id: $id) {
id
wizardType
filename
declaredContentType
bytes
extraction
createdAt
}
}
Variables:
{
"id": "01900000-0000-7000-8000-37386ae00000"
}
Send it with the envelope naming the version: "extensions": {"at": {"version": {"name":"genesis","number":0}}}.
Example response
{
"data": {
"confirmWizardMaterial": {
"id": "01900000-0000-7000-8000-37386ae00000",
"wizardType": "<wizard type>",
"filename": "<filename>",
"declaredContentType": "<declared content type>",
"bytes": 1,
"extraction": "<extraction>",
"createdAt": "2027-01-31T00:00:00.000Z"
}
},
"extensions": {
"at": {
"callId": "01EXAMPLE-CALL-ID",
"version": {
"requested": {
"name": "genesis",
"number": 0
},
"serviced": {
"name": "genesis",
"number": 0
}
}
}
}
}
Errors this call can answer
VALIDATION/INVALID— Something in the request is not valid. (VALIDATION)AUTHN/REQUIRED— Sign in to do this. (AUTHN)AUTHZ/FORBIDDEN— Your role does not allow this action. (AUTHZ)RATE_LIMIT/THROTTLED— Too many requests in a short time. (RATE_LIMIT)NOT_FOUND/*— That record could not be found. (NOT_FOUND)CONFLICT/*— The record’s state, or a change made in the meantime, does not allow this; the codes are on the CONFLICT page. (CONFLICT)VALIDATION/VERSION_REQUIRED— The request did not say which app version it came from. (VALIDATION)