# plantera-api ## API Docs - Auth [Register](https://doc.plantera.dev/register-38275558e0.md): - Auth [Login](https://doc.plantera.dev/login-38280966e0.md): - Auth [Forgot password](https://doc.plantera.dev/forgot-password-38285489e0.md): Initiates the password recovery flow and sends a 6-digit OTP code to the user's email address - Auth [Verify OTP](https://doc.plantera.dev/verify-otp-38307483e0.md): Validates the 6-digit email verification code before allowing password reset - Auth [Reset password](https://doc.plantera.dev/reset-password-38285493e0.md): Submits a new password to be saved, verifying it against the email and OTP code - Auth [Verify OTP](https://doc.plantera.dev/verify-otp-39249644e0.md): Verify OTP code received via email and obtain a reset token for password reset. - Auth [Logout](https://doc.plantera.dev/logout-39249645e0.md): Log out the current user and invalidate their tokens. - Auth [Refresh Token](https://doc.plantera.dev/refresh-token-39249646e0.md): Exchange a valid refresh token for a new JWT token pair. - Plants [List Plants](https://doc.plantera.dev/list-plants-38283165e0.md): - Plants [Get Plant By Id](https://doc.plantera.dev/get-plant-by-id-38283181e0.md): Retrieves detailed properties and care guidelines for a single plant - Smart Diagnostics [Run AI disease diagnostics](https://doc.plantera.dev/run-ai-disease-diagnostics-38283191e0.md): Submits a plant photo to detect botanical diseases and retrieve a treatment plan - My Plants > Care [Fertilize Plant](https://doc.plantera.dev/fertilize-plant-39249647e0.md): Mark a plant in the user's collection as fertilized. Updates the lastFertilized timestamp and calculates the next fertilizing date. - My Plants > Care [Water Plant](https://doc.plantera.dev/water-plant-39249648e0.md): Mark a plant in the user's collection as watered. Updates the lastWatered timestamp and calculates the next watering date. - My Plants > Care [Mark care task as complete](https://doc.plantera.dev/mark-care-task-as-complete-39249649e0.md): Mark a watering or fertilizing task as done from the calendar. Accepts { myPlantId, type }. Logs the action and advances the next due date. - My Plants > Care [Get Upcoming Care Tasks](https://doc.plantera.dev/get-upcoming-care-tasks-39249650e0.md): Get a paginated list of plant species from the botanical catalog. - My Plants > Care [Get Care Calendar](https://doc.plantera.dev/get-care-calendar-39249651e0.md): Get a paginated list of plant species from the botanical catalog. - My Plants > Care [Get care habit logs](https://doc.plantera.dev/get-care-habit-logs-39249652e0.md): Retrieve watering/fertilizing habit logs, optionally filtered by myPlantId. - My Plants > Care [Get care events](https://doc.plantera.dev/get-care-events-39249653e0.md): Returns flat calendar events for the next 3 months with status (overdue/today/upcoming) and completion tracking. - My Plants > Identification [Identify plant from image](https://doc.plantera.dev/identify-plant-from-image-39249654e0.md): Upload a plant photo to identify its species. Dispatches ML classification job and returns a recordId for polling. - My Plants > Identification [Confirm plant identification](https://doc.plantera.dev/confirm-plant-identification-39249655e0.md): User picks a prediction from identification results. Creates a MyPlant record linked to the matched catalog plant. - My Plants > Diagnosis [Diagnose MyPlant](https://doc.plantera.dev/diagnose-myplant-39249656e0.md): Submit a plant photo (or use existing image) for disease diagnosis on a specific MyPlant. Dispatches ML diagnosis job. - My Plants > Diagnosis [Get diagnosis history](https://doc.plantera.dev/get-diagnosis-history-39249657e0.md): Retrieve paginated diagnosis history for a specific MyPlant. - My Plants > Settings [Update plant image](https://doc.plantera.dev/update-plant-image-39249658e0.md): Upload a new photo for a MyPlant. - My Plants [Retrieve user's garden plants](https://doc.plantera.dev/retrieve-users-garden-plants-38283233e0.md): Gets the list of all plants in the authenticated user's garden collection - My Plants [Add plant to garden](https://doc.plantera.dev/add-plant-to-garden-38308847e0.md): Adds a plant species from the global encyclopedia to the authenticated user's garden - My Plants [Remove plant from garden](https://doc.plantera.dev/remove-plant-from-garden-38309216e0.md): Removes a plant entry from the authenticated user's garden collection - My Plants [Update care schedule](https://doc.plantera.dev/update-care-schedule-38309419e0.md): Sets custom watering and fertilizing frequencies for a plant in the user's garden and recalculates next care dates - Profile [Update Profile](https://doc.plantera.dev/update-profile-38285892e0.md): Updates the authenticated user's first name, last name, and/or email address - Profile [Update Password](https://doc.plantera.dev/update-password-38306300e0.md): Changes the authenticated user's password (requires providing the current password for security verification) - Profile [Update notification preferences](https://doc.plantera.dev/update-notification-preferences-38310113e0.md): Updates the authenticated user's push notification and email alert preferences - Profile [Retrieve notification preferences](https://doc.plantera.dev/retrieve-notification-preferences-38310382e0.md): Retrieves the authenticated user's current push notification and email alert preferences - Profile [Get Profile](https://doc.plantera.dev/get-profile-39249659e0.md): Get the authenticated user's profile including personal info and plant/care activity counts. - Profile [Remove Push Token](https://doc.plantera.dev/remove-push-token-39249660e0.md): Remove the user's push notification token. - Profile [Save Push Token](https://doc.plantera.dev/save-push-token-39249661e0.md): Register a push notification token. - Plants [Diagnose Plant](https://doc.plantera.dev/diagnose-plant-39249662e0.md): Submit a plant image for AI-powered disease diagnosis. - Plants [Classify Plant](https://doc.plantera.dev/classify-plant-39249663e0.md): Submit a plant image for AI-powered species classification. - Diseases [List Diseases](https://doc.plantera.dev/list-diseases-39249664e0.md): Get a paginated list of plant diseases with optional type filtering. - Diseases [Get Disease](https://doc.plantera.dev/get-disease-39249665e0.md): Get details of a specific disease by ID. - Diagnostics [Get Diagnostic Record](https://doc.plantera.dev/get-diagnostic-record-39249666e0.md): Get the user's diagnostic history. - Diagnostics [List Diagnostic Records](https://doc.plantera.dev/list-diagnostic-records-39249667e0.md): Get the user's diagnostic history. - Notifications [List Notifications](https://doc.plantera.dev/list-notifications-39249668e0.md): Get a paginated list of user notifications. - Notifications [Mark Notification Read](https://doc.plantera.dev/mark-notification-read-39249669e0.md): Mark a notification as read. - Posts > Comments [Create Comment](https://doc.plantera.dev/create-comment-39249675e0.md): - Posts > Comments [List Comments](https://doc.plantera.dev/list-comments-39249676e0.md): - Posts > Comments [Delete Comment](https://doc.plantera.dev/delete-comment-39249677e0.md): - Posts > Likes [Toggle Like](https://doc.plantera.dev/toggle-like-39249678e0.md): - Posts > Likes [Get Likes](https://doc.plantera.dev/get-likes-39249679e0.md): - Posts [List Posts](https://doc.plantera.dev/list-posts-39249670e0.md): Get a paginated list of community posts. - Posts [Create Post](https://doc.plantera.dev/create-post-39249671e0.md): Create a new community post. Requires authentication. - Posts [Get Post](https://doc.plantera.dev/get-post-39249672e0.md): Get details of a specific community post. - Posts [Update Post](https://doc.plantera.dev/update-post-39249673e0.md): Update a community post. Requires authentication. - Posts [Delete Post](https://doc.plantera.dev/delete-post-39249674e0.md): Delete a community post. Requires authentication. - Admin > Article [Create Article](https://doc.plantera.dev/create-article-39249680e0.md): Create a new article. Requires admin authentication. - Admin > Article [List Articles](https://doc.plantera.dev/list-articles-39249681e0.md): Get a paginated list of published articles. - Admin > Article [Get Article](https://doc.plantera.dev/get-article-39249682e0.md): Get details of a specific article by ID. - Admin > Article [Update Article](https://doc.plantera.dev/update-article-39249683e0.md): Update an existing article. Requires admin authentication. - Admin > Article [Delete Article](https://doc.plantera.dev/delete-article-39249684e0.md): Delete an article. Requires admin authentication. - Auth [Forgot Password](https://doc.plantera.dev/forgot-password-39250134e0.md): Request a password reset OTP to be sent to the provided email address. - Auth [Verify OTP](https://doc.plantera.dev/verify-otp-39250135e0.md): Verify OTP code received via email and obtain a reset token for password reset. - Auth [Register](https://doc.plantera.dev/register-39250136e0.md): Register a new user account. Returns JWT access and refresh tokens. - Auth [Logout](https://doc.plantera.dev/logout-39250137e0.md): Log out the current user and invalidate their tokens. - Auth [Reset Password](https://doc.plantera.dev/reset-password-39250138e0.md): Reset password using a valid reset token obtained from OTP verification. - Auth [Login](https://doc.plantera.dev/login-39250139e0.md): - Auth [Refresh Token](https://doc.plantera.dev/refresh-token-39250140e0.md): Exchange a valid refresh token for a new JWT token pair. - Plants [Get Plant By ID](https://doc.plantera.dev/get-plant-by-id-39250141e0.md): Get details of a specific plant species by ID. - Plants [List Plants](https://doc.plantera.dev/list-plants-39250142e0.md): Get a paginated list of plant species from the botanical catalog. - Plants [Diagnose Plant](https://doc.plantera.dev/diagnose-plant-39250143e0.md): Submit a plant image for AI-powered disease diagnosis. - Plants [Classify Plant](https://doc.plantera.dev/classify-plant-39250144e0.md): Submit a plant image for AI-powered species classification. - Diseases [List Diseases](https://doc.plantera.dev/list-diseases-39250145e0.md): Get a paginated list of plant diseases with optional type filtering. - Diseases [Get Disease](https://doc.plantera.dev/get-disease-39250146e0.md): Get details of a specific disease by ID. - Diagnostics [Get Diagnostic Record](https://doc.plantera.dev/get-diagnostic-record-39250147e0.md): Get the user's diagnostic history. - Diagnostics [List Diagnostic Records](https://doc.plantera.dev/list-diagnostic-records-39250148e0.md): Get the user's diagnostic history. - Diagnostics [Submit Diagnostic Image](https://doc.plantera.dev/submit-diagnostic-image-39250149e0.md): Submit a plant image for AI-powered diagnosis. - My Plants > Care [Fertilize Plant](https://doc.plantera.dev/fertilize-plant-39250152e0.md): Mark a plant in the user's collection as fertilized. Updates the lastFertilized timestamp and calculates the next fertilizing date. - My Plants > Care [Water Plant](https://doc.plantera.dev/water-plant-39250153e0.md): Mark a plant in the user's collection as watered. Updates the lastWatered timestamp and calculates the next watering date. - My Plants > Care [Mark care task as complete](https://doc.plantera.dev/mark-care-task-as-complete-39250154e0.md): Mark a watering or fertilizing task as done from the calendar. Accepts { myPlantId, type }. Logs the action and advances the next due date. - My Plants > Care [Get Upcoming Care Tasks](https://doc.plantera.dev/get-upcoming-care-tasks-39250155e0.md): Get a paginated list of plant species from the botanical catalog. - My Plants > Care [Get Care Calendar](https://doc.plantera.dev/get-care-calendar-39250156e0.md): Retrieve the complete list of plants in the user's garden (non-paginated) with their frequencies and schedules so the frontend can project the monthly care calendar grid locally. - My Plants > Care [Get care habit logs](https://doc.plantera.dev/get-care-habit-logs-39250157e0.md): Retrieve watering/fertilizing habit logs, optionally filtered by myPlantId. - My Plants > Care [Get care events](https://doc.plantera.dev/get-care-events-39250158e0.md): Returns flat calendar events for the next 3 months with status (overdue/today/upcoming) and completion tracking. - My Plants > Identification [Identify plant from image](https://doc.plantera.dev/identify-plant-from-image-39250159e0.md): Upload a plant photo to identify its species. Dispatches ML classification job and returns a recordId for polling. - My Plants > Identification [Confirm plant identification](https://doc.plantera.dev/confirm-plant-identification-39250160e0.md): User picks a prediction from identification results. Creates a MyPlant record linked to the matched catalog plant. - My Plants > Diagnosis [Diagnose MyPlant](https://doc.plantera.dev/diagnose-myplant-39250161e0.md): Submit a plant photo (or use existing image) for disease diagnosis on a specific MyPlant. Dispatches ML diagnosis job. - My Plants > Diagnosis [Get diagnosis history](https://doc.plantera.dev/get-diagnosis-history-39250162e0.md): Retrieve paginated diagnosis history for a specific MyPlant. - My Plants > Settings [Update plant image](https://doc.plantera.dev/update-plant-image-39250163e0.md): Upload a new photo for a MyPlant. - My Plants > Settings [Remove Plant from Collection](https://doc.plantera.dev/remove-plant-from-collection-39250164e0.md): Remove a plant from the authenticated user's personal collection. - My Plants [List My Plants](https://doc.plantera.dev/list-my-plants-39250150e0.md): Get a paginated list of plant species from the botanical catalog. - My Plants [Add Plant to Collection](https://doc.plantera.dev/add-plant-to-collection-39250151e0.md): Add a plant to the authenticated user's personal collection. The plant must exist in the database. - Profile [Update Profile](https://doc.plantera.dev/update-profile-39250165e0.md): Update the user's profile information (name, email). - Profile [Get Profile](https://doc.plantera.dev/get-profile-39250166e0.md): Get the authenticated user's profile including personal info and plant/care activity counts. - Profile [Change Password](https://doc.plantera.dev/change-password-39250167e0.md): Change the user's password. - Profile [Update Notification Preferences](https://doc.plantera.dev/update-notification-preferences-39250168e0.md): Mark a notification as read. - Profile [Get Notification Preferences](https://doc.plantera.dev/get-notification-preferences-39250169e0.md): Get a paginated list of user notifications. - Profile [Remove Push Token](https://doc.plantera.dev/remove-push-token-39250170e0.md): Remove the user's push notification token. - Profile [Save Push Token](https://doc.plantera.dev/save-push-token-39250171e0.md): Register a push notification token. - Notifications [List Notifications](https://doc.plantera.dev/list-notifications-39250172e0.md): Get a paginated list of user notifications. - Notifications [Mark Notification Read](https://doc.plantera.dev/mark-notification-read-39250173e0.md): Mark a notification as read. - Posts > Comments [Create Comment](https://doc.plantera.dev/create-comment-39250179e0.md): - Posts > Comments [List Comments](https://doc.plantera.dev/list-comments-39250180e0.md): - Posts > Comments [Delete Comment](https://doc.plantera.dev/delete-comment-39250181e0.md): - Posts > Likes [Toggle Like](https://doc.plantera.dev/toggle-like-39250182e0.md): - Posts > Likes [Get Likes](https://doc.plantera.dev/get-likes-39250183e0.md): - Posts [List Posts](https://doc.plantera.dev/list-posts-39250174e0.md): Get a paginated list of community posts. - Posts [Create Post](https://doc.plantera.dev/create-post-39250175e0.md): Create a new community post. Requires authentication. - Posts [Get Post](https://doc.plantera.dev/get-post-39250176e0.md): Get details of a specific community post. - Posts [Update Post](https://doc.plantera.dev/update-post-39250177e0.md): Update a community post. Requires authentication. - Posts [Delete Post](https://doc.plantera.dev/delete-post-39250178e0.md): Delete a community post. Requires authentication. - Admin > Article [Create Article](https://doc.plantera.dev/create-article-39250184e0.md): Create a new article. Requires admin authentication. - Admin > Article [List Articles](https://doc.plantera.dev/list-articles-39250185e0.md): Get a paginated list of published articles. - Admin > Article [Get Article](https://doc.plantera.dev/get-article-39250186e0.md): Get details of a specific article by ID. - Admin > Article [Update Article](https://doc.plantera.dev/update-article-39250187e0.md): Update an existing article. Requires admin authentication. - Admin > Article [Delete Article](https://doc.plantera.dev/delete-article-39250188e0.md): Delete an article. Requires admin authentication. - [Real-time Notifications](https://doc.plantera.dev/real-time-notifications-328677s0.md): ## Connection ## Schemas - DTOs > Auth > Register [RegisterRequest](https://doc.plantera.dev/registerrequest-15902321d0.md): - DTOs > Auth > Register [RegisterResponse](https://doc.plantera.dev/registerresponse-15902322d0.md): - DTOs > Auth > Login [LoginRequest](https://doc.plantera.dev/loginrequest-15902367d0.md): - DTOs > Auth > Login [LoginResponse](https://doc.plantera.dev/loginresponse-15902368d0.md): - DTOs > Auth > Forgot password [ForgotPasswordRequest](https://doc.plantera.dev/forgotpasswordrequest-15902777d0.md): - DTOs > Auth > Forgot password [ForgotPasswordResponse](https://doc.plantera.dev/forgotpasswordresponse-15902778d0.md): - DTOs > Auth > Verify otp [VerifyOtpRequest](https://doc.plantera.dev/verifyotprequest-15912847d0.md): - DTOs > Auth > Verify otp [VerifyOtpResponse](https://doc.plantera.dev/verifyotpresponse-15912848d0.md): - DTOs > Auth > Reset password [ResetPasswordResponse](https://doc.plantera.dev/resetpasswordresponse-15902779d0.md): - DTOs > Auth > Reset password [ResetPasswordRequest](https://doc.plantera.dev/resetpasswordrequest-15902780d0.md): - DTOs > Auth [AuthErrorCode](https://doc.plantera.dev/autherrorcode-15968152d0.md): - DTOs > Plant [PlantListResponse](https://doc.plantera.dev/plantlistresponse-15902529d0.md): - DTOs > Plant [PlantResponse](https://doc.plantera.dev/plantresponse-15902546d0.md): - DTOs > Plant [PlantErrorCode](https://doc.plantera.dev/planterrorcode-15968483d0.md): - DTOs > Diagnostic [DiseaseResponse](https://doc.plantera.dev/diseaseresponse-15902547d0.md): - DTOs > My Plants [MyPlantsListResponse](https://doc.plantera.dev/myplantslistresponse-15902550d0.md): - DTOs > My Plants [AddToMyPlantsRequest](https://doc.plantera.dev/addtomyplantsrequest-15913102d0.md): - DTOs > My Plants [AddToMyPlantsResponse](https://doc.plantera.dev/addtomyplantsresponse-15913188d0.md): - DTOs > My Plants [RemoveFromMyPlantsResponse](https://doc.plantera.dev/removefrommyplantsresponse-15913317d0.md): - DTOs > My Plants [UpdateScheduleRequest](https://doc.plantera.dev/updateschedulerequest-15913368d0.md): - DTOs > My Plants [UpdateScheduleResponse](https://doc.plantera.dev/updatescheduleresponse-15913453d0.md): - DTOs > Profile [UpdateProfileRequest](https://doc.plantera.dev/updateprofilerequest-15902921d0.md): - DTOs > Profile [UpdateProfileResponse](https://doc.plantera.dev/updateprofileresponse-15912770d0.md): - DTOs > Profile [ChangePasswordRequest](https://doc.plantera.dev/changepasswordrequest-15912775d0.md): - DTOs > Profile [ChangePasswordResponse](https://doc.plantera.dev/changepasswordresponse-15912774d0.md): - DTOs > Profile [UpdateNotificationPreferencesRequest](https://doc.plantera.dev/updatenotificationpreferencesrequest-15913698d0.md): - DTOs > Profile [UpdateNotificationPreferencesResponse](https://doc.plantera.dev/updatenotificationpreferencesresponse-15913642d0.md): - DTOs > Profile [GetNotificationPreferencesResponse](https://doc.plantera.dev/getnotificationpreferencesresponse-15913909d0.md): - DTOs > Common [PaginationMeta](https://doc.plantera.dev/paginationmeta-15902549d0.md): - Envelopes > Errors [GlobalErrorCode](https://doc.plantera.dev/globalerrorcode-15968284d0.md): - Envelopes > Errors [ErrorResponse](https://doc.plantera.dev/errorresponse-15963232d0.md): - Envelopes [Success](https://doc.plantera.dev/success-15900252d0.md): - Envelopes [ConflictError](https://doc.plantera.dev/conflicterror-16170469d0.md): - Envelopes [ValidationError](https://doc.plantera.dev/validationerror-16170470d0.md): - Models > User > Props [FirstName](https://doc.plantera.dev/firstname-16170471d0.md): - Models > User > Props [LastName](https://doc.plantera.dev/lastname-16170472d0.md): - Models > User > Props [UserName](https://doc.plantera.dev/username-16170473d0.md): - Models > User > Props [Email](https://doc.plantera.dev/email-16170474d0.md): - Models > User > Props [Password](https://doc.plantera.dev/password-16170475d0.md): - Models [User](https://doc.plantera.dev/user-15900138d0.md): - Models [Plant](https://doc.plantera.dev/plant-15900141d0.md): - Models [Disease](https://doc.plantera.dev/disease-15900146d0.md): - Models [MyPlant](https://doc.plantera.dev/myplant-15913266d0.md): - Models [NotificationPreferences](https://doc.plantera.dev/notificationpreferences-15913547d0.md): - Errors [InternalServerError](https://doc.plantera.dev/internalservererror-16170476d0.md): - Errors [RateLimitError](https://doc.plantera.dev/ratelimiterror-16170477d0.md): - Errors [NotFoundError](https://doc.plantera.dev/notfounderror-16170478d0.md): - Errors [ForbiddenError](https://doc.plantera.dev/forbiddenerror-16170479d0.md): - Errors [MethodNotAllowedError](https://doc.plantera.dev/methodnotallowederror-16170480d0.md): - Errors [BadRequestError](https://doc.plantera.dev/badrequesterror-16170481d0.md): - Errors [UnsupportedMediaTypeError](https://doc.plantera.dev/unsupportedmediatypeerror-16170482d0.md): - Errors [UnauthorizedError](https://doc.plantera.dev/unauthorizederror-16170483d0.md): - Auth > dto [LogoutResponse](https://doc.plantera.dev/logoutresponse-16170484d0.md): - Auth > dto [RefreshTokenRequest](https://doc.plantera.dev/refreshtokenrequest-16170485d0.md): - Auth > dto [AuthResponse](https://doc.plantera.dev/authresponse-16170486d0.md): - Auth > dto [RefreshTokenResponse](https://doc.plantera.dev/refreshtokenresponse-16170487d0.md): - Auth > Errors [LoginValidationError](https://doc.plantera.dev/loginvalidationerror-16170488d0.md): - Auth > Errors [ForgotPasswordValidationError](https://doc.plantera.dev/forgotpasswordvalidationerror-16170489d0.md): - Auth > Errors [RefreshTokenValidationError](https://doc.plantera.dev/refreshtokenvalidationerror-16170490d0.md): - Auth > Errors [ResetPasswordValidationError](https://doc.plantera.dev/resetpasswordvalidationerror-16170491d0.md): - Auth > Errors [VerifyOtpValidationError](https://doc.plantera.dev/verifyotpvalidationerror-16170492d0.md): - Auth > Errors [LoginUnauthorizedError](https://doc.plantera.dev/loginunauthorizederror-16170493d0.md): - Auth > Errors [VerifyOtpBadRequestError](https://doc.plantera.dev/verifyotpbadrequesterror-16170494d0.md): - Auth > Errors [RefreshUnauthorizedError](https://doc.plantera.dev/refreshunauthorizederror-16170495d0.md): - Auth > Errors [ResetPasswordBadRequestError](https://doc.plantera.dev/resetpasswordbadrequesterror-16170496d0.md): - Auth > Errors [ResetPasswordNotFoundError](https://doc.plantera.dev/resetpasswordnotfounderror-16170497d0.md): - Auth > Errors [RegisterValidationError](https://doc.plantera.dev/registervalidationerror-16170498d0.md): - Auth > Errors [RegisterConflictEmailError](https://doc.plantera.dev/registerconflictemailerror-16170499d0.md): - Auth > Errors [RegisterConflictUsernameError](https://doc.plantera.dev/registerconflictusernameerror-16170500d0.md): - Auth > Errors [LoginConflictError](https://doc.plantera.dev/loginconflicterror-16170501d0.md): - Plants [PlantNotFoundError](https://doc.plantera.dev/plantnotfounderror-16170502d0.md): - Plants [PlantMissingImageError](https://doc.plantera.dev/plantmissingimageerror-16170503d0.md): - Plants [PlantInvalidFileTypeError](https://doc.plantera.dev/plantinvalidfiletypeerror-16170504d0.md): - Plants [PlantClassifyResponse](https://doc.plantera.dev/plantclassifyresponse-16170505d0.md): - Plants [PlantListQuery](https://doc.plantera.dev/plantlistquery-16170506d0.md): - Plants [PlantDiagnoseResponse](https://doc.plantera.dev/plantdiagnoseresponse-16170507d0.md): - Plants [PlantFileSizeExceededError](https://doc.plantera.dev/plantfilesizeexceedederror-16170508d0.md): - Plants [PlantEmptyImageFileError](https://doc.plantera.dev/plantemptyimagefileerror-16170509d0.md): - Diseases [DiseaseListQuery](https://doc.plantera.dev/diseaselistquery-16170510d0.md): - Diseases [DiseaseListResponse](https://doc.plantera.dev/diseaselistresponse-16170511d0.md): - Diseases [DiseaseNotFoundError](https://doc.plantera.dev/diseasenotfounderror-16170512d0.md): - Diagnostics [DiagnosticNotFoundError](https://doc.plantera.dev/diagnosticnotfounderror-16170513d0.md): - Diagnostics [DiagnosticRecord](https://doc.plantera.dev/diagnosticrecord-16170514d0.md): - Diagnostics [DiagnosticListResponse](https://doc.plantera.dev/diagnosticlistresponse-16170515d0.md): - Diagnostics [DiagnosticListQueryDto](https://doc.plantera.dev/diagnosticlistquerydto-16170516d0.md): - Diagnostics [DiagnosticResponse](https://doc.plantera.dev/diagnosticresponse-16170517d0.md): - MyPlants [MyPlantListQueryDto](https://doc.plantera.dev/myplantlistquerydto-16170518d0.md): - MyPlants [CalendarCareQueryDto](https://doc.plantera.dev/calendarcarequerydto-16170519d0.md): - MyPlants [UpdateScheduleDto](https://doc.plantera.dev/updatescheduledto-16170520d0.md): - MyPlants [MyPlantResponse](https://doc.plantera.dev/myplantresponse-16170521d0.md): - MyPlants [UpcomingCareResponse](https://doc.plantera.dev/upcomingcareresponse-16170522d0.md): - MyPlants [MyPlantNotFoundError](https://doc.plantera.dev/myplantnotfounderror-16170523d0.md): - MyPlants [MyPlantAlreadyExistsError](https://doc.plantera.dev/myplantalreadyexistserror-16170524d0.md): - MyPlants [DeleteMyPlantResponse](https://doc.plantera.dev/deletemyplantresponse-16170525d0.md): - MyPlants [UpdateScheduleValidationError](https://doc.plantera.dev/updateschedulevalidationerror-16170526d0.md): - MyPlants [CareLog](https://doc.plantera.dev/carelog-16170527d0.md): - MyPlants [CareLogListResponse](https://doc.plantera.dev/careloglistresponse-16170528d0.md): - MyPlants [CareEvent](https://doc.plantera.dev/careevent-16170529d0.md): - MyPlants [CareEventListResponse](https://doc.plantera.dev/careeventlistresponse-16170530d0.md): - MyPlants [IdentifyPlantResponse](https://doc.plantera.dev/identifyplantresponse-16170531d0.md): - MyPlants [IdentifyPlantSuggestionsResponse](https://doc.plantera.dev/identifyplantsuggestionsresponse-16170532d0.md): - MyPlants [ConfirmIdentifyResponse](https://doc.plantera.dev/confirmidentifyresponse-16170533d0.md): - MyPlants [AddToMyPlantsDto](https://doc.plantera.dev/addtomyplantsdto-16170534d0.md): - MyPlants [CalendarCareResponse](https://doc.plantera.dev/calendarcareresponse-16170535d0.md): - MyPlants [AddToMyPlantsValidationError](https://doc.plantera.dev/addtomyplantsvalidationerror-16170536d0.md): - Profile [ChangePasswordRequestDto](https://doc.plantera.dev/changepasswordrequestdto-16170537d0.md): - Profile [UpdateProfileRequestDto](https://doc.plantera.dev/updateprofilerequestdto-16170538d0.md): - Profile [EmailTakenError](https://doc.plantera.dev/emailtakenerror-16170539d0.md): - Profile [PasswordIncorrectError](https://doc.plantera.dev/passwordincorrecterror-16170540d0.md): - Profile [PasswordFailedError](https://doc.plantera.dev/passwordfailederror-16170541d0.md): - Profile [UserNotFoundError](https://doc.plantera.dev/usernotfounderror-16170542d0.md): - Profile [SendEmailOtpDto](https://doc.plantera.dev/sendemailotpdto-16170543d0.md): - Profile [VerifyEmailOtpDto](https://doc.plantera.dev/verifyemailotpdto-16170544d0.md): - Profile [EmailOtpSentResponse](https://doc.plantera.dev/emailotpsentresponse-16170545d0.md): - Profile [EmailVerifiedResponse](https://doc.plantera.dev/emailverifiedresponse-16170546d0.md): - Profile [RemovePushTokenResponse](https://doc.plantera.dev/removepushtokenresponse-16170547d0.md): - Profile [SavePushTokenResponse](https://doc.plantera.dev/savepushtokenresponse-16170548d0.md): - Profile [Profile](https://doc.plantera.dev/profile-16170549d0.md): - Profile [GetProfileResponse](https://doc.plantera.dev/getprofileresponse-16170550d0.md): - Profile [SavePushTokenDto](https://doc.plantera.dev/savepushtokendto-16170551d0.md): - Profile [UpdateNotificationPreferencesRequestDto](https://doc.plantera.dev/updatenotificationpreferencesrequestdto-16170552d0.md): - Profile [PushTokenInvalidError](https://doc.plantera.dev/pushtokeninvaliderror-16170553d0.md): - Profile [ProfileUpdateFailedError](https://doc.plantera.dev/profileupdatefailederror-16170554d0.md): - Notifications [Notification](https://doc.plantera.dev/notification-16170555d0.md): - Notifications [NotificationListResponse](https://doc.plantera.dev/notificationlistresponse-16170556d0.md): - Notifications [NotificationNotFoundError](https://doc.plantera.dev/notificationnotfounderror-16170557d0.md): - Notifications [MarkNotificationReadResponse](https://doc.plantera.dev/marknotificationreadresponse-16170558d0.md): - Articles [Article](https://doc.plantera.dev/article-16170559d0.md): - Articles [CreateArticleDto](https://doc.plantera.dev/createarticledto-16170560d0.md): - Articles [UpdateArticleDto](https://doc.plantera.dev/updatearticledto-16170561d0.md): - Articles [ArticleListResponse](https://doc.plantera.dev/articlelistresponse-16170562d0.md): - Articles [ArticleResponse](https://doc.plantera.dev/articleresponse-16170563d0.md): - Articles [ArticleNotFoundError](https://doc.plantera.dev/articlenotfounderror-16170564d0.md): - Articles [ArticleForbiddenError](https://doc.plantera.dev/articleforbiddenerror-16170565d0.md): - Articles [ArticleValidationError](https://doc.plantera.dev/articlevalidationerror-16170566d0.md): - Articles [ArticleDeleteResponse](https://doc.plantera.dev/articledeleteresponse-16170567d0.md): - Community [CommunityPost](https://doc.plantera.dev/communitypost-16170568d0.md): - Community [CreateCommunityDto](https://doc.plantera.dev/createcommunitydto-16170569d0.md): - Community [UpdateCommunityDto](https://doc.plantera.dev/updatecommunitydto-16170570d0.md): - Community [CommunityListResponse](https://doc.plantera.dev/communitylistresponse-16170571d0.md): - Community [CommunityResponse](https://doc.plantera.dev/communityresponse-16170572d0.md): - Community [CommunityNotFoundError](https://doc.plantera.dev/communitynotfounderror-16170573d0.md): - Community [CommunityForbiddenError](https://doc.plantera.dev/communityforbiddenerror-16170574d0.md): - Community [CommunityValidationError](https://doc.plantera.dev/communityvalidationerror-16170575d0.md): - Community [Comment](https://doc.plantera.dev/comment-16170576d0.md): - Community [CommentResponse](https://doc.plantera.dev/commentresponse-16170577d0.md): - Community [CommentListResponse](https://doc.plantera.dev/commentlistresponse-16170578d0.md): - Community [LikeResponse](https://doc.plantera.dev/likeresponse-16170579d0.md): - Community [CreateCommentDto](https://doc.plantera.dev/createcommentdto-16170580d0.md): - Community [CommunityDeleteResponse](https://doc.plantera.dev/communitydeleteresponse-16170581d0.md): - [User1](https://doc.plantera.dev/user1-16170582d0.md): - DTOs > Classification [ClassificationResponse](https://doc.plantera.dev/classificationresponse-16005358d0.md): - DTOs > Detection [DiagonsisResponse](https://doc.plantera.dev/diagonsisresponse-16007110d0.md): - Envelopes [ErrorResponse](https://doc.plantera.dev/errorresponse-16007135d0.md): - Envelopes [SuccessResponse](https://doc.plantera.dev/successresponse-16003580d0.md): - Errors [ErrorResponse](https://doc.plantera.dev/errorresponse-16170680d0.md): - Errors [InternalServerError](https://doc.plantera.dev/internalservererror-16170681d0.md): - Errors [RateLimitError](https://doc.plantera.dev/ratelimiterror-16170682d0.md): - Errors [NotFoundError](https://doc.plantera.dev/notfounderror-16170683d0.md): - Errors [ForbiddenError](https://doc.plantera.dev/forbiddenerror-16170684d0.md): - Errors [MethodNotAllowedError](https://doc.plantera.dev/methodnotallowederror-16170685d0.md): - Errors [BadRequestError](https://doc.plantera.dev/badrequesterror-16170686d0.md): - Errors [UnsupportedMediaTypeError](https://doc.plantera.dev/unsupportedmediatypeerror-16170687d0.md): - Errors [UnauthorizedError](https://doc.plantera.dev/unauthorizederror-16170688d0.md): - Envelopes [GlobalErrorCode](https://doc.plantera.dev/globalerrorcode-16170689d0.md): - Envelopes [Success](https://doc.plantera.dev/success-16170690d0.md): - Envelopes [ConflictError](https://doc.plantera.dev/conflicterror-16170691d0.md): - Envelopes [ValidationError](https://doc.plantera.dev/validationerror-16170692d0.md): - Models > User > Model [User](https://doc.plantera.dev/user-16170694d0.md): - Models > User > Props [FirstName](https://doc.plantera.dev/firstname-16170695d0.md): - Models > User > Props [LastName](https://doc.plantera.dev/lastname-16170696d0.md): - Models > User > Props [UserName](https://doc.plantera.dev/username-16170697d0.md): - Models > User > Props [Email](https://doc.plantera.dev/email-16170698d0.md): - Models > User > Props [Password](https://doc.plantera.dev/password-16170699d0.md): - Models [PaginationMeta](https://doc.plantera.dev/paginationmeta-16170693d0.md): - Auth > dto [LogoutResponse](https://doc.plantera.dev/logoutresponse-16170700d0.md): - Auth > dto [ForgotPasswordResponse](https://doc.plantera.dev/forgotpasswordresponse-16170701d0.md): - Auth > dto [ResetPasswordResponse](https://doc.plantera.dev/resetpasswordresponse-16170702d0.md): - Auth > dto [LoginRequest](https://doc.plantera.dev/loginrequest-16170703d0.md): - Auth > dto [RefreshTokenRequest](https://doc.plantera.dev/refreshtokenrequest-16170704d0.md): - Auth > dto [ForgotPasswordRequest](https://doc.plantera.dev/forgotpasswordrequest-16170705d0.md): - Auth > dto [VerifyOtpRequest](https://doc.plantera.dev/verifyotprequest-16170706d0.md): - Auth > dto [ResetPasswordRequest](https://doc.plantera.dev/resetpasswordrequest-16170707d0.md): - Auth > dto [RegisterRequest](https://doc.plantera.dev/registerrequest-16170708d0.md): - Auth > dto [AuthResponse](https://doc.plantera.dev/authresponse-16170709d0.md): - Auth > dto [RefreshTokenResponse](https://doc.plantera.dev/refreshtokenresponse-16170710d0.md): - Auth > dto [VerifyOtpResponse](https://doc.plantera.dev/verifyotpresponse-16170711d0.md): - Auth > Errors [LoginValidationError](https://doc.plantera.dev/loginvalidationerror-16170712d0.md): - Auth > Errors [ForgotPasswordValidationError](https://doc.plantera.dev/forgotpasswordvalidationerror-16170713d0.md): - Auth > Errors [RefreshTokenValidationError](https://doc.plantera.dev/refreshtokenvalidationerror-16170714d0.md): - Auth > Errors [ResetPasswordValidationError](https://doc.plantera.dev/resetpasswordvalidationerror-16170715d0.md): - Auth > Errors [VerifyOtpValidationError](https://doc.plantera.dev/verifyotpvalidationerror-16170716d0.md): - Auth > Errors [LoginUnauthorizedError](https://doc.plantera.dev/loginunauthorizederror-16170717d0.md): - Auth > Errors [VerifyOtpBadRequestError](https://doc.plantera.dev/verifyotpbadrequesterror-16170718d0.md): - Auth > Errors [RefreshUnauthorizedError](https://doc.plantera.dev/refreshunauthorizederror-16170719d0.md): - Auth > Errors [ResetPasswordBadRequestError](https://doc.plantera.dev/resetpasswordbadrequesterror-16170720d0.md): - Auth > Errors [ResetPasswordNotFoundError](https://doc.plantera.dev/resetpasswordnotfounderror-16170721d0.md): - Auth > Errors [RegisterValidationError](https://doc.plantera.dev/registervalidationerror-16170722d0.md): - Auth > Errors [RegisterConflictEmailError](https://doc.plantera.dev/registerconflictemailerror-16170723d0.md): - Auth > Errors [RegisterConflictUsernameError](https://doc.plantera.dev/registerconflictusernameerror-16170724d0.md): - Auth > Errors [LoginConflictError](https://doc.plantera.dev/loginconflicterror-16170725d0.md): - Auth > Errors [AuthErrorCode](https://doc.plantera.dev/autherrorcode-16170726d0.md): - Plants [Plant](https://doc.plantera.dev/plant-16170727d0.md): - Plants [PlantNotFoundError](https://doc.plantera.dev/plantnotfounderror-16170728d0.md): - Plants [PlantResponse](https://doc.plantera.dev/plantresponse-16170729d0.md): - Plants [PlantMissingImageError](https://doc.plantera.dev/plantmissingimageerror-16170730d0.md): - Plants [PlantInvalidFileTypeError](https://doc.plantera.dev/plantinvalidfiletypeerror-16170731d0.md): - Plants [PlantClassifyResponse](https://doc.plantera.dev/plantclassifyresponse-16170732d0.md): - Plants [PlantListQuery](https://doc.plantera.dev/plantlistquery-16170733d0.md): - Plants [PlantListResponse](https://doc.plantera.dev/plantlistresponse-16170734d0.md): - Plants [PlantDiagnoseResponse](https://doc.plantera.dev/plantdiagnoseresponse-16170735d0.md): - Plants [PlantFileSizeExceededError](https://doc.plantera.dev/plantfilesizeexceedederror-16170736d0.md): - Plants [PlantEmptyImageFileError](https://doc.plantera.dev/plantemptyimagefileerror-16170737d0.md): - Diseases [Disease](https://doc.plantera.dev/disease-16170738d0.md): - Diseases [DiseaseListQuery](https://doc.plantera.dev/diseaselistquery-16170739d0.md): - Diseases [DiseaseListResponse](https://doc.plantera.dev/diseaselistresponse-16170740d0.md): - Diseases [DiseaseResponse](https://doc.plantera.dev/diseaseresponse-16170741d0.md): - Diseases [DiseaseNotFoundError](https://doc.plantera.dev/diseasenotfounderror-16170742d0.md): - Diagnostics [DiagnosticNotFoundError](https://doc.plantera.dev/diagnosticnotfounderror-16170743d0.md): - Diagnostics [DiagnosticRecord](https://doc.plantera.dev/diagnosticrecord-16170744d0.md): - Diagnostics [DiagnosticListResponse](https://doc.plantera.dev/diagnosticlistresponse-16170745d0.md): - Diagnostics [DiagnosticListQueryDto](https://doc.plantera.dev/diagnosticlistquerydto-16170746d0.md): - Diagnostics [DiagnosticResponse](https://doc.plantera.dev/diagnosticresponse-16170747d0.md): - MyPlants [MyPlant](https://doc.plantera.dev/myplant-16170748d0.md): - MyPlants [MyPlantListQueryDto](https://doc.plantera.dev/myplantlistquerydto-16170749d0.md): - MyPlants [CalendarCareQueryDto](https://doc.plantera.dev/calendarcarequerydto-16170750d0.md): - MyPlants [UpdateScheduleDto](https://doc.plantera.dev/updatescheduledto-16170751d0.md): - MyPlants [MyPlantResponse](https://doc.plantera.dev/myplantresponse-16170752d0.md): - MyPlants [MyPlantsListResponse](https://doc.plantera.dev/myplantslistresponse-16170753d0.md): - MyPlants [UpcomingCareResponse](https://doc.plantera.dev/upcomingcareresponse-16170754d0.md): - MyPlants [MyPlantNotFoundError](https://doc.plantera.dev/myplantnotfounderror-16170755d0.md): - MyPlants [MyPlantAlreadyExistsError](https://doc.plantera.dev/myplantalreadyexistserror-16170756d0.md): - MyPlants [AddToMyPlantsResponse](https://doc.plantera.dev/addtomyplantsresponse-16170757d0.md): - MyPlants [DeleteMyPlantResponse](https://doc.plantera.dev/deletemyplantresponse-16170758d0.md): - MyPlants [CareLog](https://doc.plantera.dev/carelog-16170759d0.md): - MyPlants [CareLogListResponse](https://doc.plantera.dev/careloglistresponse-16170760d0.md): - MyPlants [CareEvent](https://doc.plantera.dev/careevent-16170761d0.md): - MyPlants [CareEventListResponse](https://doc.plantera.dev/careeventlistresponse-16170762d0.md): - MyPlants [IdentifyPlantResponse](https://doc.plantera.dev/identifyplantresponse-16170763d0.md): - MyPlants [IdentifyPlantSuggestionsResponse](https://doc.plantera.dev/identifyplantsuggestionsresponse-16170764d0.md): - MyPlants [ConfirmIdentifyResponse](https://doc.plantera.dev/confirmidentifyresponse-16170765d0.md): - MyPlants [AddToMyPlantsDto](https://doc.plantera.dev/addtomyplantsdto-16170766d0.md): - MyPlants [CalendarCareResponse](https://doc.plantera.dev/calendarcareresponse-16170767d0.md): - MyPlants [AddToMyPlantsValidationError](https://doc.plantera.dev/addtomyplantsvalidationerror-16170768d0.md): - Profile [ChangePasswordRequestDto](https://doc.plantera.dev/changepasswordrequestdto-16170769d0.md): - Profile [UpdateProfileRequestDto](https://doc.plantera.dev/updateprofilerequestdto-16170770d0.md): - Profile [EmailTakenError](https://doc.plantera.dev/emailtakenerror-16170771d0.md): - Profile [PasswordIncorrectError](https://doc.plantera.dev/passwordincorrecterror-16170772d0.md): - Profile [PasswordFailedError](https://doc.plantera.dev/passwordfailederror-16170773d0.md): - Profile [UserNotFoundError](https://doc.plantera.dev/usernotfounderror-16170774d0.md): - Profile [UpdateProfileResponse](https://doc.plantera.dev/updateprofileresponse-16170775d0.md): - Profile [UpdateNotificationPreferencesResponse](https://doc.plantera.dev/updatenotificationpreferencesresponse-16170776d0.md): - Profile [GetNotificationPreferencesResponse](https://doc.plantera.dev/getnotificationpreferencesresponse-16170777d0.md): - Profile [SendEmailOtpDto](https://doc.plantera.dev/sendemailotpdto-16170778d0.md): - Profile [VerifyEmailOtpDto](https://doc.plantera.dev/verifyemailotpdto-16170779d0.md): - Profile [EmailOtpSentResponse](https://doc.plantera.dev/emailotpsentresponse-16170780d0.md): - Profile [EmailVerifiedResponse](https://doc.plantera.dev/emailverifiedresponse-16170781d0.md): - Profile [RemovePushTokenResponse](https://doc.plantera.dev/removepushtokenresponse-16170782d0.md): - Profile [SavePushTokenResponse](https://doc.plantera.dev/savepushtokenresponse-16170783d0.md): - Profile [Profile](https://doc.plantera.dev/profile-16170784d0.md): - Profile [GetProfileResponse](https://doc.plantera.dev/getprofileresponse-16170785d0.md): - Profile [SendEmailOtpValidationError](https://doc.plantera.dev/sendemailotpvalidationerror-16170786d0.md): - Profile [NotificationPreferences](https://doc.plantera.dev/notificationpreferences-16170787d0.md): - Profile [SavePushTokenDto](https://doc.plantera.dev/savepushtokendto-16170788d0.md): - Profile [UpdateNotificationPreferencesRequestDto](https://doc.plantera.dev/updatenotificationpreferencesrequestdto-16170789d0.md): - Profile [ChangePasswordResponse](https://doc.plantera.dev/changepasswordresponse-16170790d0.md): - Profile [PushTokenInvalidError](https://doc.plantera.dev/pushtokeninvaliderror-16170791d0.md): - Profile [ProfileUpdateFailedError](https://doc.plantera.dev/profileupdatefailederror-16170792d0.md): - Notifications [Notification](https://doc.plantera.dev/notification-16170793d0.md): - Notifications [NotificationListResponse](https://doc.plantera.dev/notificationlistresponse-16170794d0.md): - Notifications [NotificationNotFoundError](https://doc.plantera.dev/notificationnotfounderror-16170795d0.md): - Notifications [MarkNotificationReadResponse](https://doc.plantera.dev/marknotificationreadresponse-16170796d0.md): - Articles [Article](https://doc.plantera.dev/article-16170797d0.md): - Articles [CreateArticleDto](https://doc.plantera.dev/createarticledto-16170798d0.md): - Articles [UpdateArticleDto](https://doc.plantera.dev/updatearticledto-16170799d0.md): - Articles [ArticleListResponse](https://doc.plantera.dev/articlelistresponse-16170800d0.md): - Articles [ArticleResponse](https://doc.plantera.dev/articleresponse-16170801d0.md): - Articles [ArticleNotFoundError](https://doc.plantera.dev/articlenotfounderror-16170802d0.md): - Articles [ArticleForbiddenError](https://doc.plantera.dev/articleforbiddenerror-16170803d0.md): - Articles [ArticleValidationError](https://doc.plantera.dev/articlevalidationerror-16170804d0.md): - Articles [ArticleDeleteResponse](https://doc.plantera.dev/articledeleteresponse-16170805d0.md): - Community [CommunityPost](https://doc.plantera.dev/communitypost-16170806d0.md): - Community [CreateCommunityDto](https://doc.plantera.dev/createcommunitydto-16170807d0.md): - Community [UpdateCommunityDto](https://doc.plantera.dev/updatecommunitydto-16170808d0.md): - Community [CommunityListResponse](https://doc.plantera.dev/communitylistresponse-16170809d0.md): - Community [CommunityResponse](https://doc.plantera.dev/communityresponse-16170810d0.md): - Community [CommunityNotFoundError](https://doc.plantera.dev/communitynotfounderror-16170811d0.md): - Community [CommunityForbiddenError](https://doc.plantera.dev/communityforbiddenerror-16170812d0.md): - Community [CommunityValidationError](https://doc.plantera.dev/communityvalidationerror-16170813d0.md): - Community [Comment](https://doc.plantera.dev/comment-16170814d0.md): - Community [CommentResponse](https://doc.plantera.dev/commentresponse-16170815d0.md): - Community [CommentListResponse](https://doc.plantera.dev/commentlistresponse-16170816d0.md): - Community [LikeResponse](https://doc.plantera.dev/likeresponse-16170817d0.md): - Community [CreateCommentDto](https://doc.plantera.dev/createcommentdto-16170818d0.md): - Community [CommunityDeleteResponse](https://doc.plantera.dev/communitydeleteresponse-16170819d0.md): - Default Folder [User1](https://doc.plantera.dev/user1-16170820d0.md):