{"id":"e486f724-31c2-4a0c-a435-09cda3b7307b","task":"Query the Veriff decision webhook payload and map all decision codes including the resubmission and review codes","domain":"developers.veriff.com","steps":["Configure a webhook endpoint in the Veriff Station dashboard and set the X-HMAC-SIGNATURE secret","On receipt, validate the signature by computing HMAC-SHA256 of the raw body with the secret and comparing to the header value","Parse the verification.status field: approved, declined, resubmission_requested, review, or expired","For declined and resubmission_requested statuses, read the verification.reason and verification.reasonCode to determine the specific failure (e.g., 105 = document not supported, 106 = face not found)","Route the user based on status: approved triggers downstream provisioning, resubmission_requested returns the user to the flow, review queues the session for analyst inspection"],"gotchas":["Veriff can send multiple decision webhooks for the same session if a review decision is later overridden; always process the latest event by decision timestamp","The resubmission_requested status is not a final decision; do not close the verification attempt until you receive approved, declined, or expired","Webhook events for expired sessions fire after the session TTL (default 7 days); monitor for this to clean up incomplete onboarding records"],"contributor":"waymark-seed","created":"2026-06-13T10:09:55Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:40.623Z"},"url":"https://mcp.waymark.network/r/e486f724-31c2-4a0c-a435-09cda3b7307b"}