{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Callbacks overview"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"callbacks-overview","__idx":0},"children":["Callbacks overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Kycaid sends callbacks to notify your system about events related to verifications, documents, forms, and services. Each callback is delivered as an HTTP POST request to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["callback_url"]}," you provide, with a JSON body describing the event."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"common-structure","__idx":1},"children":["Common structure"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Every callback includes a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}," field that identifies the event, for example ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VERIFICATION_COMPLETED"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DATABASE_SCREENING"]},". The rest of the payload depends on the callback type — see the individual pages in this section for the exact schema of each one."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"available-callbacks","__idx":2},"children":["Available callbacks"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Callback"},"children":["Callback"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Sent when"},"children":["Sent when"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/callbacks/database-screening"},"children":["Database screening"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A match is found in a blacklist database during ongoing monitoring"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/callbacks/document-expired"},"children":["Document expired"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A previously verified document reaches its expiration date"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/callbacks/service-result"},"children":["Service result"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["An asynchronous service request (for example, a crypto address or transaction check) completes"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/callbacks/form-url-expired"},"children":["Form URL expired"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A generated form URL passes its expiration time"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/callbacks/signed-documents"},"children":["Signed document"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A document is signed through Qualified Electronic Signature (QES)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/callbacks/transaction-screening-completed"},"children":["Transaction screening"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A transaction monitoring rule finishes evaluating a transaction"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/callbacks/ua-diia-auth-completed"},"children":["UA Diia auth completed"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A Diia authentication request completes"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/callbacks/verification-completed"},"children":["Verification completed"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A verification reaches a final status"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/callbacks/verification-status-changed"},"children":["Verification status changed"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A verification's status changes"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"response-and-retry-policy","__idx":3},"children":["Response and retry policy"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Your server must respond with an HTTP status code in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2xx"]}," range within ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["10 seconds"]}," to acknowledge a callback. If Kycaid does not receive such a response in time, the callback is retried at the following intervals: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1 minute"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["5 minutes"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["10 minutes"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["30 minutes"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1 hour"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3 hours"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["6 hours"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["12 hours"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["24 hours"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"verifying-callback-authenticity","__idx":4},"children":["Verifying callback authenticity"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To confirm that a callback genuinely came from Kycaid and wasn't sent or altered by a third party, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/callbacks/callback-integrity-verification"},"children":["Callback integrity verification"]},"."]}]},"headings":[{"value":"Callbacks overview","id":"callbacks-overview","depth":1},{"value":"Common structure","id":"common-structure","depth":2},{"value":"Available callbacks","id":"available-callbacks","depth":2},{"value":"Response and retry policy","id":"response-and-retry-policy","depth":2},{"value":"Verifying callback authenticity","id":"verifying-callback-authenticity","depth":2}],"frontmatter":{"seo":{"title":"Callbacks overview"}},"lastModified":"2026-09-17T11:18:07.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/callbacks/overview","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}