Verification is a chain of three client-server requests:

  1. Initialization call

  2. Manifest call

  3. Verification call

A sequential API request is submitted based on the response of the previous request.

1060


Verite verification flow

### Initialization call

The verification flow starts with the initialization call.

##### Endpoint

`POST: /verifications`

##### Query

Its query contains the `network` and the `chainId` to help the verifier server decide which blockchain to use. `Subject` is the DeFi application's address on that blockchain.





##### Response

The response contains two fields: `challengeTokenUrl` and `statusUrl`. `challengeTokenUrl` is for the manifest call and `statusUrl` is for asynchronous status checks.





### Manifest call

##### Endpoint

`GET: /verifications/{id}`

The Manifest step calls the `challengeTokenUrl` from the initialization call's response. It is a `GET` call without additional parameters.

##### Response

The response is a manifest list that the server accepts. It contains many meta fields as well as fields that should be carried to the verification call.





`reply_url` field is the URL that the client should call in the verification step.

### Verification call

##### Endpoint

`POST: /verifications/{id}` The URL that the client should call at this step is the `reply_url` field in the response of the previous call.

##### Request




There are several fields in the query that the clients need to carry from either the response of the previous query or the verifiable credential (VC) fetched from the wallet.

field in the queryfield in the response of the previous call
`iss`VC's DID
`sub`wallet's address
`nonce``body.challenge`
`presentation_submission.definition_id``body.presentation_definition.id`
`vp.verifiableCredential`VC that is from wallet.
`vp.holder`wallet's address
##### Response

A successful verification returns a JSON blob, as illustrated below.





field namemeaning
`status`The status of the verification.
`verificationResult`The result of the verification.
`signature`The signed string, by verifier, of the `verificationResult`