Otp

Send a one-time passcode (OTP) to a User's WhatsApp using their phone number. If the phone number is not associated with a User already, a User will be created.

Cost to send SMS OTP

Before configuring SMS or WhatsApp OTPs, please review how Stytch bills the costs of international OTPs and understand how to protect your app against toll fraud.

Next steps

Collect the OTP which was delivered to the User. Call Authenticate OTP using the OTP code along with the phone_id found in the response as the method_id.

post/v1/otps/whatsapp/login_or_create

Request

  • Base URL
    https://api.stytch.com
  • Auth
    HTTP basic

Request body

phone_numberstring required

The phone number to use for one-time passcodes. The phone number should be in E.164 format (i.e. +1XXXXXXXXXX). You may use +10000000000 to test this endpoint, see Testing for more detail.

expiration_minutesinteger

Set the expiration for the one-time passcode, in minutes. The minimum expiration is 1 minute and the maximum is 10 minutes. The default expiration is 2 minutes.

create_user_as_pendingboolean

Flag for whether or not to save a user as pending vs active in Stytch. Defaults to false. If true, users will be saved with status pending in Stytch's backend until authenticated. If false, users will be created as active. An example usage of a true flag would be to require users to verify their phone by entering the OTP code before creating an account for them.

locale'en' | 'es' | 'pt-br' | 'fr' | 'it' | 'de-DE' | 'zh-Hans' | 'ca-ES' | 'ja' | 'ru' | 'nl' | 'pl' | 'tr' | 'fa' | 'vi' | 'cs'

Response

Successful response

request_idstring required

Globally unique UUID that is returned with every API call. This value is important to log for debugging purposes; we may ask for this value to help identify a specific API call when helping you debug an issue.

user_idstring required

The unique ID of the affected User.

phone_idstring required

The unique ID for the phone number.

user_createdboolean required

In login_or_create endpoints, this field indicates whether or not a User was just created.

status_codeinteger required

The HTTP status code of the response. Stytch follows standard HTTP response status code patterns, e.g. 2XX values equate to success, 3XX values are redirects, 4XX are client errors, and 5XX are server errors.

Changes

    • info

      added the new ca-ES enum value to the request property

    • info

      added the new cs enum value to the request property

    • info

      added the new de-DE enum value to the request property

    • info

      added the new fa enum value to the request property

    • info

      added the new it enum value to the request property

    • info

      added the new ja enum value to the request property

    • info

      added the new nl enum value to the request property

    • info

      added the new pl enum value to the request property

    • info

      added the new ru enum value to the request property

    • info

      added the new tr enum value to the request property

    • info

      added the new vi enum value to the request property

    • info

      added the new zh-Hans enum value to the request property

    • info

      endpoint added