{
    "openapi": "3.0.0",
    "info": {
        "title": "smile.com.au API Documentation",
        "description": "Smile.com.au API Documentation",
        "contact": {
            "email": "admin@admin.com"
        },
        "license": {
            "name": "Apache 2.0",
            "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
        },
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "https://www.smile.com.au",
            "description": "Smile.com.au API Server"
        }
    ],
    "paths": {
        "/api/v1/login": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Log in",
                "description": "Login by email, password",
                "operationId": "authLogin",
                "requestBody": {
                    "description": "Login Request by email, password",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    },
                                    "password": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Login Successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The Given field is required."
                    }
                }
            }
        },
        "/api/v1/logout": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Logout",
                "description": "Logout user",
                "operationId": "authLogout",
                "requestBody": {
                    "description": "User Logout Request",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successfully logged out",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "Bearer": []
                    }
                ]
            }
        },
        "/api/v1/refresh-token": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Refresh Token",
                "description": "Refresh auth user token",
                "operationId": "authRefreshToken",
                "requestBody": {
                    "description": "Refresh auth user token",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successfully refreshed token",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "Bearer": []
                    }
                ]
            }
        },
        "/api/v1/social/login/{type}": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Social Login",
                "description": "type values could be facebook, google",
                "operationId": "authSocialLogin",
                "requestBody": {
                    "description": "Social Login",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successfully Logged in",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/dentists": {
            "post": {
                "tags": [
                    "Dentists"
                ],
                "summary": "List Dentists",
                "description": "List Dentists",
                "operationId": "index",
                "requestBody": {
                    "description": "List Dentists",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "List Dentists",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/favourites": {
            "post": {
                "tags": [
                    "Dentists"
                ],
                "summary": "Get my Favourites",
                "description": "Get my Favourites for logged in user",
                "operationId": "favourites",
                "requestBody": {
                    "description": "Get my Favourites for logged in user",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get my Favourites",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/favourites/{practice}/{action}": {
            "post": {
                "tags": [
                    "Dentists"
                ],
                "summary": "Set My Favourite Dentist",
                "description": "Set My Favourite Dentist | action can be add or remove | practice should be valid practice_id",
                "operationId": "updatefavourites",
                "requestBody": {
                    "description": "Set My Favourite Dentist",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Set My Favourite Dentist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/practices/latest": {
            "post": {
                "tags": [
                    "Dentists"
                ],
                "summary": "Get Practices Latest",
                "description": "Get Practices Latest",
                "operationId": "latestPractices",
                "requestBody": {
                    "description": "Set My Favourite Dentist",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "last_updated": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Set My Favourite Dentist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/dentists/{id}/detail": {
            "post": {
                "tags": [
                    "Dentists"
                ],
                "summary": "Get Dentists detail",
                "description": "Get Dentists detail",
                "operationId": "dentistsDetail",
                "requestBody": {
                    "description": "Get Dentists detail",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get Dentists detail",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/dentists/feedback": {
            "post": {
                "tags": [
                    "Dentists"
                ],
                "summary": "Submit Dentist Feedback",
                "description": "Submit Dentist Feedback",
                "operationId": "dentistsFeedback",
                "requestBody": {
                    "description": "Submit Dentist Feedback",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "practice_id": {
                                        "type": "string"
                                    },
                                    "dentist_id": {
                                        "type": "string"
                                    },
                                    "recommend_practice_rate": {
                                        "type": "string"
                                    },
                                    "recommend_dentist_rate": {
                                        "type": "string"
                                    },
                                    "recommend_smile_rate": {
                                        "type": "string"
                                    },
                                    "improvement_practice": {
                                        "type": "string"
                                    },
                                    "improvement_dentist": {
                                        "type": "string"
                                    },
                                    "improvement_smile": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Submit Dentist Feedback",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/dependents": {
            "post": {
                "tags": [
                    "Dependents"
                ],
                "summary": "Get Dependents",
                "description": "Get Dependents",
                "operationId": "index",
                "requestBody": {
                    "description": "Get Dependents",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get Dependents",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/dependents/{id}/edit": {
            "post": {
                "tags": [
                    "Dependents"
                ],
                "summary": "Edit Dependents",
                "description": "Edit Dependents",
                "operationId": "edit",
                "requestBody": {
                    "description": "Edit Dependents",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get Dependents",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                }
            }
        },
        "/api/v1/dependents/{id}/update": {
            "post": {
                "tags": [
                    "Dependents"
                ],
                "summary": "Update Dependents",
                "description": "Update Dependents",
                "operationId": "update",
                "requestBody": {
                    "description": "Update User Dependents",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "first_name": {
                                        "type": "string"
                                    },
                                    "last_name": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "integer",
                                        "example": "9876543210"
                                    },
                                    "date_of_birth": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get Dependents",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/dependents/store": {
            "post": {
                "tags": [
                    "Dependents"
                ],
                "summary": "Add Dependents",
                "description": "Add Dependents",
                "operationId": "store",
                "requestBody": {
                    "description": "Add Dependents",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "first_name": {
                                        "type": "string"
                                    },
                                    "last_name": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "integer",
                                        "example": "9876543210"
                                    },
                                    "date_of_birth": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get Dependents",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/dependents/{id}/delete": {
            "post": {
                "tags": [
                    "Dependents"
                ],
                "summary": "Delete Dependents",
                "description": "Delete Dependents",
                "operationId": "delete",
                "requestBody": {
                    "description": "Delete Dependents",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Delete Dependents",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/dependents/type": {
            "post": {
                "tags": [
                    "Dependents"
                ],
                "summary": "Get Dependent Type",
                "description": "Get Dependent Type",
                "operationId": "Type",
                "requestBody": {
                    "description": "Get Dependent Type",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get Dependent Type",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/event": {
            "post": {
                "tags": [
                    "CustomField"
                ],
                "summary": "Update Custom Field",
                "description": "Update Custom Field",
                "operationId": "updateCustomField",
                "requestBody": {
                    "description": "Update Custom Field",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "custom_field_name": {
                                        "type": "string"
                                    },
                                    "custom_field_value": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Update Custom Field",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    },
                    "404": {
                        "description": "."
                    }
                }
            }
        },
        "/api/v1/forget-password": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Forget Password",
                "description": "Forget Password",
                "operationId": "forgetPassword",
                "requestBody": {
                    "description": "Forget Password",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "We have emailed your password reset link",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "We can't find a user with that email address."
                    }
                }
            }
        },
        "/api/v1/easy-login": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Easy Login",
                "description": "Easy Login",
                "operationId": "easyLogin",
                "requestBody": {
                    "description": "Easy Login",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "We have emailed your password reset link",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "response": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "We can't find a user with that email address."
                    }
                }
            }
        },
        "/api/v1/resend_activation_sms": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Resend Activation sms",
                "description": "Resend Activation sms",
                "operationId": "activationSms",
                "requestBody": {
                    "description": "Resend Activation sms",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "We have sent sms including your activation link",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "response": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "We can't find a user with that email address."
                    }
                }
            }
        },
        "/api/v1/dashboard": {
            "post": {
                "tags": [
                    "Dashboard"
                ],
                "summary": "Get dashboard content",
                "description": "Get dashboard content",
                "operationId": "DashboardContent",
                "requestBody": {
                    "description": "Get dashboard content",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get dashboard content",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/invite/all": {
            "post": {
                "tags": [
                    "Invite Member"
                ],
                "summary": "Get Invitation Codes with Member Detail",
                "description": "Get Invitation Codes with Member Detail",
                "operationId": "index",
                "requestBody": {
                    "description": "Get Invitation Codes with Member Detail",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get Invitation Codes with Member Detail",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/invite/store": {
            "post": {
                "tags": [
                    "Invite Member"
                ],
                "summary": "Invite User",
                "description": "Invite user for membership join",
                "operationId": "store",
                "requestBody": {
                    "description": "Invite Request for membership join",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "dependent_id": {
                                        "type": "integer",
                                        "example": "xxxxxx"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Invite user for membership join",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/re-invite": {
            "post": {
                "tags": [
                    "Invite Member"
                ],
                "summary": "Reinvite User",
                "description": "Re-Invite user for membership join",
                "operationId": "reInvite",
                "requestBody": {
                    "description": "Re-Invite Request for membership join",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Re-Invite user for membership join",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Unprocessable Entity"
                    }
                }
            }
        },
        "/api/v1/invite/status": {
            "post": {
                "tags": [
                    "Invite Member"
                ],
                "summary": "Get Invitation Status",
                "description": "Get Invitation Status",
                "operationId": "status",
                "requestBody": {
                    "description": "Get Invitation Status",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "code": {
                                        "type": "integer",
                                        "example": "123456"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get Invitation Status",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Invitation code is invalid."
                    }
                }
            }
        },
        "/api/v1/invite/delete": {
            "post": {
                "tags": [
                    "Invite Member"
                ],
                "summary": "Delete Invitation Code",
                "description": "Delete Invitation Code",
                "operationId": "delete",
                "requestBody": {
                    "description": "Get Invitation Status",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "code": {
                                        "type": "integer",
                                        "example": "123456"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Delete Invitation Code",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Invitation code is invalid."
                    }
                }
            }
        },
        "/api/v1/cover/join/1": {
            "post": {
                "tags": [
                    "Join Cover"
                ],
                "summary": "Validate Invite code",
                "description": "Validate Invite code",
                "operationId": "step1",
                "requestBody": {
                    "description": "Invitation code is valid",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "code": {
                                        "type": "integer",
                                        "example": "123456"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Invitation code is valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Invitation code is invalid or expired."
                    }
                }
            }
        },
        "/api/v1/cover/join/2": {
            "post": {
                "tags": [
                    "Join Cover"
                ],
                "summary": "Invite details update",
                "description": "Invite details update",
                "operationId": "step2",
                "requestBody": {
                    "description": "Invite details update",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "token": {
                                        "type": "string"
                                    },
                                    "first_name": {
                                        "type": "string"
                                    },
                                    "last_name": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "integer",
                                        "example": "9876543210"
                                    },
                                    "date_of_birth": {
                                        "type": "string"
                                    },
                                    "address_postcode": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Invite detail successfully updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/cover/join/resend/code": {
            "post": {
                "tags": [
                    "Join Cover"
                ],
                "summary": "Resend Code",
                "description": "Resend Code",
                "operationId": "resendCode",
                "requestBody": {
                    "description": "Resend Code",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "token": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Verification code successfully sent",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Invitation token is invalid or expired."
                    }
                }
            }
        },
        "/api/v1/cover/join/validate/code": {
            "post": {
                "tags": [
                    "Join Cover"
                ],
                "summary": "Validate Code",
                "description": "Validate Code",
                "operationId": "validateCode",
                "requestBody": {
                    "description": "Validate Code",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "token": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "integer",
                                        "example": "123456"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Phone number verified successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/cover/join/register": {
            "post": {
                "tags": [
                    "Join Cover"
                ],
                "summary": "Setup Password",
                "description": "Setup Password",
                "operationId": "step3",
                "requestBody": {
                    "description": "Setup Password",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "token": {
                                        "type": "string"
                                    },
                                    "password": {
                                        "type": "string"
                                    },
                                    "password_confirmation": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "User successfully registered",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/cover/register": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Register User",
                "description": "Register User",
                "operationId": "register",
                "requestBody": {
                    "description": "User Register Request",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    },
                                    "first_name": {
                                        "type": "string"
                                    },
                                    "last_name": {
                                        "type": "string"
                                    },
                                    "password": {
                                        "type": "string"
                                    },
                                    "password_confirmation": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "User basic info updated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/register/promo": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Register User Promo Request",
                "description": "Register User Promo Request",
                "operationId": "registerPromo",
                "requestBody": {
                    "description": "Register User Promo Request",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    },
                                    "first_name": {
                                        "type": "string"
                                    },
                                    "last_name": {
                                        "type": "string"
                                    },
                                    "password": {
                                        "type": "string"
                                    },
                                    "password_confirmation": {
                                        "type": "string"
                                    },
                                    "referrer": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Register User Promo Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/cover/basic-info": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Update Basic Info",
                "description": "Update Basic Info",
                "operationId": "updateBasicInfo",
                "requestBody": {
                    "description": "Update Basic Info params",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "first_name": {
                                        "type": "string"
                                    },
                                    "last_name": {
                                        "type": "string"
                                    },
                                    "phone_number": {
                                        "type": "string"
                                    },
                                    "date_of_birth": {
                                        "type": "string"
                                    },
                                    "address_postcode": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "User basic info updated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/cover/plans": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Get all plans",
                "description": "Get all plans",
                "operationId": "updateUser",
                "requestBody": {
                    "description": "Get all plans params",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get all plans",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/cover/plans/user": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Get user plan",
                "description": "Get user plan",
                "operationId": "getUserPlan",
                "requestBody": {
                    "description": "Get user plan params",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get user plan",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/cover/payment-intent": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Create payment intent",
                "description": "Create payment intent",
                "operationId": "paymentIntent",
                "requestBody": {
                    "description": "Create payment intent",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "user_id": {
                                        "type": "integer"
                                    },
                                    "cover_type_id": {
                                        "type": "integer"
                                    },
                                    "promo_code": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Payment intent created successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/cover/payment-status": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Update Subscription Status",
                "description": "Update Subscription Status",
                "operationId": "paymentResult",
                "requestBody": {
                    "description": "Update Subscription Status",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "subscription_id": {
                                        "type": "integer"
                                    },
                                    "payment_result": {
                                        "type": "string"
                                    },
                                    "amount": {
                                        "type": "integer"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Update Subscription Status",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/join/1": {
            "post": {
                "tags": [
                    "Join User"
                ],
                "summary": "Validate Invite code",
                "description": "Validate Invite code",
                "operationId": "step1",
                "requestBody": {
                    "description": "Invitation code is valid",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "code": {
                                        "type": "integer",
                                        "example": "123456"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Invitation code is valid",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Invitation code is invalid or expired."
                    }
                }
            }
        },
        "/api/v1/join/2": {
            "post": {
                "tags": [
                    "Join Cover - Primary Member"
                ],
                "summary": "Validate Code",
                "description": "Validate Code",
                "operationId": "validateCode",
                "requestBody": {
                    "description": "Validate Code",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "token": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "integer",
                                        "example": "123456"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Phone number verified successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/join/resend/code": {
            "post": {
                "tags": [
                    "Join Cover - Primary Member"
                ],
                "summary": "Resend Code",
                "description": "Resend Code",
                "operationId": "resendCode",
                "requestBody": {
                    "description": "Resend Code",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "token": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Verification code successfully sent",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "token is invalid or expired."
                    }
                }
            }
        },
        "/api/v1/join/5": {
            "post": {
                "tags": [
                    "Join Cover - Primary Member"
                ],
                "summary": "Setup Password",
                "description": "Setup Password",
                "operationId": "setupPassword",
                "requestBody": {
                    "description": "Setup Password",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "token": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Verification code successfully sent",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "token is invalid or expired."
                    }
                }
            }
        },
        "/api/v1/join/4": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Create join payment intent",
                "description": "Create join payment intent",
                "operationId": "joinPaymentIntent",
                "requestBody": {
                    "description": "Create join payment intent",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "user_id": {
                                        "type": "integer"
                                    },
                                    "cover_type_id": {
                                        "type": "integer"
                                    },
                                    "promo_code": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Payment intent created successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/cover/stripe/register": {
            "post": {
                "tags": [
                    "stripeRegister"
                ],
                "summary": "Create Stripe Customer ID",
                "description": "Create Stripe Customer ID",
                "operationId": "stripeRegister",
                "requestBody": {
                    "description": "Create Stripe Customer ID",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "user_id": {
                                        "type": "integer"
                                    },
                                    "cover_type_id": {
                                        "type": "integer"
                                    },
                                    "promo_code": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Customer successfully register.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/membership/request": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Listing membership requests",
                "description": "Listing membership requests",
                "operationId": "index",
                "requestBody": {
                    "description": "Listing membership requests",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Listing membership requests",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/membership/request/create": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Create membership request",
                "description": "Create membership request",
                "operationId": "create",
                "requestBody": {
                    "description": "Create membership request",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "membership_number": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Membership request successfully created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/membership/request/update": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Update membership request",
                "description": "Update membership request",
                "operationId": "update",
                "requestBody": {
                    "description": "Update membership request",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "status": {
                                        "type": "string"
                                    },
                                    "request_id": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Membership request successfully approved / declined",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/membership/request/cancel": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Cancel membership request",
                "description": "Cancel membership request",
                "operationId": "cancel",
                "requestBody": {
                    "description": "Cancel membership request",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "membership_number": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Membership request successfully cancelled",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/jobs": {
            "post": {
                "tags": [
                    "OCR Job"
                ],
                "summary": "Listing User OCR Jobs",
                "description": "Listing User OCR Jobs",
                "operationId": "index",
                "requestBody": {
                    "description": "Listing OCR Jobs",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Listing OCR Job",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/jobs/create": {
            "post": {
                "tags": [
                    "OCR Job"
                ],
                "summary": "Create OCR Job",
                "description": "Create OCR Job",
                "operationId": "store",
                "requestBody": {
                    "description": "Create OCR Job",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Create OCR Job",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/jobs/status": {
            "post": {
                "tags": [
                    "OCR Job"
                ],
                "summary": "Get OCR Job Status",
                "description": "Get OCR Job Status",
                "operationId": "getJobStatus",
                "requestBody": {
                    "description": "Get OCR Job Status",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "job_id": {
                                        "type": "integer"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get OCR Job Status",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    },
                    "404": {
                        "description": "Job not found."
                    }
                }
            }
        },
        "/api/v1/jobs/status/update": {
            "post": {
                "tags": [
                    "OCR Job"
                ],
                "summary": "Update OCR Job Status",
                "description": "Update OCR Job Status",
                "operationId": "updateJobStatus",
                "requestBody": {
                    "description": "Update OCR Job Status",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "user_id": {
                                        "type": "integer"
                                    },
                                    "job_id": {
                                        "type": "integer"
                                    },
                                    "status": {
                                        "type": "string"
                                    },
                                    "comment": {
                                        "type": "object"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Update OCR Job Status",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    },
                    "404": {
                        "description": "Job not found."
                    }
                }
            }
        },
        "/api/v1/jobs/finish": {
            "post": {
                "tags": [
                    "OCR Job"
                ],
                "summary": "OCR job finished",
                "description": "OCR job finished",
                "operationId": "jobFinished",
                "requestBody": {
                    "description": "OCR job finished",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "job_id": {
                                        "type": "integer"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OCR job finished",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    },
                    "404": {
                        "description": "Job not found"
                    },
                    "409": {
                        "description": "OCR workflow is already finished"
                    }
                }
            }
        },
        "/api/v1/onesignal/register": {
            "post": {
                "tags": [
                    "Onesignal"
                ],
                "summary": "Register Onesignal",
                "description": "Register Onesignal",
                "operationId": "registerOnesignal",
                "requestBody": {
                    "description": "Register Onesignal",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "player_id": {
                                        "type": "integer"
                                    },
                                    "status": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Update Player id",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    },
                    "404": {
                        "description": "."
                    }
                }
            }
        },
        "/api/v1/profile": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "User Profile",
                "description": "User profile",
                "operationId": "showProfile",
                "requestBody": {
                    "description": "Get profle Request for authenticated user",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get user profile info",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/profile/update": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Update Auth User Profile",
                "description": "Update profle for authenticated user except membership_number, cover_type",
                "operationId": "updateProfile",
                "requestBody": {
                    "description": "Update profle Request for authenticated user except membership_number, cover_type",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "first_name": {
                                        "type": "string"
                                    },
                                    "last_name": {
                                        "type": "string"
                                    },
                                    "gender": {
                                        "type": "string"
                                    },
                                    "date_of_birth": {
                                        "type": "date"
                                    },
                                    "phone": {
                                        "type": "integer",
                                        "example": "9876543210"
                                    },
                                    "email": {
                                        "type": "string"
                                    },
                                    "address_street": {
                                        "type": "string"
                                    },
                                    "address_suburb": {
                                        "type": "string"
                                    },
                                    "address_state": {
                                        "type": "string"
                                    },
                                    "address_postcode": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Updated Successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "405": {
                        "description": "Method Not Allowed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "The GET method is not supported for this route. Supported methods: POST"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "You have entered wrong details. Please try again"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/membership": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "User Membership",
                "description": "User Membership",
                "operationId": "userMembership",
                "requestBody": {
                    "description": "Get profle Request for authenticated user",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get user membership info",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/profile/phone/update": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Update Auth User Phone",
                "description": "Update phone of authenticated user",
                "operationId": "updatePhone",
                "requestBody": {
                    "description": "Update phone of authenticated user",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "phone": {
                                        "type": "integer",
                                        "example": "9876543210"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Phone number successfully updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "The given field is required."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/profile/app-onboarded/update": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Update Auth User App Onboarded",
                "description": "Update Auth User App Onboarded",
                "operationId": "updateAppONboarded",
                "requestBody": {
                    "description": "Update Auth User App Onboarded",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "app_onboarded": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "User app onboarded successfully updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "The given field is required."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/profile/password/update": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Update Auth User Password",
                "description": "Update Auth User Password",
                "operationId": "updatePassword",
                "requestBody": {
                    "description": "Update Auth User Password",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "current_password": {
                                        "type": "string"
                                    },
                                    "new_password": {
                                        "type": "string"
                                    },
                                    "confirm_password": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Password successfully updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "The given field is required."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/promocodes": {
            "post": {
                "tags": [
                    "Promotions"
                ],
                "summary": "Get Promotions",
                "description": "Get Promotions",
                "operationId": "promocodes",
                "requestBody": {
                    "description": "Get all promotions",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "plan": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get Promotions",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/receipts": {
            "post": {
                "tags": [
                    "receipts"
                ],
                "summary": "Receipts List",
                "description": "receipts List",
                "operationId": "receiptsList",
                "requestBody": {
                    "description": "Get receipts list for authenticated user",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get receipts list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Member does not have subscription."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/receipts/{id}/details": {
            "post": {
                "tags": [
                    "receipts"
                ],
                "summary": "receipts Details",
                "description": "receipts Details",
                "operationId": "receiptsDetails",
                "requestBody": {
                    "description": "Get receipts details for authenticated user",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get receipts Details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Member does not have subscription."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/receipts/{id}/download": {
            "post": {
                "tags": [
                    "receipts"
                ],
                "summary": "receipts download",
                "description": "receipts download",
                "operationId": "receiptsDownload",
                "requestBody": {
                    "description": "Receipts download for authenticated user",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get receipts download",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Member does not have subscription."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/refer": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Refer a New Member Request",
                "description": "Refer a New Member Request",
                "operationId": "refer",
                "requestBody": {
                    "description": "Refer a New Member Request",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "type": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Referral email sent successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/free-trial-token/create": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Generate free trial token",
                "description": "Generate free trial token",
                "operationId": "freeTrialToken",
                "requestBody": {
                    "description": "Generate free trial token",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    },
                                    "first_name": {
                                        "type": "string"
                                    },
                                    "last_name": {
                                        "type": "string"
                                    },
                                    "phone": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Referral email sent successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/referral-contents": {
            "post": {
                "tags": [
                    "referrals"
                ],
                "summary": "Get referral contents",
                "description": "Refer a New Member Request",
                "operationId": "referral-contents",
                "requestBody": {
                    "description": "Get referral contents",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "type": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Referral email sent successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/referral-link/create": {
            "post": {
                "tags": [
                    "referrals"
                ],
                "summary": "Generate referral link",
                "description": "Generate referral link",
                "operationId": "GenerateReferralLink",
                "requestBody": {
                    "description": "Get referral contents",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "type": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Referral email sent successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/reset-password": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Reset Password",
                "description": "Reset Password",
                "operationId": "resetPassword",
                "requestBody": {
                    "description": "Reset Password",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "type": "string"
                                    },
                                    "token": {
                                        "type": "string"
                                    },
                                    "password": {
                                        "type": "string"
                                    },
                                    "password_confirmation": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Your password has been reset",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/resources": {
            "post": {
                "tags": [
                    "Resources"
                ],
                "summary": "Resources",
                "description": "resources List",
                "operationId": "resourcesList",
                "requestBody": {
                    "description": "Get receipts list for authenticated user",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get receipts list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Member does not have subscription."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rewards": {
            "post": {
                "tags": [
                    "Rewards"
                ],
                "summary": "Rewards List",
                "description": "Rewards List",
                "operationId": "RewardsList",
                "requestBody": {
                    "description": "Get rewards list for authenticated user",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get rewards list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Member does not have subscription."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rewards/{id}/details": {
            "post": {
                "tags": [
                    "Rewards"
                ],
                "summary": "Rewards Details",
                "description": "Rewards Details",
                "operationId": "RewardsDetails",
                "requestBody": {
                    "description": "Get rewards details for authenticated user",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get Rewards Details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Member does not have subscription."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rewards/points/history": {
            "post": {
                "tags": [
                    "Rewards"
                ],
                "summary": "Rewards points history",
                "description": "Rewards points history",
                "operationId": "RewardsPointsHistory",
                "requestBody": {
                    "description": "Get rewards points history for authenticated user",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get Rewards Details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Member does not have subscription."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rewards/earn": {
            "post": {
                "tags": [
                    "Rewards"
                ],
                "summary": "Rewards earn",
                "description": "Rewards earn",
                "operationId": "RewardsEarn",
                "requestBody": {
                    "description": "Earn a reward",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "slug": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Reward has been added successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Member does not have subscription."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/rewards/{id}/acknowledgement": {
            "post": {
                "tags": [
                    "Rewards"
                ],
                "summary": "Acknowledge reward",
                "description": "Acknowledge reward",
                "operationId": "acknowledgeReward",
                "requestBody": {
                    "description": "Acknowledge reward",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Reward successfully acknowledged",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Member does not have subscription."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/stripe/confirm-payment-intent": {
            "post": {
                "tags": [
                    "Stripe"
                ],
                "summary": "Confirm Payment Intent",
                "description": "Confirm Payment Intent",
                "operationId": "ConfirmPaymentIntent",
                "requestBody": {
                    "description": "Confirm Payment Intent",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "payment_intent_id": {
                                        "type": "string"
                                    },
                                    "payment_method": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "PaymentIntent successfully confirmed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": ""
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/stripe/setup-intent": {
            "post": {
                "tags": [
                    "Stripe"
                ],
                "summary": "Create Setup Intent",
                "description": "Create Setup Intent",
                "operationId": "CreateSetupIntent",
                "requestBody": {
                    "description": "Create Setup Intent",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Setup Intent successfully created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": ""
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/stripe/confirm-setup-intent": {
            "post": {
                "tags": [
                    "Stripe"
                ],
                "summary": "Confirm setup intent",
                "description": "Confirm setup intent",
                "operationId": "ConfirmSetupIntent",
                "requestBody": {
                    "description": "Confirm setup intent",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "setup_intent_id": {
                                        "type": "string"
                                    },
                                    "payment_method": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "SetupIntent successfully confirmed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": ""
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/stripe/create-payment-method": {
            "post": {
                "tags": [
                    "Stripe"
                ],
                "summary": "Create Payment Method",
                "description": "Create Payment Method",
                "operationId": "CreatePaymentMethodFromCardToken",
                "requestBody": {
                    "description": "Payment Method successfully created",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "card_token": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Payment Method successfully created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": ""
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/membership/payment-methods": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Get membership payment methods",
                "description": "Get membership payment methods",
                "operationId": "getMembershipPaymentMethods",
                "requestBody": {
                    "description": "Get membership payment methods",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Membership payment methods successfully found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Not found."
                    },
                    "422": {
                        "description": "No payment methods associated with membership."
                    }
                }
            }
        },
        "/api/v1/membership/stripe-id": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Get membership stripe id",
                "description": "Get membership stripe id",
                "operationId": "getMembershipStripeId",
                "requestBody": {
                    "description": "Get membership stripe id",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Membership stripe id successfully found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Not Found."
                    }
                }
            }
        },
        "/api/v1/membership/update": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Membership update",
                "description": "Membership update",
                "operationId": "membershipUpdate",
                "requestBody": {
                    "description": "Update authenticated user membership",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "plan_id": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Membership plan successfully updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "The given field is required."
                    },
                    "404": {
                        "description": "Subscription not found."
                    }
                }
            }
        },
        "/api/v1/membership/add-update-card": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Add/Update card",
                "description": "Add/Update card",
                "operationId": "addUpdateCard",
                "requestBody": {
                    "description": "Add/Update card",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "add_or_update": {
                                        "type": "string"
                                    },
                                    "card_holder_name": {
                                        "type": "string"
                                    },
                                    "card_number": {
                                        "type": "integer",
                                        "example": "4242424242424242"
                                    },
                                    "card_cvc": {
                                        "type": "integer",
                                        "example": "123"
                                    },
                                    "card_exp_month": {
                                        "type": "integer",
                                        "example": "10"
                                    },
                                    "card_exp_year": {
                                        "type": "integer",
                                        "example": "2021"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Card successfully saved",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Not Found."
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/membership/payment-method/remove": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Remove payment method",
                "description": "Remove payment method",
                "operationId": "removePaymentMethod",
                "requestBody": {
                    "description": "Remove payment method",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "payment_method_id": {
                                        "type": "string"
                                    },
                                    "customer_id": {
                                        "type": "string"
                                    },
                                    "last4": {
                                        "type": "integer",
                                        "example": "1234"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Payment method successfully removed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Not Found."
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/membership/payment-method/change": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Change payment method",
                "description": "Change payment method",
                "operationId": "changePaymentMethod",
                "requestBody": {
                    "description": "Change payment method",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "customer_id": {
                                        "type": "string"
                                    },
                                    "payment_method_id": {
                                        "type": "string"
                                    },
                                    "last4": {
                                        "type": "integer",
                                        "example": "1234"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Sucessfully set as default",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Subscription not found."
                    },
                    "422": {
                        "description": "The given field is required."
                    }
                }
            }
        },
        "/api/v1/membership/cancellation-survey/feedback": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Submit Cancellation Survey Feedback",
                "description": "Submit Cancellation Survey Feedback",
                "operationId": "membershipFeedback",
                "requestBody": {
                    "description": "Submit Cancellation Survey Feedback",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    },
                                    "draw": {
                                        "type": "string"
                                    },
                                    "main_reason": {
                                        "type": "string"
                                    },
                                    "other_main_reason": {
                                        "type": "string"
                                    },
                                    "visit_approved": {
                                        "type": "string"
                                    },
                                    "practice_id": {
                                        "type": "string"
                                    },
                                    "dentist_id": {
                                        "type": "string"
                                    },
                                    "recommend_practice_rate": {
                                        "type": "string"
                                    },
                                    "recommend_dentist_rate": {
                                        "type": "string"
                                    },
                                    "recommend_other_rate": {
                                        "type": "string"
                                    },
                                    "recommend_practice": {
                                        "type": "string"
                                    },
                                    "recommend_dentist": {
                                        "type": "string"
                                    },
                                    "recommend_other": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Submit Cancellation Survey Feedback",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/membership/stripe/payment-sheet": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Create Stripe Payment Sheet",
                "description": "Create Stripe Payment Sheet",
                "operationId": "stripePaymentSheet",
                "requestBody": {
                    "description": "Create Stripe Payment Sheet",
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Create Stripe Payment Sheet",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/subscription/back": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "Subscription back",
                "description": "Subscription back",
                "operationId": "subscriptionBack",
                "requestBody": {
                    "description": "Subscription back",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Subscription back",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/membership/enable-autorenewal": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "",
                "description": "Enable Auto Renewal",
                "operationId": "enableRenewal",
                "requestBody": {
                    "description": "Enabled auto renew",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Enabled auto renew",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/membership/reminder-inactive": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "remind primary member to restart cover",
                "description": "remind primary member to restart cover",
                "operationId": "",
                "responses": {
                    "200": {
                        "description": "Inactive Reminder",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/membership/split": {
            "post": {
                "tags": [
                    "Membership"
                ],
                "summary": "split 2nd member from primary member's cover",
                "description": "split 2nd member from primary member's cover",
                "operationId": "",
                "responses": {
                    "200": {
                        "description": "split 2nd member",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/api/v1/tasks/create": {
            "post": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Create new task",
                "description": "Create new task",
                "operationId": "createTask",
                "requestBody": {
                    "description": "Create new task",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "description": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Task successfully created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "The given field is required."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ticket/submit": {
            "post": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Submit Ticket",
                "description": "Submit Ticket",
                "operationId": "submitTicket",
                "requestBody": {
                    "description": "Submit Ticket",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "subject": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Ticket successfully submitted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "The given field is required."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Job not found."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/verify/phone/send": {
            "post": {
                "tags": [
                    "Verification"
                ],
                "summary": "Verify user phone number",
                "description": "Verify user phone number",
                "operationId": "sendCode",
                "requestBody": {
                    "description": "Verify user phone number",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "phone": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Verify user phone number",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "No phone associated with this account."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/verify/phone/validate": {
            "post": {
                "tags": [
                    "Verification"
                ],
                "summary": "Validate user phone number",
                "description": "Validate user phone number",
                "operationId": "validateCode",
                "requestBody": {
                    "description": "Validate user phone number",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Validate user phone number",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "422": {
                        "description": "Wrong credentials response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "The given field is required."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "419": {
                        "description": "Unknown Status",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Entered code is invalid."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/verify/phone/resend": {
            "post": {
                "tags": [
                    "Verification"
                ],
                "summary": "Resend code user phone number",
                "description": "Resend code user phone number",
                "operationId": "resendCode",
                "requestBody": {
                    "description": "Resend code user phone number",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "mobile_app_user": {
                                        "type": "string"
                                    },
                                    "mobile_app_secret": {
                                        "type": "string"
                                    },
                                    "mobile_app_version": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Resend code user phone number",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "redirect_to": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "integer",
                                            "example": "200"
                                        },
                                        "errors": {
                                            "type": "object"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "No phone associated with this account."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "419": {
                        "description": "Unknown Status",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Verification code not sent."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "security": [
        []
    ]
}