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

# Request OTP



## OpenAPI

````yaml /openapi/otp.json post /request
openapi: 3.0.3
info:
  title: Beem OTP API
  version: 1.0.0
  description: >-
    The Beem OTP API provides a simple and secure way for developers and
    businesses to verify customer mobile numbers using one-time passwords
    (OTPs). 
          This REST API currently supports sending and verifying one time passwords/pins (OTP) requests via SMS and WhatsApp channels.
  contact:
    name: Beem
    url: https://beem.africa
    email: support@beem.africa
servers:
  - url: https://apiotp.beem.africa/v1
    description: Production server
  - url: https://dev-otp.beem.africa/v1
    description: Staging server
security: []
tags: []
paths:
  /request:
    post:
      summary: Request OTP
      operationId: requestOtp
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      pinId:
                        description: OTP pin id
                        type: string
                        format: uuid
                        pattern: >-
                          ^([\[{\(]?)[0-9A-F]{8}([:-]?)[0-9A-F]{4}\2?[0-9A-F][0-9A-F]{3}\2?[0-9A-F][0-9A-F]{3}\2?[0-9A-F]{12}([\]}\)]?)$
                      message:
                        type: object
                        properties:
                          code:
                            description: API response code (100 = OTP sent successfully).
                            type: integer
                          message:
                            description: Human-readable status message.
                            type: string
                        additionalProperties: false
                        required:
                          - code
                          - message
                      pinExpiryTimeInMinutes:
                        description: Number of minutes before the OTP expires.
                        type: integer
                      expiresInSeconds:
                        description: Seconds remaining until the OTP expires.
                        type: integer
                    additionalProperties: false
                    required:
                      - pinId
                      - message
                      - pinExpiryTimeInMinutes
                      - expiresInSeconds
                additionalProperties: false
                required:
                  - data
        default:
          description: Successful response
      security:
        - basicAuth: []
        - accessToken: []
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: 'Beem API credentials: API key as username, API secret as password.'
    accessToken:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Access token only. Send as Authorization: <token> — do not use a Bearer
        prefix.

````