Skip to main content

List verification

GET 

/v3/config/digital-wallet/openid/sdjwt/verifications

Lists the presentation records (V3) in the wallet of the holder. You can filter the records by status and by a search term, and set the sort order. The wallet sorts the records by updatedAt.

search matches a part of the credential type, the vct and the doctype of the shared credentials, and the display name of the verifier, without regard to case. It does not look at the presentation identifiers. sortOrder takes asc or desc; the wallet uses desc for every other value.

The wallet does not return a record that a delete operation removed.

Request​

Query Parameters

    offset integerrequired

    Default value: 0

    Number of records to skip for pagination. A negative or unreadable value falls back to 0.

    limit integerrequired

    Default value: 10

    Maximum number of records to return per page.

    search stringrequired

    Search term to filter results by

    sortOrder stringrequired

    Possible values: [desc, asc]

    Default value: desc

    Sort order for the returned records (ascending or descending).

    status stringrequired

    Possible values: [presentation_pending, presentation_acked]

    Filter the presentation records by lifecycle status.

Responses​

The wallet returns the presentation records.

Response Headers
    Schema
      presentation object[]required

      Presentation records on the requested page. The array is empty when the wallet holds no records.

    • Array [
    • id stringrequired

      Identifier of the presentation record. It holds the same value as presentationId.

      presentationId stringrequired

      Unique identifier of this presentation in the wallet of the holder. Use this identifier to read the record, to send the presentation, or to delete the record.

      presentationExchangeId stringrequired

      Identifier of the verification exchange at the verifier, when the wallet knows it, for example for a presentation that an issuer of this platform asks for during issuance. Empty for a record that the receive verification operation made.

      openIdOrganisationId stringrequired

      Identifier of the digital wallet deployment that holds this presentation record.

      organisationId stringrequired

      Identifier of the organisation that owns the wallet of the holder.

      presentationSubmission object

      Presentation Submission object of the DIF Presentation Exchange specification. It maps the credentials of the holder to the requirements of the verifier.

      DCQL is the only query form that an iGrant.io verifier sends, and a DCQL Authorization Response carries no Presentation Submission, so the wallet returns null here for such a request. A value is present only when an outside verifier still sends a DIF Presentation Exchange definition.

      definition_id stringrequired

      Identifier of the presentation definition that this submission fulfils.

      descriptor_map object[]required

      Descriptor Map entries. Each entry gives the position of one requested credential in the Verifiable Presentation.

    • Array [
    • format stringrequired

      Credential format of the matched credential, for example jwt_vc_json, dc+sd-jwt or mso_mdoc.

      id stringrequired

      Identifier of the Input Descriptor that this entry satisfies.

      path stringrequired

      JSONPath expression that points to the credential in the Verifiable Presentation token.

      path_nested object

      Nested path descriptor for credentials in an envelope format, for example a JWT in a VP JWT.

      format stringrequired

      Credential format of the nested credential, for example jwt_vc_json, dc+sd-jwt or mso_mdoc.

      id stringrequired

      Identifier of the Input Descriptor that this nested entry satisfies.

      path stringrequired

      JSONPath expression that points to the credential in the envelope.

    • ]
    • id stringrequired

      Unique identifier of this Presentation Submission.

      vpToken string[]

      Verifiable Presentation tokens that the wallet sent to the verifier. The array holds one entry for each credential that the Authorization Request asked for. The value is null until the holder sends the presentation.

      status stringrequired

      Possible values: [presentation_pending, presentation_acked]

      Lifecycle status of the presentation in the wallet of the holder:

      1. presentation_pending: The holder must select the matching credentials and send the Verifiable Presentation to the verifier.
      2. presentation_acked: The wallet sent the Verifiable Presentation and the verifier accepted it.
      verified booleanrequired

      The holder wallet does not store the result of the checks of the verifier, so this value is always false. The verifier reads the result in its own verification record.

      presentationValidity object[]

      The holder wallet does not store the validation result of the verifier, so this value is always null. The verifier reads the result in its own verification record.

      vpRequestState stringrequired

      State value of the Authorization Request of the verifier. The wallet returns this value with the Authorization Response so that the verifier can match the two.

      clientId stringrequired

      Client identifier of the verifier as the Authorization Request gives it, with its prefix, for example x509_hash:... or decentralized_identifier:did:....

      redirectUri stringrequired

      Redirect URI from the Authorization Request. The wallet posts the Authorization Response to this URI.

      requestUri stringrequired

      Request URI of the Authorization Request. The wallet gets the full Authorization Request from this URI when the verifier passes the request by reference.

      responseRedirectUri stringrequired

      Redirect URI that the verifier returned in the Authorization Response. The wallet sends the holder to this URI after the verifier processed the presentation.

      presentationDefinition stringrequired

      DIF Presentation Exchange definition of the verifier, as a serialised JSON string. Empty when the verifier sent a DCQL query, which is the only query form that an iGrant.io verifier sends. Read dcqlQuery for the credential and claim requirements.

      nonce stringrequired

      Cryptographic nonce from the Authorization Request. The wallet puts this value in the Key Binding JWT to keep the presentation fresh and to stop replay.

      responseType stringrequired

      Possible values: [vp_token]

      OAuth 2.0 response type of the Authorization Request. The wallet accepts only vp_token.

      credentialId stringrequired

      Identifier of the credential in the wallet that the holder chose for this presentation.

      clientMetadata objectrequired

      Metadata of the verifier from the Authorization Request. The wallet shows this information to the holder before the holder approves the presentation.

      clientName stringrequired

      Display name of the verifier.

      logoUri stringrequired

      URL of the logo of the verifier.

      location stringrequired

      Location or address of the verifier.

      coverUri stringrequired

      URL of the cover image of the verifier.

      description stringrequired

      Description of the verifier.

      presentation object[]

      Credentials that the Verifiable Presentation holds. The value is null until the holder sends the presentation.

    • Array [
    • id stringrequired

      Identifier of the DCQL credential query that this credential satisfies. For a request from an outside verifier that still uses Presentation Exchange, this is the Input Descriptor identifier.

      credentialId stringrequired

      Identifier of the credential in the wallet of the holder.

      type string[]

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

      credentialSubject object

      Disclosed claims of a presented W3C VC JWT credential. The wallet leaves this property out for other credential formats.

      property name* any

      Disclosed claims of a presented W3C VC JWT credential. The wallet leaves this property out for other credential formats.

      vct string

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

      doctype string

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

      claims object

      Disclosed claims of a presented SD-JWT VC or mDoc credential. The wallet leaves this property out for other credential formats.

      property name* any

      Disclosed claims of a presented SD-JWT VC or mDoc credential. The wallet leaves this property out for other credential formats.

    • ]
    • transactionData

      Transaction data from the Authorization Request, as the verifier sent it. The value is normally an array of base64url strings. The holder must approve this data before the wallet sends the presentation. Read transactionDataDecoded to show the data to the holder.

      transactionDataDecoded object[]

      Decoded transaction data. The wallet shows these objects to the holder for approval.

      dataAgreement object

      Data agreement from the Authorization Request. It gives the terms that govern this verification exchange.

      property name* any

      Data agreement from the Authorization Request. It gives the terms that govern this verification exchange.

      legalPidAttestation stringrequired

      Legal Person Identification Data attestation of the verifier. The wallet uses it to check the legal identity of the verifier.

      legalPidAttestationPop stringrequired

      Proof of possession for the Legal Person Identification Data attestation of the verifier.

      legalPidVerified booleanrequired

      true when the wallet checked the Legal Person Identification Data attestation of the verifier and the check passed.

      isVerifiedWithTrustList booleanrequired

      true when the wallet found the verifier in a configured trust list.

      trustServiceProvider object

      Trust Service Provider entry that the wallet used to check the identity of the verifier.

      property name* any

      Trust Service Provider entry that the wallet used to check the identity of the verifier.

      trustAnchor stringrequired

      Possible values: [``, did:key, x509]

      Holds the same value as cryptographicKeyFormat.

      kid stringrequired

      Holds the same value as cryptographicKeyIdentifier.

      clientIdScheme stringrequired

      Possible values: [``, x509_hash, x509_san_dns, decentralized_identifier, did, verifier_attestation, redirect_uri]

      Client identifier prefix of the Authorization Request. It sets how the verifier identifies itself and how the wallet checks the request. Empty when the client identifier has no prefix.

      verifierAttestation stringrequired

      Verifier Attestation JWT from the verifier. It proves that the verifier may ask for the requested credentials.

      dcqlQuery object

      Digital Credentials Query Language (DCQL) query from the Authorization Request. Read credentials[].id from this query to build the credentials array of the send operation. null when the verifier sent a DIF Presentation Exchange definition instead.

      property name* any

      Digital Credentials Query Language (DCQL) query from the Authorization Request. Read credentials[].id from this query to build the credentials array of the send operation. null when the verifier sent a DIF Presentation Exchange definition instead.

      encryptionJwk object

      Public key of the verifier as a JWK. The wallet uses it to encrypt the Authorization Response when the response mode asks for encryption.

      property name* any

      Public key of the verifier as a JWK. The wallet uses it to encrypt the Authorization Response when the response mode asks for encryption.

      encryptedResponseEncValuesSupported string[]

      Possible values: [A128CBC-HS256, A128GCM, A256GCM]

      JWE content encryption algorithms that the verifier accepts for the encrypted Authorization Response, limited to the values that the wallet supports. Give one of them as encryptionAlgorithm of the send operation.

      encryptionAlgorithm stringrequired

      Possible values: [``, A128GCM, A256GCM, A128CBC-HS256]

      JWE content encryption algorithm (enc) that the wallet used to encrypt the Authorization Response: one value of encryptedResponseEncValuesSupported. Empty until the send operation, and empty when the response mode does not ask for encryption.

      cryptographicKeyIdentifier string

      Key identifier of the holder key that the wallet uses for this presentation.

      cryptographicKeyFormat string

      Possible values: [``, did:key, x509]

      Format of the holder key that the wallet uses for this presentation.

      legalPidAttestationValidity object[]

      Result of the check of the Legal Person Identification Data attestation of the verifier. Each entry holds validatedAt, attestation (isExpired, isRevoked, isVerified, errors) and proofOfPossession (isExpired, isVerified, errors). The list is empty, or null, when the verifier sent no attestation.

      createdAt numberrequired

      Unix timestamp in seconds when the wallet made this record.

      updatedAt numberrequired

      Unix timestamp in seconds when the wallet last changed this record.

    • ]
    • pagination object
      currentPage integer

      Current page number

      totalItems integer

      Total number of items available

      totalPages integer

      Total number of pages based on limit

      limit integer

      Number of items per page

      hasPrevious boolean

      Indicates if there's a previous page

      hasNext boolean

      Indicates if there's a next page

      executionTime doublerequired

      Time in seconds that the server used to build this response.

      presentationStats objectrequired

      Counts of the presentation records for the organisation. The counts cover all records, not only the records on this page, and the status and search filters do not change them. When no record matches the filters, every count is 0.

      total int64required

      Total number of presentation records in the holder's wallet.

      presentationShared int64required

      Number of presentation records with the status presentation_acked.

      presentationPending int64required

      Number of presentation records with the status presentation_pending.

    Loading...