Skip to main content

Filter verification

POST 

/v2/config/digital-wallet/openid/sdjwt/verification/:presentationId/filter

Filters the credentials in the wallet of the holder against the request of the verifier and returns the matches. Call this operation after the receive operation, and use the result to build the request body of the send operation.

The response holds credentials when the verifier sent a DCQL query. DCQL is the only query form that an iGrant.io verifier sends, so this is the usual answer. The response holds inputDescriptors in place of it only for a request from an outside verifier that still uses a DIF Presentation Exchange definition. The wallet never returns both keys.

The array holds one entry for every credential query, even for a query that no credential in the wallet answers. Read matchedCredentials on each entry: an empty array marks a requirement that the holder cannot meet.

The request has no body. The wallet discards a body if you send one.

There is no V3 version of this operation. Use it together with the V3 receive, read and send operations.

Request

Path Parameters

    presentationId stringrequired

    Unique identifier of the presentation record in the wallet of the holder. This is the presentationId property of the record, not its id property.

    Example: 3f2a7c18-9b4e-4d0a-8c6f-1e5b2a9d4c73

Responses

The wallet compared the credentials with the verifier's request and returns the matches.

Response Headers
    Schema
      credentials object[]

      Matches for each credential query in the DCQL query of the verifier, with one entry for every query. The wallet leaves this property out only when the verifier sent a DIF Presentation Exchange definition. Give the id of each entry in the credentials array of the send operation.

    • Array [
    • id stringrequired

      Identifier of the DCQL credential query that these credentials match. Give this value as the id of the matching entry in the credentials array of the send operation. For a Presentation Exchange request this is the Input Descriptor identifier.

      name string

      Human-readable name of the credential requirement. Present only for a Presentation Exchange request that holds a name. Never present for a DCQL query.

      purpose string

      Reason why the verifier asks for this credential. Present only for a Presentation Exchange request that holds a purpose. Never present for a DCQL query.

      matchedCredentials object[]required

      Credentials in the wallet of the holder that agree with this query. The array is empty when the wallet holds no matching credential. The wallet always gives the property, and it is never null.

    • Array [
    • credentialId stringrequired

      Identifier of the matching credential in the wallet of the holder. Give this value as credentialId, or in credentialIds, in the request body of the send operation.

      type string[]

      Credential types of the matching W3C Verifiable Credential. The wallet leaves this property out for other credential formats.

      vct string

      Verifiable Credential Type of the matching IETF SD-JWT VC. The wallet leaves this property out for other credential formats.

      doctype string

      Document type of the matching ISO 18013-5 mDoc credential. The wallet leaves this property out for other credential formats.

      match objectrequired

      Claims of this credential that agree with the query. The keys are claim path pointers, and they are the values to put in claimIds in the request body of the send operation.

      For an ISO 18013-5 mDoc credential on the DCQL path, each key keeps its namespace, for example org.iso.18013.5.1.family_name. Only a request from an outside verifier that still uses Presentation Exchange gives keys without the namespace.

      When the query asks for no single claim, the wallet lists every claim that it can disclose: every namespace.element for an mDoc credential, the disclosed claim set for an IETF SD-JWT VC, and the whole credentialSubject for a W3C VC JWT.

      property name* any

      Claims of this credential that agree with the query. The keys are claim path pointers, and they are the values to put in claimIds in the request body of the send operation.

      For an ISO 18013-5 mDoc credential on the DCQL path, each key keeps its namespace, for example org.iso.18013.5.1.family_name. Only a request from an outside verifier that still uses Presentation Exchange gives keys without the namespace.

      When the query asks for no single claim, the wallet lists every claim that it can disclose: every namespace.element for an mDoc credential, the disclosed claim set for an IETF SD-JWT VC, and the whole credentialSubject for a W3C VC JWT.

    • ]
    • ]
    • inputDescriptors object[]

      Matches for each Input Descriptor, for a request from an outside verifier that still uses a DIF Presentation Exchange definition, with one entry for every Input Descriptor. The wallet leaves this property out when the verifier sent a DCQL query.

    • Array [
    • id stringrequired

      Identifier of the DCQL credential query that these credentials match. Give this value as the id of the matching entry in the credentials array of the send operation. For a Presentation Exchange request this is the Input Descriptor identifier.

      name string

      Human-readable name of the credential requirement. Present only for a Presentation Exchange request that holds a name. Never present for a DCQL query.

      purpose string

      Reason why the verifier asks for this credential. Present only for a Presentation Exchange request that holds a purpose. Never present for a DCQL query.

      matchedCredentials object[]required

      Credentials in the wallet of the holder that agree with this query. The array is empty when the wallet holds no matching credential. The wallet always gives the property, and it is never null.

    • Array [
    • credentialId stringrequired

      Identifier of the matching credential in the wallet of the holder. Give this value as credentialId, or in credentialIds, in the request body of the send operation.

      type string[]

      Credential types of the matching W3C Verifiable Credential. The wallet leaves this property out for other credential formats.

      vct string

      Verifiable Credential Type of the matching IETF SD-JWT VC. The wallet leaves this property out for other credential formats.

      doctype string

      Document type of the matching ISO 18013-5 mDoc credential. The wallet leaves this property out for other credential formats.

      match objectrequired

      Claims of this credential that agree with the query. The keys are claim path pointers, and they are the values to put in claimIds in the request body of the send operation.

      For an ISO 18013-5 mDoc credential on the DCQL path, each key keeps its namespace, for example org.iso.18013.5.1.family_name. Only a request from an outside verifier that still uses Presentation Exchange gives keys without the namespace.

      When the query asks for no single claim, the wallet lists every claim that it can disclose: every namespace.element for an mDoc credential, the disclosed claim set for an IETF SD-JWT VC, and the whole credentialSubject for a W3C VC JWT.

      property name* any

      Claims of this credential that agree with the query. The keys are claim path pointers, and they are the values to put in claimIds in the request body of the send operation.

      For an ISO 18013-5 mDoc credential on the DCQL path, each key keeps its namespace, for example org.iso.18013.5.1.family_name. Only a request from an outside verifier that still uses Presentation Exchange gives keys without the namespace.

      When the query asks for no single claim, the wallet lists every claim that it can disclose: every namespace.element for an mDoc credential, the disclosed claim set for an IETF SD-JWT VC, and the whole credentialSubject for a W3C VC JWT.

    • ]
    • ]
    Loading...