match connection should compare. You send these in the single userInput object of Create Verification.
Where the schema comes from
Every connection publishes its requirements asuserInputSchema in Get Connections. The Console shows the same fields on a connection’s detail sheet under Data → Request Params.
Illustrative schema (read the actual fields from your connection):
userInputSchema needs no input. The user selects themselves in the provider’s own UI (most redirect-based eIDs work this way).
Field rules
Keys the connection’s
userInputSchema does not declare are dropped before the provider is called. Only a connection without a userInputSchema receives userInput unchanged. A value the connection or its provider rejects (for example a malformed national ID number) returns 422 VALIDATION_INVALID_USER_DATA. Record-level rules that a schema cannot express (for example “provide one of email, phone, or identification number”) are enforced by the provider and surface as a failed session.
One field, two purposes
userInput is one flat map. Hopae decides what each value is for based on the connection’s credential.verificationModel:
disclosure: the values select the person or authorise the lookup. The provider then discloses the person’s attributes.match: the same values are also the claims to compare. The provider answers whether they match, field by field, undermatchin the userinfo response. See Verification Model.
Examples
Keys are the OIDC-normalized names listed in the schema (for example
name, birthdate). They are echoed back unchanged in match.submitted_fields and match.details. The provenance block keeps the provider’s native names so the audit trail stays aligned with the source.
