Skip to main content
A verification moves to resubmission_requested when the images were not good enough to decide: a blurry document, glare, a face not fully in the frame. Nothing is wrong with the person; they need to retake something. On a facial age estimation it also means the selfie couldn’t confirm 18+ and the person is asked to add an ID; that webhook has reason: null.

What happens

  1. The webhook arrives with status: resubmission_requested and a reason such as document.front.glare.high, or reason: null when a facial age estimation asks for an ID.
  2. The widget, still open or reopened from the same url, tells the person what to retake. A new attempt starts in the same verification.
  3. The next submission is decided as usual, and another webhook follows: approved, declined, or another resubmission_requested.
  4. Attempts are limited. When they run out the verification is declined, and its reason is the last attempt’s reason, which can be one from the table below. Treat declined as final whatever the code: don’t show a retry prompt.

What to do

  • Nothing blocking. Do not treat resubmission_requested as a failure, and do not create a new verification: send the person back to the same url.
  • If the person left, remind them with a link to the same verification. After seven days without progress it becomes abandoned; then create a new one.
  • If you show your own message, map the reason to plain words, and handle null as “add an identity document”:
If you capture in your own UI, your app runs the retake itself: upload the new images and submit again, in the same verification.