{"templateId":"../../@theme/Templates/ChangelogEntry","sharedDataIds":{},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"New webhooks","siteUrl":"https://developers.signable.app","description":"Integrate Signable’s eSignature API to send, sign, and manage documents with envelopes and webhooks.","image":"/assets/hero-placeholder-small.5b052639e5d5a3b6265375db1ac2835173dda2c0ed22f8c167f6284080cc84ce.db81178d.png","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can now track each signer's QES verification while an envelope is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["qes_in_progress"]},", and use QES with embedded signing."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"new-webhooks","__idx":0},"children":["New webhooks"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["qes-ready"]},": a QES signer can now verify. The full payload includes the signer's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["signing_page_link"]}," (embedded signing only) and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["verification_session_expires_at"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["qes-signed"]},": a QES signer has verified and their qualified signature has been applied."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["qes-failed"]},": QES signing failed. The envelope status changes to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["failed"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For each QES signer, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["qes-ready"]}," is sent first, then ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["qes-signed"]},". After the last QES signer, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["signed-envelope-complete"]}," is sent."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"new-party-fields","__idx":1},"children":["New party fields"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/openapi/envelopes/getenvelope"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /envelopes/{envelope_fingerprint}"]}]}," now returns these fields for each party:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["party_qes_status"]},": ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["waiting"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ready"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["complete"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["failed"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["party_qes_session_expires_at"]},": when the party's verification session expires."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["party_signing_url"]},": the party's signing page link, when embedded signing is enabled for your company."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"qes-with-embedded-signing","__idx":2},"children":["QES with embedded signing"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["QES is now available to companies using embedded signing. If you have turned off ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Signer notification emails"]},", Signable does not send QES signers the ID verification email. Send each signer their link when you receive ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["qes-ready"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/qes"},"children":["Using QES with the API"]}," for details."]}]},"headings":[{"value":"New webhooks","id":"new-webhooks","depth":2},{"value":"New party fields","id":"new-party-fields","depth":2},{"value":"QES with embedded signing","id":"qes-with-embedded-signing","depth":2}],"frontmatter":{"title":"Track QES verification with webhooks and the API","date":"2026-10-30T00:00:00.000Z","type":"API","breaking":false,"template":"../../@theme/Templates/ChangelogEntry","seo":{"title":"New webhooks"}},"lastModified":"2026-11-05T09:14:51.665Z","pagePropGetterError":{"message":"","name":""}},"slug":"/changelog/entries/2026-10-30-qes-verification-tracking","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}