If not `null`, the URI to the JSON/text data that holds the proof verifying the claim to be fetched solely by a machine.
In some cases, we need to consider two separate URIs for proof verification. It could be that an identity proof is stored in a post. In such a case, `proof.uri` should be the URL to that post that can be verified by a human and `proof.fetch` should be the URL to the JSON data associated to that post.
## claim.fingerprint
```
Type: string | null
Values: *
Mandatory: true
```
The fingerprint of the claim to verify against the proof. If `null`, the verification itself is skipped.
The format in which the claim's fingerprint is expected to be found in the proof. There are three supported claim formats:
-`uri`: the claim is formulated as `openpgp4fpr:FINGERPRINT`
-`message`: the claim is formulated as `[Verifying my OpenPGP key: openpgp4fpr:FINGERPRINT]`
-`fingerprint`: the claim is formulated as `FINGERPRINT`
## claim.path
```
Type: array | null
Values: *
Mandatory: true
```
The path inside the JSON proof data that leads to the field where the claim's fingerprint is expected to be found. Each field is inputted as a string appended to the array. When a certain field in the JSON data contains an array, this level will not get an input in `claim.path`: arrays are to be automatically iterated over.
If the proof data is text based, this field is ignored and its value should be set to `null`.
See [Claims](claims.md) for examples on how this works.
## claim.relation
```
Type: string
Values: contains, equals, oneOf
Mandatory: true
```
How the claim relates to the proof. There are three supported claim relations:
-`contains`: the proof is a long text containing the claim
-`equals`: the proof is equal to the claim
-`oneOf`: the proof is an array of string, one of which is the claim
## customRequestHandler
```
Type: function | null
Values: *
Mandatory: false
```
A function that will be called to handle the actual request to obtain the proof data. Most service providers will not need this and will use the default internal request handler to fetch the JSON/text data containing the proof. Service providers that need more than a single simple HTTP GET request must provide their own `customRequestHandler`.