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

# Verify OTP

> Verify POS login otp. Login to POS device using phone.  The endpoint requires authentication with an API key that has the scope set to 'storefront' for a particular store.



## OpenAPI

````yaml post /pos/auth/verify-otp
openapi: 3.1.0
info:
  version: '1.0'
  title: CE Storefront APIs
  summary: Customer-facing e-commerce API for building exceptional shopping experiences
  description: >-
    Public-facing API for Commerce Engine storefronts, enabling seamless
    shopping experiences with product browsing, cart management, checkout
    processing, user accounts, and order tracking. Perfect for building web,
    mobile, and headless commerce applications.
  contact:
    name: Support
    email: support@commercengine.io
    url: https://www.commercengine.io/contact-us
  license:
    url: https://www.commercengine.io/contact-us
    name: All Rights Reserved
servers:
  - url: https://staging.api.commercengine.io/api/v1/{store_id}/storefront
    description: Staging Server
    variables:
      store_id:
        description: Store ID
        default: store_id
    x-speakeasy-server-id: staging
  - url: https://prod.api.commercengine.io/api/v1/{store_id}/storefront
    description: Prod Server
    variables:
      store_id:
        description: Store ID
        default: store_id
    x-speakeasy-server-id: prod
security: []
tags:
  - name: Analytics
    description: Analytics
  - name: Auth
    description: auth
  - name: Campaigns
    description: Campaigns
  - name: Carts
    description: Carts
  - name: Catalog
    description: Catalog
  - name: Common
    description: Common
  - name: Coupons & promotions
    description: Coupons & promotions
  - name: Customers
    description: Customers
  - name: Juspay
    description: Juspay Payments
  - name: KYC
    description: KYC
  - name: Marketplace
    description: Marketplace
  - name: Orders
    description: Orders
  - name: Others
    description: Others
  - name: Payments
    description: Payments
  - name: PayU
    description: PayU Payments
  - name: POS
    description: POS
  - name: Shipping
    description: Shipping
  - name: Store
    description: Store
  - name: Subscriptions
    description: Subscriptions
externalDocs:
  url: https://llm-docs.commercengine.io
  description: Commerce Engine API Reference Documentation
paths:
  /pos/auth/verify-otp:
    parameters: []
    post:
      tags:
        - POS
      summary: Verify OTP
      description: >-
        Verify POS login otp. Login to POS device using phone.  The endpoint
        requires authentication with an API key that has the scope set to
        'storefront' for a particular store.
      operationId: verify-pos-login-otp
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - otp
                - otp_token
                - otp_action
              properties:
                otp:
                  description: A string representing the one-time password.
                  type: string
                otp_token:
                  description: A string representing the OTP token.
                  type: string
                otp_action:
                  description: A string indicating the action to be performed.
                  enum:
                    - login
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                  - success
                  - content
                properties:
                  message:
                    type: string
                  success:
                    type: boolean
                  content:
                    properties:
                      user:
                        $ref: '#/components/schemas/PosUser'
                      access_token:
                        type: string
                      refresh_token:
                        type: string
                    required:
                      - user
                      - access_token
                      - refresh_token
                    type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      security:
        - X-Api-Key: []
      externalDocs:
        url: >-
          https://llm-docs.commercengine.io/storefront/operations/verify-pos-login-otp
        description: API reference for the verify-pos-login-otp operation
components:
  schemas:
    PosUser:
      title: PosUser
      type: object
      externalDocs:
        url: https://llm-docs.commercengine.io/storefront/schemas/PosUser
        description: API reference for the PosUser schema
      required:
        - id
        - first_name
        - last_name
        - phone
        - email
        - channel
        - device
        - location
        - roles
      properties:
        id:
          type: string
        first_name:
          type: string
        last_name:
          type:
            - string
            - 'null'
        phone:
          type: string
        email:
          type: string
          format: email
        channel:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
          required:
            - id
            - name
        device:
          type:
            - object
            - 'null'
          properties:
            id:
              type: string
            name:
              type: string
          required:
            - id
            - name
        location:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
          required:
            - id
            - name
        roles:
          type: array
          items:
            type: object
            required:
              - location_id
              - location_name
            properties:
              location_id:
                type: string
              location_name:
                type: string
              role_id:
                type: string
              role_name:
                type: string
  responses:
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            type: object
            required:
              - message
              - success
              - code
            properties:
              message:
                type: string
                x-speakeasy-error-message: true
              success:
                type: boolean
              code:
                type: string
              error:
                type: object
    Unauthorized:
      description: Not authorized for given operation on the Resource
      content:
        application/json:
          schema:
            type: object
            required:
              - message
              - success
              - code
            properties:
              message:
                type: string
                examples:
                  - Not authorized for given operation on the Resource.
                x-speakeasy-error-message: true
              success:
                type: boolean
                default: false
              code:
                type: string
                examples:
                  - unauthorized
  securitySchemes:
    X-Api-Key:
      type: apiKey
      description: API key for your store
      name: X-Api-Key
      in: header

````