Combine your own signals into a weighted trust score
POST /api/v1/trust-score
POST https://api.trustverify.co.uk/api/v1/trust-score
Weights the signals you send (each value 0–1) into a 0–100 trust score and tier. Known types and weights: biometric_match 0.25, aml_result 0.20, document_authenticity 0.15, device_fingerprint 0.10, ip_risk 0.10, transaction_history 0.10, account_age 0.05, communication_pattern 0.05; any other type weighs 0.05. With no signals the score is 50.
Request body#
| Field | Type | Description |
|---|---|---|
| entityIdrequired | string | |
| signals | array of object | |
| signals[].typerequired | string | |
| signals[].valuerequired | number | |
| metadata | object |
Example request#
curl -sS -X POST 'https://api.trustverify.co.uk/api/v1/trust-score' \
-H "Authorization: Bearer $TRUSTVERIFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"entityId": "seller_demo_42"
}'Responses#
200 Trust score
| Field | Type | Description |
|---|---|---|
| checkIdrequired | string | |
| entityIdrequired | string | |
| trustScorerequired | integer | |
| tierrequired | string: "trusted" | "provisional" | "elevated_risk" | "blocked" | |
| breakdownrequired | object | |
| escrowGaterequired | object | |
| escrowGate.thresholdrequired | number | |
| escrowGate.passesrequired | boolean | |
| escrowGate.actionrequired | string: "release_funds" | "hold_pending_review" | |
| completedAtrequired | string | |
| metadatarequired | object |
400 validation_failed — entityId is required
| Field | Type | Description |
|---|---|---|
| errorrequired | string: "validation_failed" | |
| messagerequired | string | |
| requestId | string |