paths:
  /login:
    post:
      tags:
        - accountSetup
      summary: User login
      produces:
      - application/json
      parameters:
      - in: body
        name: Request parameters
        description: User login
        required: true
        schema:
          $ref: '#/definitions/login' 
      responses:
        200:
          description: An object with response status and data  
  
  /otpVerification:
    post:
      tags:
        - accountSetup
      summary: otpVerification
      produces:
      - application/json
      parameters:
      - in: body
        name: Request parameterss
        description: otpVerification
        required: true
        schema:
          $ref: '#/definitions/otpVerification' 
      responses:
        200:
          description: An object with response status and data

  /getOtp:
    post:
      tags:
        - accountSetup
      summary: getOtp
      produces:
      - application/json
      parameters:
      - in: body
        name: Request parameters
        description: getOtp
        required: true
        schema:
          $ref: '#/definitions/getOtp' 
      responses: 
        200:
          description: An object with response status and data

  /resetPassword:
    post:
      tags:
        - accountSetup
      security:  
       - Bearer : []
      summary: reset password
      produces:
      - application/json
      parameters:
      - in: body
        name: Request parameters
        description: reset password
        required: true
        schema:
          $ref: '#/definitions/resetPassword' 
      responses:
        200:
          description: An object with response status and data 

  /changePassword:
    post:
      tags:
        - accountSetup
      security:  
       - Bearer : []
      summary: change password
      produces:
      - application/json
      parameters:
      - in: body
        name: Request parameters
        description: change password
        required: true
        schema:
          $ref: '#/definitions/changePassword' 
      responses:
        200:
          description: An object with response status and data    

#=============================Definitions================================
definitions:

  login:
    type: object
    properties:
      phone_number:
        type: string
        required: true
        example: '9999999999'
      password:
        type: string
        required: true
        example: 'abcd@1234'
      login_type:
        type: string
        required: true
        example: 'password or otp'
  
  otpVerification:
    type: object
    properties:
      phone_number:
        type: string
        required: true
        example: '9999999999'
      verify_otp:
        type: string
        required: true
        example: '444444'
      verification_type:
        type: string
        required: true
        example: 'login or verify'

  getOtp:
    type: object
    properties:
      phone_number:
        type: string
        required: true
        example: '9999999999'

  resetPassword:
    type: object
    properties:
      phone_number:
        type: string
        required: true
        example: '9999999999'
      new_password:
        type: string
        required: true
        example: 'abcd@1234'
      confirm_password:
        type: string
        required: true
        example: 'abcd@1234'
  
  changePassword:
    type: object
    properties:
      old_password:
        type: string
        required: true
        example: 'test@123'
      new_password:
        type: string
        required: true
        example: 'abcd@1234'
      confirm_password:
        type: string
        required: true
        example: 'abcd@1234'