Method: vdc.proofUser

An endpoint to proof a user for a digital credential, using an issuer specified list of evidences, and for a specific device.

HTTP request

POST https://example.issuer.com/api/v1/vdc/proofUser

Request body

The request body contains data with the following structure:

JSON representation
{
  "requestMetadata": {
    object (RequestMetadata)
  },
  "deviceReferenceId": string,
  "proofingId": string,
  "evidence": [
    {
      object (ProofingEvidence)
    }
  ],

  // Union field proofing_context can be only one of the following:
  "reverificationContext": {
    object (ReverificationContext)
  }
  // End of list of possible types for union field proofing_context.
}
Fields
requestMetadata

object (RequestMetadata)

The metadata about the request, required in all requests.

deviceReferenceId

string

The id that corresponds to the device and the identity key associated with the device. This is NOT a device id, meaning that if the user were to have two separate credentials on the same device, this id would differ between them.

This id is supplied in all requests, and can be used to correlate requests.

proofingId

string

An opaque identifier representing a proofing with a specific bundle of evidence, for a specific device.

Ex: UUID

evidence[]

object (ProofingEvidence)

The list of evidences needed to proof a user for a digital credential.

Union field proofing_context. The context for proofing. Empty for the initial proofing. proofing_context can be only one of the following:
reverificationContext

object (ReverificationContext)

The context for reverification proofing.

Response body

An acknowledgement to a request to proof a user for a digital credential, that indicates the proofing is now being processed.

If successful, the response body contains data with the following structure:

JSON representation
{
  "responseMetadata": {
    object (ResponseMetadata)
  },
  "proofingId": string
}
Fields
responseMetadata

object (ResponseMetadata)

The metadata about the response, required in all responses.

proofingId

string

The opaque identifier representing a proofing with a specific bundle of evidence, for a specific device. This is the same proof ID that was sent in the request.

ProofingEvidence

An object that represents a single piece of evidence.

JSON representation
{

  // Union field evidence_type can be only one of the following:
  "preAuthorizationCode": {
    object (Evidence)
  }
  // End of list of possible types for union field evidence_type.
}
Fields
Union field evidence_type. An oneof indicating how the evidence is being presented. evidence_type can be only one of the following:
preAuthorizationCode

object (Evidence)

Pre-authorization code sent from the issuer.

Evidence

An object that represents a single piece of evidence.

JSON representation
{

  // Union field presencetype can be only one of the following:
  "encryptedData": {
    object (EncryptedData)
  },
  "unencryptedValue": string,
  "unencryptedInteger": integer
  // End of list of possible types for union field presencetype.
}
Fields
Union field presencetype. An oneof indicating how the evidence is being presented. presencetype can be only one of the following:
encryptedData

object (EncryptedData)

The encrypted value and encryption metadata necessary to decrypt the value.

unencryptedValue

string

The base64 encoded value of the evidence.

unencryptedInteger

integer

Integer value of the evidence.

ReverificationContext

The context required to trigger reverification for the credential.

JSON representation
{
  "credentialId": string
}
Fields
credentialId

string

The credential id that the reverification is performed on.