> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monime.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Ussd Otp

A **USSD OTP** represents a **one-time passcode session** used to authenticate users through a USSD dial flow.\
It enables secure, **phone-bound verification**, ensuring that the person interacting via USSD is the legitimate account holder.

In addition to generating and validating the OTP, the flow may include **user-facing feedback messages** that confirm the process.

***

<ResponseExample>
  ```json JSON Model theme={null}
  {
      "id": null,
      "status": "pending",
      "dialCode": null,
      "authorizedPhoneNumber": null,
      "verificationMessage": null,
      "createTime": null,
      "expireTime": null,
      "metadata": null
  }
  ```
</ResponseExample>

<ResponseField name="📋" type="Properties">
  <ResponseField name="id" type="string">
    **Unique identifier** for this USSD OTP session.
  </ResponseField>

  <ResponseField name="status" type="enum<string>">
    **Status** of the OTP session. One of:

    * pending: Awaiting verification.
    * verified: OTP was successfully confirmed.
    * expired: OTP expired before verification.

    Available options: <code>pending</code> <code>verified</code> <code>expired</code>
  </ResponseField>

  <ResponseField name="dialCode" type="string">
    **USSD dial code** that the user should dial (e.g., \*715\*12345#) to initiate the OTP verification.
  </ResponseField>

  <ResponseField name="authorizedPhoneNumber" type="string">
    **Authorized phone number** (MSISDN) associated with this OTP. May be masked for privacy.
  </ResponseField>

  <ResponseField name="verificationMessage" type="string">
    **Message** shown to the user after successful verification, typically rendered on the USSD interface.

    MaxLength: <code>255</code>
  </ResponseField>

  <ResponseField name="createTime" type="string">
    Timestamp when this OTP session was created.
  </ResponseField>

  <ResponseField name="expireTime" type="string">
    **Expiration time** after which the OTP becomes invalid.
  </ResponseField>

  <ResponseField name="metadata" type="object">
    **Optional metadata** for attaching additional context or tracking info to this OTP session.
  </ResponseField>
</ResponseField>
