{
    "openapi": "3.0.0",
    "info": {
        "title": "Eclassify API",
        "description": "Eclassify api documentation",
        "version": "1.0.0"
    },
    "paths": {
        "/api/get-otp": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Send OTP for registration",
                "operationId": "9665576026de3c8975fefbf59380584a",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "phone",
                                    "device_type",
                                    "password"
                                ],
                                "properties": {
                                    "firstname": {
                                        "type": "string",
                                        "example": "Devit"
                                    },
                                    "lastname": {
                                        "type": "string",
                                        "example": "Togo"
                                    },
                                    "phone": {
                                        "type": "string",
                                        "example": "901234567"
                                    },
                                    "password": {
                                        "type": "string",
                                        "example": "1234"
                                    },
                                    "device_type": {
                                        "type": "string",
                                        "example": "android"
                                    },
                                    "fcm_token": {
                                        "type": "string",
                                        "example": "token_here"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OTP sent successfully"
                    }
                }
            }
        },
        "/api/verify-otp": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Verify OTP code",
                "operationId": "1f09b8b2173f8afbe842b19937649fbb",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "phone",
                                    "otp"
                                ],
                                "properties": {
                                    "phone": {
                                        "type": "string",
                                        "example": "998901234567"
                                    },
                                    "otp": {
                                        "type": "integer",
                                        "example": 1234
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Phone verified successfully"
                    }
                }
            }
        },
        "/api/login": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "User login",
                "operationId": "dcf90ce65219b0ad51fc32e9f7f69843",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "phone",
                                    "password",
                                    "device_type"
                                ],
                                "properties": {
                                    "phone": {
                                        "type": "string",
                                        "example": "998901234567"
                                    },
                                    "password": {
                                        "type": "string",
                                        "example": "1234"
                                    },
                                    "device_type": {
                                        "type": "string",
                                        "example": "android"
                                    },
                                    "fcm_token": {
                                        "type": "string",
                                        "example": "token_here"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Login successful",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "token": {
                                            "type": "string",
                                            "example": "1|abcdefg123456"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/profile": {
            "get": {
                "tags": [
                    "Auth"
                ],
                "summary": "Get user profile",
                "operationId": "4ed7ca3229d16b0b14785695794359e6",
                "responses": {
                    "200": {
                        "description": "Profile data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "example": 1
                                        },
                                        "firstname": {
                                            "type": "string",
                                            "example": "Ali"
                                        },
                                        "lastname": {
                                            "type": "string",
                                            "example": "Valiyev"
                                        },
                                        "phone": {
                                            "type": "string",
                                            "example": "998901234567"
                                        },
                                        "email": {
                                            "type": "string",
                                            "example": "test@gmail.com"
                                        },
                                        "device_type": {
                                            "type": "string",
                                            "example": "android"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/logout": {
            "get": {
                "tags": [
                    "Auth"
                ],
                "summary": "Logout user",
                "operationId": "edf2b3b2f5fefa33e2fd224d2f2505c4",
                "responses": {
                    "200": {
                        "description": "Logged out successfully"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        }
    },
    "components": {
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "bearerFormat": "JWT",
                "scheme": "bearer"
            }
        }
    },
    "tags": [
        {
            "name": "Auth",
            "description": "Auth"
        }
    ]
}