Preview HumanID
Endpoint
POST https://api.verifik.co/v2/zelf-proof/preview
Examines any HumanID to view its metadata and configuration without performing actual biometric verification. This is useful for inspecting public information and settings attached to the HumanID without decrypting its content.
Headers
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
Params
| Name | Type | Required | Description |
|---|---|---|---|
zelfProof | string | Yes | The encrypted face proof token to examine |
verifierKey | string | No | Verifier key for additional validation |
Request
- Node.js
- PHP
- Python
- Go
const fetch = require("node-fetch");
async function run() {
const res = await fetch("https://api.verifik.co/v2/zelf-proof/preview", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.VERIFIK_TOKEN}`,
},
body: JSON.stringify({
os: "DESKTOP",
zelfProof: "AudwN6Jmxms3tEOYQg5fyZCEYLwiDuFFheQfYTmKQCUAJ99y4MWI/7A6ouXW1VIR8fAVCL4rgbNKYR/cjZpS085JPq4vedbB08ZIansX2cW+XPyJjFKRnY5qxRgwUfyzLMrCpu83qdORwfdX3YOXo4Poff0eYNtqho3h+bJB1uaMvK9QHN8uYWR9rxafMqFtNWJWSuC/V3yKeG3eRYSaoNcW6mHycjQMxvVcpDn1fMWK+93/8h12/iyBBbwH3JSlki4LlgaOeP/S8o1CRSrFpmysSpJDoh+pesDIpuTxlK7WMeNvv33n+nj+1oUZ51ijyV/m9CMvY+VjvuMzAZJogHh+dNEi57YWAVZTBBiwu/M02mPXCQcSYNyNCD1EPyFcEEGqVXRZb5fghdi0qpxN57YZ3dspMlmXnlv0Bq6nbnO4/KmuWtZqx/1riFK3ejb+EJu23p281IeXxAMet1+rHgPgQZYs4j7CSIHeGnY9YL1A53Ozb2/bYddQoAdwRx6M6BdtLbUG4XbUB3uZT3azQvf86Um0SnWrsJ1GejiIrlAXliOKqLc/sHY8XNWaDen0WzPB1R5dFi7Sn+egQSf2TA1oN0AhCxlBcJ85yHSnIYMOfLk+NnLgt3ImOcku9dZIWkhpvAcvAPqNx5437kBmo9bWchzZ5idfNhtCpgCkRyz8/yImGYnQH5YFBrsap0/ZeW5ISVOCooxEXFonWrUTjO5hqm/lfWiw16Lq8uvOi8CszvwuSQUN4O7gCdzUzgLoeDBv8XHXRkrTuKkfSPB2slZ3J1xHysMLW/o2Hv6v6e99rDwaL7UaMa/zZ5o1zr87/sz9SBWpQ/t8vGHjk68KmvMnnk3vQOOcrogrDN5fwKPqSwEQp7WnvKhm8ShBYt+T"
}),
});
console.log(await res.json());
}
run();
<?php
$ch = curl_init("https://api.verifik.co/v2/zelf-proof/preview");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"Authorization: Bearer " . getenv("VERIFIK_TOKEN")
]);
$body = json_encode([
"os" => "DESKTOP",
"zelfProof" => "AudwN6Jmxms3tEOYQg5fyZCEYLwiDuFFheQfYTmKQCUAJ99y4MWI/7A6ouXW1VIR8fAVCL4rgbNKYR/cjZpS085JPq4vedbB08ZIansX2cW+XPyJjFKRnY5qxRgwUfyzLMrCpu83qdORwfdX3YOXo4Poff0eYNtqho3h+bJB1uaMvK9QHN8uYWR9rxafMqFtNWJWSuC/V3yKeG3eRYSaoNcW6mHycjQMxvVcpDn1fMWK+93/8h12/iyBBbwH3JSlki4LlgaOeP/S8o1CRSrFpmysSpJDoh+pesDIpuTxlK7WMeNvv33n+nj+1oUZ51ijyV/m9CMvY+VjvuMzAZJogHh+dNEi57YWAVZTBBiwu/M02mPXCQcSYNyNCD1EPyFcEEGqVXRZb5fghdi0qpxN57YZ3dspMlmXnlv0Bq6nbnO4/KmuWtZqx/1riFK3ejb+EJu23p281IeXxAMet1+rHgPgQZYs4j7CSIHeGnY9YL1A53Ozb2/bYddQoAdwRx6M6BdtLbUG4XbUB3uZT3azQvf86Um0SnWrsJ1GejiIrlAXliOKqLc/sHY8XNWaDen0WzPB1R5dFi7Sn+egQSf2TA1oN0AhCxlBcJ85yHSnIYMOfLk+NnLgt3ImOcku9dZIWkhpvAcvAPqNx5437kBmo9bWchzZ5idfNhtCpgCkRyz8/yImGYnQH5YFBrsap0/ZeW5ISVOCooxEXFonWrUTjO5hqm/lfWiw16Lq8uvOi8CszvwuSQUN4O7gCdzUzgLoeDBv8XHXRkrTuKkfSPB2slZ3J1xHysMLW/o2Hv6v6e99rDwaL7UaMa/zZ5o1zr87/sz9SBWpQ/t8vGHjk68KmvMnnk3vQOOcrogrDN5fwKPqSwEQp7WnvKhm8ShBYt+T"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import os, requests
url = "https://api.verifik.co/v2/zelf-proof/preview"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {os.getenv('VERIFIK_TOKEN')}"
}
payload = {
"os": "DESKTOP",
"zelfProof": "AudwN6Jmxms3tEOYQg5fyZCEYLwiDuFFheQfYTmKQCUAJ99y4MWI/7A6ouXW1VIR8fAVCL4rgbNKYR/cjZpS085JPq4vedbB08ZIansX2cW+XPyJjFKRnY5qxRgwUfyzLMrCpu83qdORwfdX3YOXo4Poff0eYNtqho3h+bJB1uaMvK9QHN8uYWR9rxafMqFtNWJWSuC/V3yKeG3eRYSaoNcW6mHycjQMxvVcpDn1fMWK+93/8h12/iyBBbwH3JSlki4LlgaOeP/S8o1CRSrFpmysSpJDoh+pesDIpuTxlK7WMeNvv33n+nj+1oUZ51ijyV/m9CMvY+VjvuMzAZJogHh+dNEi57YWAVZTBBiwu/M02mPXCQcSYNyNCD1EPyFcEEGqVXRZb5fghdi0qpxN57YZ3dspMlmXnlv0Bq6nbnO4/KmuWtZqx/1riFK3ejb+EJu23p281IeXxAMet1+rHgPgQZYs4j7CSIHeGnY9YL1A53Ozb2/bYddQoAdwRx6M6BdtLbUG4XbUB3uZT3azQvf86Um0SnWrsJ1GejiIrlAXliOKqLc/sHY8XNWaDen0WzPB1R5dFi7Sn+egQSf2TA1oN0AhCxlBcJ85yHSnIYMOfLk+NnLgt3ImOcku9dZIWkhpvAcvAPqNx5437kBmo9bWchzZ5idfNhtCpgCkRyz8/yImGYnQH5YFBrsap0/ZeW5ISVOCooxEXFonWrUTjO5hqm/lfWiw16Lq8uvOi8CszvwuSQUN4O7gCdzUzgLoeDBv8XHXRkrTuKkfSPB2slZ3J1xHysMLW/o2Hv6v6e99rDwaL7UaMa/zZ5o1zr87/sz9SBWpQ/t8vGHjk68KmvMnnk3vQOOcrogrDN5fwKPqSwEQp7WnvKhm8ShBYt+T"
}
r = requests.post(url, json=payload, headers=headers)
print(r.json())
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"os"
)
func main() {
payload := map[string]interface{}{
"os": "DESKTOP",
"zelfProof": "AudwN6Jmxms3tEOYQg5fyZCEYLwiDuFFheQfYTmKQCUAJ99y4MWI/7A6ouXW1VIR8fAVCL4rgbNKYR/cjZpS085JPq4vedbB08ZIansX2cW+XPyJjFKRnY5qxRgwUfyzLMrCpu83qdORwfdX3YOXo4Poff0eYNtqho3h+bJB1uaMvK9QHN8uYWR9rxafMqFtNWJWSuC/V3yKeG3eRYSaoNcW6mHycjQMxvVcpDn1fMWK+93/8h12/iyBBbwH3JSlki4LlgaOeP/S8o1CRSrFpmysSpJDoh+pesDIpuTxlK7WMeNvv33n+nj+1oUZ51ijyV/m9CMvY+VjvuMzAZJogHh+dNEi57YWAVZTBBiwu/M02mPXCQcSYNyNCD1EPyFcEEGqVXRZb5fghdi0qpxN57YZ3dspMlmXnlv0Bq6nbnO4/KmuWtZqx/1riFK3ejb+EJu23p281IeXxAMet1+rHgPgQZYs4j7CSIHeGnY9YL1A53Ozb2/bYddQoAdwRx6M6BdtLbUG4XbUB3uZT3azQvf86Um0SnWrsJ1GejiIrlAXliOKqLc/sHY8XNWaDen0WzPB1R5dFi7Sn+egQSf2TA1oN0AhCxlBcJ85yHSnIYMOfLk+NnLgt3ImOcku9dZIWkhpvAcvAPqNx5437kBmo9bWchzZ5idfNhtCpgCkRyz8/yImGYnQH5YFBrsap0/ZeW5ISVOCooxEXFonWrUTjO5hqm/lfWiw16Lq8uvOi8CszvwuSQUN4O7gCdzUzgLoeDBv8XHXRkrTuKkfSPB2slZ3J1xHysMLW/o2Hv6v6e99rDwaL7UaMa/zZ5o1zr87/sz9SBWpQ/t8vGHjk68KmvMnnk3vQOOcrogrDN5fwKPqSwEQp7WnvKhm8ShBYt+T",
}
b, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", "https://api.verifik.co/v2/zelf-proof/preview", bytes.NewBuffer(b))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+os.Getenv("VERIFIK_TOKEN"))
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var out map[string]interface{}
json.NewDecoder(resp.Body).Decode(&out)
fmt.Println(out)
}
Response
- 200
- 401
- 403
- 409
- 500
{
"data": {
"passwordLayer": "WithPassword",
"publicData": {
"a": "1",
"vida": "true",
"b": "2"
},
"requireLiveness": true
}
}
{
"message": "Authentication required",
"code": "UNAUTHORIZED"
}
{
"message": "Access Forbidden",
"code": "FORBIDDEN"
}
{
"message": "\"zelfProof\" is required",
"code": "MissingParameter"
}
{
"message": "internal_error",
"code": "ERROR"
}
Notes
- The
passwordLayerfield indicates whether the HumanID is password-protected (WithPasswordorWithoutPassword) publicDatacontains the public data that was stored with the HumanID (this is visible to anyone with the proof)requireLivenessindicates whether liveness detection was required when the HumanID was created- This endpoint does not perform biometric verification - it only examines the HumanID public metadata
- No credits are charged for preview operations
- The
osparameter is required but doesn't affect the preview functionality - This is useful for debugging, inspection, and understanding HumanID configuration before attempting verification
- Private metadata is securely stored within the HumanID since it is encrypted by the owner.