{ "openapi": "3.1.0", "info": { "title": "MONDEY API", "version": "0.1.0" }, "paths": { "/languages/": { "get": { "tags": ["milestones"], "summary": "Get Languages", "operationId": "get_languages", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "type": "string" }, "type": "array", "title": "Response Get Languages Languages Get" } } } } } } }, "/milestones/": { "get": { "tags": ["milestones"], "summary": "Get Milestones", "operationId": "get_milestones", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/MilestonePublic" }, "type": "array", "title": "Response Get Milestones Milestones Get" } } } } } } }, "/milestones/{milestone_id}": { "get": { "tags": ["milestones"], "summary": "Get Milestone", "operationId": "get_milestone", "parameters": [ { "name": "milestone_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Milestone Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MilestonePublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/milestone-groups/": { "get": { "tags": ["milestones"], "summary": "Get Milestone Groups", "operationId": "get_milestone_groups", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/MilestoneGroupPublic" }, "type": "array", "title": "Response Get Milestone Groups Milestone Groups Get" } } } } } } }, "/milestone-groups/{milestone_group_id}": { "get": { "tags": ["milestones"], "summary": "Get Milestone Group", "operationId": "get_milestone_group", "parameters": [ { "name": "milestone_group_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Milestone Group Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MilestoneGroupPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/user-questions/": { "get": { "tags": ["questions"], "summary": "Get User Questions", "operationId": "get_user_questions", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/UserQuestionPublic" }, "type": "array", "title": "Response Get User Questions User Questions Get" } } } } } } }, "/admin/languages/": { "post": { "tags": ["admin"], "summary": "Create Language", "operationId": "create_language", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Language" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Language" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [{ "APIKeyCookie": [] }] } }, "/admin/languages/{language_id}": { "delete": { "tags": ["admin"], "summary": "Delete Language", "operationId": "delete_language", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "language_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Language Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/admin/i18n/{language_id}": { "put": { "tags": ["admin"], "summary": "Update I18N", "operationId": "update_i18n", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "language_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Language Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "string" } }, "title": "I18Dict" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/admin/milestone-groups/": { "get": { "tags": ["admin"], "summary": "Get Milestone Groups Admin", "operationId": "get_milestone_groups_admin", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/MilestoneGroupAdmin" }, "type": "array", "title": "Response Get Milestone Groups Admin Admin Milestone Groups Get" } } } } }, "security": [{ "APIKeyCookie": [] }] }, "post": { "tags": ["admin"], "summary": "Create Milestone Group Admin", "operationId": "create_milestone_group_admin", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MilestoneGroupAdmin" } } } } }, "security": [{ "APIKeyCookie": [] }] } }, "/admin/milestone-groups": { "put": { "tags": ["admin"], "summary": "Update Milestone Group Admin", "operationId": "update_milestone_group_admin", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MilestoneGroupAdmin" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MilestoneGroupAdmin" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [{ "APIKeyCookie": [] }] } }, "/admin/milestone-groups/{milestone_group_id}": { "delete": { "tags": ["admin"], "summary": "Delete Milestone Group Admin", "operationId": "delete_milestone_group_admin", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "milestone_group_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Milestone Group Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/admin/milestone-group-images/{milestone_group_id}": { "put": { "tags": ["admin"], "summary": "Upload Milestone Group Image", "operationId": "upload_milestone_group_image", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "milestone_group_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Milestone Group Id" } } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_upload_milestone_group_image_admin_milestone_group_images__milestone_group_id__put" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/admin/milestones/{milestone_group_id}": { "post": { "tags": ["admin"], "summary": "Create Milestone", "operationId": "create_milestone", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "milestone_group_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Milestone Group Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MilestoneAdmin" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/admin/milestones/": { "put": { "tags": ["admin"], "summary": "Update Milestone", "operationId": "update_milestone", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MilestoneAdmin" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MilestoneAdmin" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [{ "APIKeyCookie": [] }] } }, "/admin/milestones/{milestone_id}": { "delete": { "tags": ["admin"], "summary": "Delete Milestone", "operationId": "delete_milestone", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "milestone_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Milestone Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/admin/milestone-images/{milestone_id}": { "post": { "tags": ["admin"], "summary": "Upload Milestone Image", "operationId": "upload_milestone_image", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "milestone_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Milestone Id" } } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_upload_milestone_image_admin_milestone_images__milestone_id__post" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MilestoneImage" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/admin/user-questions/": { "get": { "tags": ["admin"], "summary": "Get User Questions Admin", "operationId": "get_user_questions_admin", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/UserQuestionAdmin" }, "type": "array", "title": "Response Get User Questions Admin Admin User Questions Get" } } } } }, "security": [{ "APIKeyCookie": [] }] }, "put": { "tags": ["admin"], "summary": "Update User Question", "operationId": "update_user_question", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserQuestionAdmin" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserQuestionAdmin" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [{ "APIKeyCookie": [] }] }, "post": { "tags": ["admin"], "summary": "Create User Question", "operationId": "create_user_question", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserQuestionAdmin" } } } } }, "security": [{ "APIKeyCookie": [] }] } }, "/admin/user-questions/{user_question_id}": { "delete": { "tags": ["admin"], "summary": "Delete User Question", "operationId": "delete_user_question", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "user_question_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "User Question Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/users/me": { "get": { "tags": ["users"], "summary": "Users:Current User", "operationId": "users:current_user", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRead" } } } }, "401": { "description": "Missing token or inactive user." } }, "security": [{ "APIKeyCookie": [] }] }, "patch": { "tags": ["users"], "summary": "Users:Patch Current User", "operationId": "users:patch_current_user", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserUpdate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRead" } } } }, "401": { "description": "Missing token or inactive user." }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorModel" }, "examples": { "UPDATE_USER_EMAIL_ALREADY_EXISTS": { "summary": "A user with this email already exists.", "value": { "detail": "UPDATE_USER_EMAIL_ALREADY_EXISTS" } }, "UPDATE_USER_INVALID_PASSWORD": { "summary": "Password validation failed.", "value": { "detail": { "code": "UPDATE_USER_INVALID_PASSWORD", "reason": "Password should beat least 3 characters" } } } } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [{ "APIKeyCookie": [] }] } }, "/users/{id}": { "get": { "tags": ["users"], "summary": "Users:User", "operationId": "users:user", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRead" } } } }, "401": { "description": "Missing token or inactive user." }, "403": { "description": "Not a superuser." }, "404": { "description": "The user does not exist." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": ["users"], "summary": "Users:Patch User", "operationId": "users:patch_user", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "title": "Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserUpdate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRead" } } } }, "401": { "description": "Missing token or inactive user." }, "403": { "description": "Not a superuser." }, "404": { "description": "The user does not exist." }, "400": { "content": { "application/json": { "examples": { "UPDATE_USER_EMAIL_ALREADY_EXISTS": { "summary": "A user with this email already exists.", "value": { "detail": "UPDATE_USER_EMAIL_ALREADY_EXISTS" } }, "UPDATE_USER_INVALID_PASSWORD": { "summary": "Password validation failed.", "value": { "detail": { "code": "UPDATE_USER_INVALID_PASSWORD", "reason": "Password should beat least 3 characters" } } } }, "schema": { "$ref": "#/components/schemas/ErrorModel" } } }, "description": "Bad Request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": ["users"], "summary": "Users:Delete User", "operationId": "users:delete_user", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "title": "Id" } } ], "responses": { "204": { "description": "Successful Response" }, "401": { "description": "Missing token or inactive user." }, "403": { "description": "Not a superuser." }, "404": { "description": "The user does not exist." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/users/children/": { "get": { "tags": ["users"], "summary": "Get Children", "operationId": "get_children", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/ChildPublic" }, "type": "array", "title": "Response Get Children Users Children Get" } } } } }, "security": [{ "APIKeyCookie": [] }] }, "put": { "tags": ["users"], "summary": "Update Child", "operationId": "update_child", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildPublic" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [{ "APIKeyCookie": [] }] }, "post": { "tags": ["users"], "summary": "Create Child", "operationId": "create_child", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildCreate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChildPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [{ "APIKeyCookie": [] }] } }, "/users/children/{child_id}": { "delete": { "tags": ["users"], "summary": "Delete Child", "operationId": "delete_child", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "child_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Child Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/users/children-images/{child_id}": { "get": { "tags": ["users"], "summary": "Get Child Image", "operationId": "get_child_image", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "child_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Child Id" } } ], "responses": { "200": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": ["users"], "summary": "Upload Child Image", "operationId": "upload_child_image", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "child_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Child Id" } } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_upload_child_image_users_children_images__child_id__put" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/users/milestone-answers/{child_id}": { "get": { "tags": ["users"], "summary": "Get Current Milestone Answer Session", "operationId": "get_current_milestone_answer_session", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "child_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Child Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MilestoneAnswerSessionPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/users/milestone-answers/{milestone_answer_session_id}": { "put": { "tags": ["users"], "summary": "Update Milestone Answer", "operationId": "update_milestone_answer", "security": [{ "APIKeyCookie": [] }], "parameters": [ { "name": "milestone_answer_session_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Milestone Answer Session Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MilestoneAnswerPublic" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MilestoneAnswerPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/users/user-answers/": { "get": { "tags": ["users"], "summary": "Get Current User Answers", "operationId": "get_current_user_answers", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/UserAnswerPublic" }, "type": "array", "title": "Response Get Current User Answers Users User Answers Get" } } } } }, "security": [{ "APIKeyCookie": [] }] }, "put": { "tags": ["users"], "summary": "Update Current User Answers", "operationId": "update_current_user_answers", "requestBody": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/UserAnswerPublic" }, "type": "array", "title": "New Answers" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/UserAnswerPublic" }, "type": "array", "title": "Response Update Current User Answers Users User Answers Put" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [{ "APIKeyCookie": [] }] } }, "/auth/login": { "post": { "tags": ["auth"], "summary": "Auth:Cookie.Login", "operationId": "auth:cookie.login", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Body_auth_cookie_login_auth_login_post" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorModel" }, "examples": { "LOGIN_BAD_CREDENTIALS": { "summary": "Bad credentials or the user is inactive.", "value": { "detail": "LOGIN_BAD_CREDENTIALS" } }, "LOGIN_USER_NOT_VERIFIED": { "summary": "The user is not verified.", "value": { "detail": "LOGIN_USER_NOT_VERIFIED" } } } } } }, "204": { "description": "No Content" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/auth/logout": { "post": { "tags": ["auth"], "summary": "Auth:Cookie.Logout", "operationId": "auth:cookie.logout", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "401": { "description": "Missing token or inactive user." }, "204": { "description": "No Content" } }, "security": [{ "APIKeyCookie": [] }] } }, "/auth/register": { "post": { "tags": ["auth"], "summary": "Register:Register", "operationId": "register:register", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserCreate" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRead" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorModel" }, "examples": { "REGISTER_USER_ALREADY_EXISTS": { "summary": "A user with this email already exists.", "value": { "detail": "REGISTER_USER_ALREADY_EXISTS" } }, "REGISTER_INVALID_PASSWORD": { "summary": "Password validation failed.", "value": { "detail": { "code": "REGISTER_INVALID_PASSWORD", "reason": "Password should beat least 3 characters" } } } } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/auth/forgot-password": { "post": { "tags": ["auth"], "summary": "Reset:Forgot Password", "operationId": "reset:forgot_password", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_reset_forgot_password_auth_forgot_password_post" } } }, "required": true }, "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/auth/reset-password": { "post": { "tags": ["auth"], "summary": "Reset:Reset Password", "operationId": "reset:reset_password", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_reset_reset_password_auth_reset_password_post" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorModel" }, "examples": { "RESET_PASSWORD_BAD_TOKEN": { "summary": "Bad or expired token.", "value": { "detail": "RESET_PASSWORD_BAD_TOKEN" } }, "RESET_PASSWORD_INVALID_PASSWORD": { "summary": "Password validation failed.", "value": { "detail": { "code": "RESET_PASSWORD_INVALID_PASSWORD", "reason": "Password should be at least 3 characters" } } } } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/auth/request-verify-token": { "post": { "tags": ["auth"], "summary": "Verify:Request-Token", "operationId": "verify:request-token", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_verify_request_token_auth_request_verify_token_post" } } }, "required": true }, "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/auth/verify": { "post": { "tags": ["auth"], "summary": "Verify:Verify", "operationId": "verify:verify", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_verify_verify_auth_verify_post" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRead" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorModel" }, "examples": { "VERIFY_USER_BAD_TOKEN": { "summary": "Bad token, not existing user ornot the e-mail currently set for the user.", "value": { "detail": "VERIFY_USER_BAD_TOKEN" } }, "VERIFY_USER_ALREADY_VERIFIED": { "summary": "The user is already verified.", "value": { "detail": "VERIFY_USER_ALREADY_VERIFIED" } } } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/research/auth/": { "get": { "tags": ["research"], "summary": "Auth", "operationId": "auth", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } }, "security": [{ "APIKeyCookie": [] }] } } }, "components": { "schemas": { "Body_auth_cookie_login_auth_login_post": { "properties": { "grant_type": { "anyOf": [ { "type": "string", "pattern": "password" }, { "type": "null" } ], "title": "Grant Type" }, "username": { "type": "string", "title": "Username" }, "password": { "type": "string", "title": "Password" }, "scope": { "type": "string", "title": "Scope", "default": "" }, "client_id": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Client Id" }, "client_secret": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Client Secret" } }, "type": "object", "required": ["username", "password"], "title": "Body_auth_cookie_login_auth_login_post" }, "Body_reset_forgot_password_auth_forgot_password_post": { "properties": { "email": { "type": "string", "format": "email", "title": "Email" } }, "type": "object", "required": ["email"], "title": "Body_reset_forgot_password_auth_forgot_password_post" }, "Body_reset_reset_password_auth_reset_password_post": { "properties": { "token": { "type": "string", "title": "Token" }, "password": { "type": "string", "title": "Password" } }, "type": "object", "required": ["token", "password"], "title": "Body_reset_reset_password_auth_reset_password_post" }, "Body_upload_child_image_users_children_images__child_id__put": { "properties": { "file": { "type": "string", "format": "binary", "title": "File" } }, "type": "object", "required": ["file"], "title": "Body_upload_child_image_users_children_images__child_id__put" }, "Body_upload_milestone_group_image_admin_milestone_group_images__milestone_group_id__put": { "properties": { "file": { "type": "string", "format": "binary", "title": "File" } }, "type": "object", "required": ["file"], "title": "Body_upload_milestone_group_image_admin_milestone_group_images__milestone_group_id__put" }, "Body_upload_milestone_image_admin_milestone_images__milestone_id__post": { "properties": { "file": { "type": "string", "format": "binary", "title": "File" } }, "type": "object", "required": ["file"], "title": "Body_upload_milestone_image_admin_milestone_images__milestone_id__post" }, "Body_verify_request_token_auth_request_verify_token_post": { "properties": { "email": { "type": "string", "format": "email", "title": "Email" } }, "type": "object", "required": ["email"], "title": "Body_verify_request_token_auth_request_verify_token_post" }, "Body_verify_verify_auth_verify_post": { "properties": { "token": { "type": "string", "title": "Token" } }, "type": "object", "required": ["token"], "title": "Body_verify_verify_auth_verify_post" }, "ChildCreate": { "properties": { "name": { "type": "string", "title": "Name", "default": "" }, "birth_year": { "type": "integer", "title": "Birth Year" }, "birth_month": { "type": "integer", "title": "Birth Month" } }, "type": "object", "required": ["birth_year", "birth_month"], "title": "ChildCreate" }, "ChildPublic": { "properties": { "name": { "type": "string", "title": "Name", "default": "" }, "birth_year": { "type": "integer", "title": "Birth Year" }, "birth_month": { "type": "integer", "title": "Birth Month" }, "id": { "type": "integer", "title": "Id" }, "has_image": { "type": "boolean", "title": "Has Image" } }, "type": "object", "required": ["birth_year", "birth_month", "id", "has_image"], "title": "ChildPublic" }, "ErrorModel": { "properties": { "detail": { "anyOf": [ { "type": "string" }, { "additionalProperties": { "type": "string" }, "type": "object" } ], "title": "Detail" } }, "type": "object", "required": ["detail"], "title": "ErrorModel" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "Language": { "properties": { "id": { "type": "string", "maxLength": 2, "title": "Id" } }, "type": "object", "required": ["id"], "title": "Language" }, "MilestoneAdmin": { "properties": { "id": { "type": "integer", "title": "Id" }, "group_id": { "type": "integer", "title": "Group Id" }, "order": { "type": "integer", "title": "Order" }, "text": { "additionalProperties": { "$ref": "#/components/schemas/MilestoneText" }, "type": "object", "title": "Text", "default": {} }, "images": { "items": { "$ref": "#/components/schemas/MilestoneImage" }, "type": "array", "title": "Images", "default": [] } }, "type": "object", "required": ["id", "group_id", "order"], "title": "MilestoneAdmin" }, "MilestoneAnswerPublic": { "properties": { "milestone_id": { "type": "integer", "title": "Milestone Id" }, "answer": { "type": "integer", "title": "Answer" } }, "type": "object", "required": ["milestone_id", "answer"], "title": "MilestoneAnswerPublic" }, "MilestoneAnswerSessionPublic": { "properties": { "id": { "type": "integer", "title": "Id" }, "child_id": { "type": "integer", "title": "Child Id" }, "created_at": { "type": "string", "format": "date-time", "title": "Created At" }, "answers": { "additionalProperties": { "$ref": "#/components/schemas/MilestoneAnswerPublic" }, "type": "object", "title": "Answers" } }, "type": "object", "required": ["id", "child_id", "created_at", "answers"], "title": "MilestoneAnswerSessionPublic" }, "MilestoneGroupAdmin": { "properties": { "id": { "type": "integer", "title": "Id" }, "order": { "type": "integer", "title": "Order" }, "text": { "additionalProperties": { "$ref": "#/components/schemas/MilestoneGroupText" }, "type": "object", "title": "Text", "default": {} }, "milestones": { "items": { "$ref": "#/components/schemas/MilestoneAdmin" }, "type": "array", "title": "Milestones", "default": [] } }, "type": "object", "required": ["id", "order"], "title": "MilestoneGroupAdmin" }, "MilestoneGroupPublic": { "properties": { "id": { "type": "integer", "title": "Id" }, "text": { "additionalProperties": { "$ref": "#/components/schemas/MilestoneGroupTextPublic" }, "type": "object", "title": "Text", "default": {} }, "milestones": { "items": { "$ref": "#/components/schemas/MilestonePublic" }, "type": "array", "title": "Milestones", "default": [] } }, "type": "object", "required": ["id"], "title": "MilestoneGroupPublic" }, "MilestoneGroupText": { "properties": { "title": { "type": "string", "title": "Title", "default": "" }, "desc": { "type": "string", "title": "Desc", "default": "" }, "group_id": { "anyOf": [{ "type": "integer" }, { "type": "null" }], "title": "Group Id" }, "lang_id": { "anyOf": [{ "type": "string", "maxLength": 2 }, { "type": "null" }], "title": "Lang Id" } }, "type": "object", "title": "MilestoneGroupText" }, "MilestoneGroupTextPublic": { "properties": { "title": { "type": "string", "title": "Title", "default": "" }, "desc": { "type": "string", "title": "Desc", "default": "" } }, "type": "object", "title": "MilestoneGroupTextPublic" }, "MilestoneImage": { "properties": { "id": { "anyOf": [{ "type": "integer" }, { "type": "null" }], "title": "Id" }, "milestone_id": { "anyOf": [{ "type": "integer" }, { "type": "null" }], "title": "Milestone Id" }, "filename": { "type": "string", "title": "Filename", "default": "" }, "approved": { "type": "boolean", "title": "Approved", "default": false } }, "type": "object", "title": "MilestoneImage" }, "MilestoneImagePublic": { "properties": { "filename": { "type": "string", "title": "Filename" }, "approved": { "type": "boolean", "title": "Approved" } }, "type": "object", "required": ["filename", "approved"], "title": "MilestoneImagePublic" }, "MilestonePublic": { "properties": { "id": { "type": "integer", "title": "Id" }, "text": { "additionalProperties": { "$ref": "#/components/schemas/MilestoneTextPublic" }, "type": "object", "title": "Text", "default": {} }, "images": { "items": { "$ref": "#/components/schemas/MilestoneImagePublic" }, "type": "array", "title": "Images", "default": [] } }, "type": "object", "required": ["id"], "title": "MilestonePublic" }, "MilestoneText": { "properties": { "title": { "type": "string", "title": "Title", "default": "" }, "desc": { "type": "string", "title": "Desc", "default": "" }, "obs": { "type": "string", "title": "Obs", "default": "" }, "help": { "type": "string", "title": "Help", "default": "" }, "milestone_id": { "anyOf": [{ "type": "integer" }, { "type": "null" }], "title": "Milestone Id" }, "lang_id": { "anyOf": [{ "type": "string", "maxLength": 2 }, { "type": "null" }], "title": "Lang Id" } }, "type": "object", "title": "MilestoneText" }, "MilestoneTextPublic": { "properties": { "title": { "type": "string", "title": "Title", "default": "" }, "desc": { "type": "string", "title": "Desc", "default": "" }, "obs": { "type": "string", "title": "Obs", "default": "" }, "help": { "type": "string", "title": "Help", "default": "" } }, "type": "object", "title": "MilestoneTextPublic" }, "UserAnswerPublic": { "properties": { "answer": { "type": "string", "title": "Answer" }, "question_id": { "type": "integer", "title": "Question Id" }, "non_standard": { "type": "boolean", "title": "Non Standard" } }, "type": "object", "required": ["answer", "question_id", "non_standard"], "title": "UserAnswerPublic", "description": "External data model for UserAnswers\n\nParameters\n----------\nSQLModel : Pydantic model basic sqlmodel pydantic type" }, "UserCreate": { "properties": { "email": { "type": "string", "format": "email", "title": "Email" }, "password": { "type": "string", "title": "Password" }, "is_active": { "anyOf": [{ "type": "boolean" }, { "type": "null" }], "title": "Is Active", "default": true }, "is_superuser": { "anyOf": [{ "type": "boolean" }, { "type": "null" }], "title": "Is Superuser", "default": false }, "is_verified": { "anyOf": [{ "type": "boolean" }, { "type": "null" }], "title": "Is Verified", "default": false }, "is_researcher": { "anyOf": [{ "type": "boolean" }, { "type": "null" }], "title": "Is Researcher", "default": false } }, "type": "object", "required": ["email", "password"], "title": "UserCreate" }, "UserQuestionAdmin": { "properties": { "id": { "type": "integer", "title": "Id" }, "order": { "type": "integer", "title": "Order" }, "input": { "type": "string", "title": "Input" }, "options": { "type": "string", "title": "Options" }, "text": { "additionalProperties": { "$ref": "#/components/schemas/UserQuestionText" }, "type": "object", "title": "Text", "default": {} } }, "type": "object", "required": ["id", "order", "input", "options"], "title": "UserQuestionAdmin" }, "UserQuestionPublic": { "properties": { "id": { "type": "integer", "title": "Id" }, "input": { "type": "string", "title": "Input" }, "text": { "additionalProperties": { "$ref": "#/components/schemas/UserQuestionTextPublic" }, "type": "object", "title": "Text", "default": {} } }, "type": "object", "required": ["id", "input"], "title": "UserQuestionPublic" }, "UserQuestionText": { "properties": { "question": { "type": "string", "title": "Question", "default": "" }, "options_json": { "type": "string", "title": "Options Json", "default": "" }, "user_question_id": { "anyOf": [{ "type": "integer" }, { "type": "null" }], "title": "User Question Id" }, "lang_id": { "anyOf": [{ "type": "string", "maxLength": 2 }, { "type": "null" }], "title": "Lang Id" }, "options": { "type": "string", "title": "Options", "default": "" } }, "type": "object", "title": "UserQuestionText" }, "UserQuestionTextPublic": { "properties": { "question": { "type": "string", "title": "Question", "default": "" }, "options_json": { "type": "string", "title": "Options Json", "default": "" } }, "type": "object", "title": "UserQuestionTextPublic" }, "UserRead": { "properties": { "id": { "type": "integer", "title": "Id" }, "email": { "type": "string", "format": "email", "title": "Email" }, "is_active": { "type": "boolean", "title": "Is Active", "default": true }, "is_superuser": { "type": "boolean", "title": "Is Superuser", "default": false }, "is_verified": { "type": "boolean", "title": "Is Verified", "default": false }, "is_researcher": { "type": "boolean", "title": "Is Researcher" } }, "type": "object", "required": ["id", "email", "is_researcher"], "title": "UserRead" }, "UserUpdate": { "properties": { "password": { "anyOf": [{ "type": "string" }, { "type": "null" }], "title": "Password" }, "email": { "anyOf": [ { "type": "string", "format": "email" }, { "type": "null" } ], "title": "Email" }, "is_active": { "anyOf": [{ "type": "boolean" }, { "type": "null" }], "title": "Is Active" }, "is_superuser": { "anyOf": [{ "type": "boolean" }, { "type": "null" }], "title": "Is Superuser" }, "is_verified": { "anyOf": [{ "type": "boolean" }, { "type": "null" }], "title": "Is Verified" }, "is_researcher": { "anyOf": [{ "type": "boolean" }, { "type": "null" }], "title": "Is Researcher" } }, "type": "object", "title": "UserUpdate" }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [{ "type": "string" }, { "type": "integer" }] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" } }, "type": "object", "required": ["loc", "msg", "type"], "title": "ValidationError" } }, "securitySchemes": { "APIKeyCookie": { "type": "apiKey", "in": "cookie", "name": "fastapiusersauth" } } } }