{
    "basePath": "http://api.basetax.co.uk/v4",
    "swaggerVersion": "1.2",
    "apiVersion": "1.0.0",
    "resourcePath": "/authenticates",
    "apis": [
        {
            "path": "/change-password",
            "operations": [
                {
                    "method": "POST",
                    "summary": "Change password for user authenticated",
                    "nickname": "changePassword",
                    "parameters": [
                        {
                            "paramType": "body",
                            "name": "body",
                            "type": "changePasswordObject",
                            "required": true,
                            "description": "Json Object"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                },
                {
                    "method": "POST",
                    "summary": "Change password for user authenticated",
                    "nickname": "changePassword",
                    "parameters": [
                        {
                            "paramType": "body",
                            "name": "body",
                            "type": "changePasswordObject",
                            "required": true,
                            "description": "Json Object"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/confirm-reset-password",
            "operations": [
                {
                    "method": "POST",
                    "summary": "Check token for reset password, was sent to user, whether is valid",
                    "nickname": "confirmResetPassword",
                    "parameters": [
                        {
                            "paramType": "query",
                            "name": "token",
                            "type": "string",
                            "required": true
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 200,
                            "message": "Successful"
                        },
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/forgot-password",
            "operations": [
                {
                    "method": "POST",
                    "summary": "Forgot Password: send email with a link to reset password",
                    "nickname": "forgotPassword",
                    "parameters": [
                        {
                            "paramType": "query",
                            "name": "email",
                            "type": "string",
                            "required": true
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 200,
                            "message": "Successful"
                        },
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/login",
            "operations": [
                {
                    "method": "POST",
                    "summary": "Login",
                    "nickname": "login",
                    "parameters": [
                        {
                            "paramType": "body",
                            "name": "body",
                            "type": "loginObject",
                            "required": true,
                            "description": "Json Object"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 200,
                            "message": "Successfully"
                        },
                        {
                            "code": 400,
                            "message": "Username/Password is Invalid | Have Error in System"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Account is not existing"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/logout",
            "operations": [
                {
                    "method": "POST",
                    "summary": "Logout",
                    "nickname": "changePassword"
                }
            ]
        },
        {
            "path": "/me",
            "operations": [
                {
                    "method": "GET",
                    "summary": "Get Me",
                    "nickname": "getMe",
                    "responseMessages": [
                        {
                            "code": 200,
                            "message": "Successfully"
                        },
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/register",
            "operations": [
                {
                    "method": "POST",
                    "summary": "Register",
                    "nickname": "register",
                    "parameters": [
                        {
                            "paramType": "body",
                            "name": "body",
                            "type": "registerObject",
                            "required": true,
                            "description": "Json Object"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        },
        {
            "path": "/reset-password",
            "operations": [
                {
                    "method": "POST",
                    "summary": "Reset Password",
                    "nickname": "resetPassword",
                    "parameters": [
                        {
                            "paramType": "body",
                            "name": "body",
                            "type": "resetPasswordObject",
                            "required": true,
                            "description": "Json Object"
                        }
                    ],
                    "responseMessages": [
                        {
                            "code": 400,
                            "message": "Invalid request params"
                        },
                        {
                            "code": 401,
                            "message": "Caller is not authenticated"
                        },
                        {
                            "code": 404,
                            "message": "Resource not found"
                        }
                    ]
                }
            ]
        }
    ],
    "models": {
        "registerObject": {
            "id": "registerObject",
            "properties": {
                "name": {
                    "type": "string",
                    "defaultValue": "Test"
                },
                "email": {
                    "type": "string",
                    "defaultValue": "test@test.com"
                },
                "password": {
                    "type": "string",
                    "defaultValue": "t3stB@s3t@x"
                },
                "confirm_password": {
                    "type": "string",
                    "defaultValue": "t3stB@s3t@x"
                },
                "user_type_id": {
                    "type": "integer",
                    "defaultValue": "1"
                }
            }
        },
        "loginObject": {
            "id": "loginObject",
            "properties": {
                "email": {
                    "type": "string",
                    "defaultValue": "basetax.test.001@gmail.com"
                },
                "password": {
                    "type": "string",
                    "defaultValue": "B@seT4x.t3sT.o01"
                },
                "is_remember": {
                    "type": "boolean",
                    "defaultValue": "false"
                }
            }
        },
        "resetPasswordObject": {
            "id": "resetPasswordObject",
            "properties": {
                "token": {
                    "type": "string"
                },
                "new_password": {
                    "type": "string"
                },
                "confirm_password": {
                    "type": "string"
                }
            }
        },
        "changePasswordObject": {
            "id": "changePasswordObject",
            "properties": {
                "password": {
                    "type": "string"
                },
                "new_password": {
                    "type": "string"
                },
                "confirm_password": {
                    "type": "string"
                }
            }
        }
    },
    "produces": [
        "application/json"
    ]
}