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

# Login



## OpenAPI

````yaml post /login
openapi: 3.1.0
info:
  version: 1.0.0
  title: Visaji - Auth API
  description: Authentication API for Visaji.com
servers:
  - url: https://api.visaji.com
security: []
paths:
  /login:
    post:
      requestBody:
        description: Success
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  minLength: 1
                  format: email
                password:
                  type: string
                  minLength: 1
                  maxLength: 255
              required:
                - email
                - password
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authorization Required
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: number
                    example: 401
                  message:
                    type: string
                    example: Unauthorized Error
                required:
                  - code
                  - message
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: number
                    example: 403
                  message:
                    type: string
                    example: Forbidden
                required:
                  - code
                  - message
components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: string
          example: '123'
        email:
          type: string
          example: joe@test.com
        password:
          type:
            - string
            - 'null'
          example: 1d51eda152c84347103ad7bcb1e85e96
        phone:
          type:
            - string
            - 'null'
          example: 123-456-7890
        photoUrl:
          type:
            - string
            - 'null'
          example: https://cdn.visaji.com/photo.png
        displayName:
          type:
            - string
            - 'null'
        emailVerifiedAt:
          type:
            - string
            - 'null'
        phoneVerifiedAt:
          type:
            - string
            - 'null'
        updatedAt:
          type:
            - string
            - 'null'
        createdAt:
          type: string
      required:
        - email
    Error:
      type: object
      properties:
        code:
          type: number
          example: 400
        message:
          type: string
          example: Bad Request
      required:
        - code
        - message

````