{
    "openapi": "3.0.0",
    "info": {
        "title": "Mentoring API",
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "api"
        }
    ],
    "paths": {
        "/course-list": {
            "get": {
                "tags": [
                    "Operation"
                ],
                "summary": "Get Courses Meterial list (For Everyone)",
                "operationId": "7fb0591d2322de3b2f3c5863e70289a5",
                "responses": {
                    "200": {
                        "description": "Successfull inserted"
                    }
                }
            }
        },
        "/mentor-course-list": {
            "get": {
                "tags": [
                    "Operation"
                ],
                "summary": "Get Courses Meterial list (For Everyone)",
                "operationId": "aac643b7fec96dae421d60598038754b",
                "responses": {
                    "200": {
                        "description": "Successfull inserted"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/get-mentor": {
            "get": {
                "tags": [
                    "Mentor"
                ],
                "summary": "Get Mentor list (For Approver/Content)",
                "operationId": "462cca1512017b189820fe78d7a04bbb",
                "responses": {
                    "200": {
                        "description": "An array of Mentor details object"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/get-session/2024-02-01/2024-12-31": {
            "get": {
                "tags": [
                    "JPMC"
                ],
                "summary": "Get Session list",
                "operationId": "0dd613e4e56f11fbe5b593acd4acc917",
                "responses": {
                    "200": {
                        "description": "An array of Session details object"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/add-mentor": {
            "post": {
                "tags": [
                    "Mentor"
                ],
                "summary": "Add Mentor",
                "operationId": "addMentor",
                "requestBody": {
                    "description": "User credentials",
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "description": "Mentor Name",
                                        "type": "string",
                                        "example": "Arup Das"
                                    },
                                    "email": {
                                        "description": "Enter valid email ",
                                        "type": "string",
                                        "example": "demo@anudip.org"
                                    },
                                    "phone": {
                                        "description": "Enter valid Phone number",
                                        "type": "string",
                                        "example": "9878765645"
                                    },
                                    "designation": {
                                        "description": "Enter valid Designation ",
                                        "type": "string",
                                        "example": "IT"
                                    },
                                    "organization": {
                                        "description": "Enter organization",
                                        "type": "string",
                                        "example": "Anudip Foundation"
                                    },
                                    "linkedinId": {
                                        "description": "Enter valid linkedinId ",
                                        "type": "string",
                                        "example": "linkedIn.com/arup-5632762"
                                    },
                                    "aadharId": {
                                        "description": "Enter aadharId",
                                        "type": "string",
                                        "example": "CHDFIUTG3456GT"
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successfully data Inserted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "description": "it return 1",
                                            "type": "integer"
                                        },
                                        "message": {
                                            "description": "Successfull message",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/get-mentor-by-id/{id}": {
            "get": {
                "tags": [
                    "Mentor"
                ],
                "summary": "Get Mentor by id (For Approver/Content)",
                "operationId": "getMentorById",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the mentor",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "An array of Mentor details object"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/approve-mentor": {
            "post": {
                "tags": [
                    "Mentor"
                ],
                "summary": "Approve Mentor (For Approver/Content)",
                "operationId": "approveMentor",
                "requestBody": {
                    "description": "Details",
                    "required": true,
                    "content": {
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "properties": {
                                    "id": {
                                        "description": "Mentor Uniq ID",
                                        "type": "string",
                                        "example": "1"
                                    },
                                    "action_type": {
                                        "description": "1 for approve 2 for reject",
                                        "type": "string",
                                        "example": "1"
                                    },
                                    "remarks": {
                                        "description": "Enter Remarks for rejection",
                                        "type": "string",
                                        "example": "demo"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successfully data Inserted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "description": "it return 1",
                                            "type": "integer"
                                        },
                                        "message": {
                                            "description": "Successfull message",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/schedule-session": {
            "post": {
                "tags": [
                    "Mentor"
                ],
                "summary": "Schedule Session (For Mentor)",
                "operationId": "sehedule_session",
                "requestBody": {
                    "description": "Details",
                    "required": true,
                    "content": {
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "properties": {
                                    "program_id": {
                                        "description": "Program id",
                                        "type": "string",
                                        "example": "1"
                                    },
                                    "tenure": {
                                        "description": "1",
                                        "type": "string",
                                        "example": "1"
                                    },
                                    "start_date": {
                                        "description": "2024-02-04",
                                        "type": "string",
                                        "example": "2024-02-04"
                                    },
                                    "start_time": {
                                        "description": "enter start time 24hr",
                                        "type": "string",
                                        "example": "14:30"
                                    },
                                    "end_time": {
                                        "description": "enter end time 24hr",
                                        "type": "string",
                                        "example": "16:30"
                                    },
                                    "day_name": {
                                        "description": "List of weekdays to find example:Monday(in camel case)",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successfully data Inserted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "description": "it return 1",
                                            "type": "integer"
                                        },
                                        "message": {
                                            "description": "Successfull message",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/get-scheduling": {
            "get": {
                "tags": [
                    "Mentor"
                ],
                "summary": "Get schedule list (For Mentor)",
                "operationId": "get_scheduling",
                "responses": {
                    "200": {
                        "description": "An array of schedule details object"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/get-mentor-availability": {
            "get": {
                "tags": [
                    "Mentor"
                ],
                "summary": "Get Mentor Availability (For CM)",
                "operationId": "get_mentor_availability",
                "responses": {
                    "200": {
                        "description": "An array of mentor details object"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/get-batch-by-alias/{course_alias}": {
            "get": {
                "tags": [
                    "Mentor"
                ],
                "summary": "Get running batch with their student (For CM)",
                "operationId": "get-batch-by-alias",
                "parameters": [
                    {
                        "name": "course_alias",
                        "in": "path",
                        "description": "course_alias",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "An array of Batch with student details object"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/get-student-by-batch/{batch_code}": {
            "get": {
                "tags": [
                    "Mentor"
                ],
                "summary": "Get array of student details (For CM)",
                "operationId": "get-student-by-batch",
                "parameters": [
                    {
                        "name": "batch_code",
                        "in": "path",
                        "description": "batch_code",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "An array of student details object"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/assign-student": {
            "post": {
                "tags": [
                    "Mentor"
                ],
                "summary": "Assign Student (For CM)",
                "operationId": "assign-student",
                "requestBody": {
                    "description": "Details",
                    "required": true,
                    "content": {
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "properties": {
                                    "mentor_scheduling_id": {
                                        "description": "mentor scheduling id",
                                        "type": "string",
                                        "example": "1"
                                    },
                                    "batch_code": {
                                        "description": "Batch code",
                                        "type": "string",
                                        "example": "ANP-C3242"
                                    },
                                    "students": {
                                        "description": "List of member_code/student_code to find example: AF01234 (in camel case)",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successfully data Inserted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "description": "it return 1",
                                            "type": "integer"
                                        },
                                        "message": {
                                            "description": "Successfull message",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/login": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "User login",
                "operationId": "userLogin",
                "requestBody": {
                    "description": "UER CREDIENTIAL TYPE:  USER ID START FROM ANP IS A TRAINER AND START BY AF IS A STUDENT (USER_ID='AF01234',PASSWORD='1234567')",
                    "required": true,
                    "content": {
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "required": [
                                    "user_id",
                                    "password"
                                ],
                                "properties": {
                                    "user_id": {
                                        "description": "User ID or Email",
                                        "type": "string",
                                        "example": "ANP-0443"
                                    },
                                    "password": {
                                        "description": "User password",
                                        "type": "string",
                                        "example": "1234567"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful login",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "token": {
                                            "description": "Access token",
                                            "type": "string"
                                        },
                                        "userDetails": {
                                            "description": "User details",
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "description": "Invalid credentials",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "description": "Invalid input data",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "name": "bearerAuth",
                "in": "header",
                "bearerFormat": "JWT",
                "scheme": "bearer"
            }
        }
    }
}