# How to use the Verification APIs

In combination with the Mobile or Web SDK (recommended)

The following diagram shows how to use the Verification APIs when using the iOS, Android or JavaScript SDKs to initiate a verification.

![verification.png](https://developers.sinch.com/images/verification/1ad7295-verification.png)

Important!
In this scenario, the *Verification Request* and *Report Verification* APIs don't need to be called explicitly by the app, since the SDK is handling that for you.

If you have configured a verification callback URL in the Sinch Portal (recommended), with every verification that's initiated by the app, Sinch will send a [Verification Request Event](https://developers.sinch.com/docs/verification/api-reference/verification/verification-callbacks/verificationrequestevent) to your backend, to get permission to perform the verification. If your backend allows the verification request to proceed, Sinch will trigger a flashcall, SMS or call towards the phone to be verified. Once the phone receives the flash-call, SMS or voice call, the SDK will report back the CLI or OTP respectively so that the Sinch dashboard can compare its validity. The Sinch backend responds with the result of the verification to the client and sends a [Verification Result Event](https://developers.sinch.com/docs/verification/api-reference/verification/verification-callbacks/verificationresultevent) to your backend. The status of a verification can also be queried ad-hoc by using the "Query Verification" APIs.