<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://docs.callproof.com/index.php?action=history&amp;feed=atom&amp;title=Send_OTP</id>
	<title>Send OTP - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://docs.callproof.com/index.php?action=history&amp;feed=atom&amp;title=Send_OTP"/>
	<link rel="alternate" type="text/html" href="http://docs.callproof.com/index.php?title=Send_OTP&amp;action=history"/>
	<updated>2026-07-15T14:12:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>http://docs.callproof.com/index.php?title=Send_OTP&amp;diff=1551&amp;oldid=prev</id>
		<title>Ashley DeBon: Created page with &quot;== Send Two-Factor Verification Code ==  === Base URL === https://apimobile.callproof.com  === Endpoint === /api/v1/verify-code  === Purpose === Sends a six-digit verification...&quot;</title>
		<link rel="alternate" type="text/html" href="http://docs.callproof.com/index.php?title=Send_OTP&amp;diff=1551&amp;oldid=prev"/>
		<updated>2026-07-15T12:11:52Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Send Two-Factor Verification Code ==  === Base URL === https://apimobile.callproof.com  === Endpoint === /api/v1/verify-code  === Purpose === Sends a six-digit verification...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Send Two-Factor Verification Code ==&lt;br /&gt;
&lt;br /&gt;
=== Base URL ===&lt;br /&gt;
https://apimobile.callproof.com&lt;br /&gt;
&lt;br /&gt;
=== Endpoint ===&lt;br /&gt;
/api/v1/verify-code&lt;br /&gt;
&lt;br /&gt;
=== Purpose ===&lt;br /&gt;
Sends a six-digit verification code to a registered user&amp;#039;s email address.&lt;br /&gt;
&lt;br /&gt;
The code is used to complete two-factor authentication for mobile access. The API supports both initial code requests and resend requests.&lt;br /&gt;
&lt;br /&gt;
Request limits are applied separately to initial and resend requests. Normally, up to three requests of each type may be made per day.&lt;br /&gt;
&lt;br /&gt;
=== HTTP Method ===&lt;br /&gt;
POST&lt;br /&gt;
&lt;br /&gt;
=== Headers ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Header !! Required !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Authorization || Yes || Bearer access token.&lt;br /&gt;
|-&lt;br /&gt;
| Content-Type || Yes || &amp;lt;code&amp;gt;application/x-www-form-urlencoded&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;application/json&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;&amp;#039; – Requires Bearer Token authentication.&lt;br /&gt;
* The access token must be active and unexpired.&lt;br /&gt;
* The authenticated user and associated company account must be active.&lt;br /&gt;
* Completed two-factor verification is not required to call this endpoint.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
==== Request Body Fields ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter !! Type !! Required !! Description&lt;br /&gt;
|-&lt;br /&gt;
| email || string || Yes || A registered email address that will receive the verification code.&lt;br /&gt;
|-&lt;br /&gt;
| type || string || Yes || Indicates whether to send an initial code or resend a code.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Supported Type Values ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Value !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| send-verification-code || Sends an initial verification code.&lt;br /&gt;
|-&lt;br /&gt;
| resend-verification-code || Sends another verification code.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Successful Response (200) ===&lt;br /&gt;
Confirms that a six-digit verification code was generated and sent to the supplied registered email address.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Response Field !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| clientStatusCode || integer || Business-level response status. A successful request returns &amp;lt;code&amp;gt;200&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| user_id || integer || The authenticated user&amp;#039;s unique identifier.&lt;br /&gt;
|-&lt;br /&gt;
| company_id || integer || The company associated with the authenticated user.&lt;br /&gt;
|-&lt;br /&gt;
| message || string || Confirmation message. The successful value is &amp;lt;code&amp;gt;Verification Code Sent Successfully&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| uri || string || The URL of the verification-code request.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Error Responses ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! HTTP Status Code !! Client Status Code !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 401 || The required &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt; field was not supplied.&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 401 || The required &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; field was not supplied.&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 401 || The supplied email address is not registered.&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 400 || The verification-code request limit was reached.&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 400 || The supplied &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; value is unsupported.&lt;br /&gt;
|-&lt;br /&gt;
| 200 || 400 || The verification email could not be sent.&lt;br /&gt;
|-&lt;br /&gt;
| 401 || 401 || The Bearer token is missing or invalid.&lt;br /&gt;
|-&lt;br /&gt;
| 401 || 401 || The access token has expired.&lt;br /&gt;
|-&lt;br /&gt;
| 401 || 401 || The authenticated user or company account is disabled.&lt;br /&gt;
|-&lt;br /&gt;
| 401 || 401 || A required client application update must be installed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Error Response Fields ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Response Field !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| clientStatusCode || integer || The business-level error status, commonly &amp;lt;code&amp;gt;400&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;401&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| error.code || integer || The business error code.&lt;br /&gt;
|-&lt;br /&gt;
| error.message || string || A plain-language explanation of why the verification code could not be sent.&lt;br /&gt;
|-&lt;br /&gt;
| uri || string || The URL of the request.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Common Error Codes ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Error Code !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| 1500 || Authentication, validation, email lookup, or code-delivery failure.&lt;br /&gt;
|-&lt;br /&gt;
| 1800 || The user or company account is disabled.&lt;br /&gt;
|-&lt;br /&gt;
| 8000 || The access token has expired.&lt;br /&gt;
|-&lt;br /&gt;
| 9000 || A required client application update is available.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ashley DeBon</name></author>
		
	</entry>
</feed>