Infer the applicable compliance questionnaire for a set of items and open a session whose lines are pre-answered from inference (CLE2-64). Applicable programs are resolved per item (HS-driven); answers whose question effectKey matches an inferred fact are written with INFERRED provenance + confidence. Lines are NOT auto-finalized — fully-answered lines await questionnaireSessionAttest. Supersedes the deprecated complianceInferAndPrefill (identical behavior, clearer name), and the deprecated questionnaireSessionInfer. Two ways to name the items. Pass items and the caller supplies the facts inference runs on. Omit items for a CATALOG_ITEM container and they are hydrated from what the catalog-item consumer (item.catalog-item.events.changed) snapshotted at event time — the flow a merchant opening the questionnaire page uses, since catalog upload opens sessions WITHOUT inference (deferred spend) and the page has no facts of its own to re-supply. containerId is the catalog item id, and shipToCountry may be omitted with it (see that field). The snapshot path is hash-guarded: when inference already ran for the item's current content the session is returned untouched — no LLM spend, previously inferred answers undisturbed — except that a partyId still names the certifier, which is a supplied value rather than inference. An inference whose item changed underneath it is discarded rather than left describing stale facts. A caller-supplied items run is never hash-guarded; it always infers.
Mutation.
complianceQuestionnaireInfer
Infer the applicable compliance questionnaire for a set of items and open a session whose lines are pre-answered from inference (CLE2-64). Applicable programs are resolved per item (HS-driven); answers whose question effectKey matches an inferred fact are written with INFERRED provenance + confidence. Lines are NOT auto-finalized — fully-answered lines await questionnaireSessionAttest. Supersedes the deprecated complianceInferAndPrefill (identical behavior, clearer name), and the deprecated questionnaireSessionInfer. Two ways to name the items. Pass
itemsand the caller supplies the facts inference runs on. Omititemsfor a CATALOG_ITEM container and they are hydrated from what the catalog-item consumer (item.catalog-item.events.changed) snapshotted at event time — the flow a merchant opening the questionnaire page uses, since catalog upload opens sessions WITHOUT inference (deferred spend) and the page has no facts of its own to re-supply.containerIdis the catalog item id, andshipToCountrymay be omitted with it (see that field). The snapshot path is hash-guarded: when inference already ran for the item's current content the session is returned untouched — no LLM spend, previously inferred answers undisturbed — except that apartyIdstill names the certifier, which is a supplied value rather than inference. An inference whose item changed underneath it is discarded rather than left describing stale facts. A caller-supplieditemsrun is never hash-guarded; it always infers.Arguments
input
ComplianceQuestionnaireInferInput!
Required
Returns:
ComplianceQuestionnaireInferResult!
type Mutation { complianceQuestionnaireInfer(input: ComplianceQuestionnaireInferInput!): ComplianceQuestionnaireInferResult! }Related user guides