/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ export interface paths { "/v1/recipes/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getRecipe"]; put: operations["updateRecipe"]; post?: never; delete: operations["deleteRecipe"]; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/week-plans": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getWeekPlan"]; put?: never; post: operations["createWeekPlan"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/week-plans/{id}/slots": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["addSlot"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/week-plans/{id}/shopping-list": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["generateFromPlan"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/week-plans/{id}/confirm": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["confirmPlan"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/tags": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["listTags"]; put?: never; post: operations["createTag"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/shopping-lists/{id}/items": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["addItem"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/recipes": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["listRecipes"]; put?: never; post: operations["createRecipe"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/pantry-items": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["listItems"]; put?: never; post: operations["createItem"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/invites/{code}/accept": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["acceptInvite"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/ingredient-categories": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["listCategories"]; put?: never; post: operations["createCategory"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/households": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["createHousehold"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/households/mine/invites": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getActiveInvite"]; put?: never; post: operations["createInvite"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/households/mine/members/{userId}": { parameters: { query?: never; header?: never; path: { userId: string; }; cookie?: never; }; get?: never; put?: never; post?: never; delete: operations["removeMember"]; options?: never; head?: never; patch: operations["changeMemberRole"]; trace?: never; }; "/v1/cooking-logs": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["listCookingLogs"]; put?: never; post: operations["createCookingLog"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/auth/signup": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["signup"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/auth/logout": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["logout"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/auth/login": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["login"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/admin/users": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["listUsers"]; put?: never; post: operations["createUser"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/admin/users/{id}/reset-password": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["resetPassword"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/week-plans/{planId}/slots/{slotId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete: operations["deleteSlot"]; options?: never; head?: never; patch: operations["updateSlot"]; trace?: never; }; "/v1/shopping-lists/{listId}/items/{itemId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete: operations["deleteItem"]; options?: never; head?: never; patch: operations["checkItem"]; trace?: never; }; "/v1/pantry-items/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete: operations["deleteItem_1"]; options?: never; head?: never; patch: operations["updateItem"]; trace?: never; }; "/v1/ingredients/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete?: never; options?: never; head?: never; patch: operations["patchIngredient"]; trace?: never; }; "/v1/auth/me": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["me"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch: operations["updateProfile"]; trace?: never; }; "/v1/admin/users/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete?: never; options?: never; head?: never; patch: operations["updateUser"]; trace?: never; }; "/v1/week-plans/{id}/variety-score": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getVarietyScore"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/week-plans/{id}/suggestions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getSuggestions"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/shopping-lists/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getShoppingList"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/shopping-list": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getByWeekStart"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/ingredients": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["searchIngredients"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/households/mine": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getMyHousehold"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/households/mine/members": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getMembers"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/admin/audit-log": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["listAuditLog"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; } export type webhooks = Record; export interface components { schemas: { IngredientEntry: { /** Format: uuid */ ingredientId?: string; newIngredientName?: string; quantity: number; unit: string; /** Format: int32 */ sortOrder?: number; }; RecipeCreateRequest: { name: string; /** Format: int32 */ serves?: number; /** Format: int32 */ cookTimeMin?: number; effort: string; heroImageUrl?: string; ingredients: components["schemas"]["IngredientEntry"][]; steps?: components["schemas"]["StepEntry"][]; tagIds: string[]; }; StepEntry: { /** Format: int32 */ stepNumber?: number; instruction: string; }; CategoryRef: { /** Format: uuid */ id?: string; name?: string; }; IngredientItem: { /** Format: uuid */ ingredientId?: string; name?: string; category?: components["schemas"]["CategoryRef"]; quantity?: number; unit?: string; /** Format: int32 */ sortOrder?: number; }; RecipeDetailResponse: { /** Format: uuid */ id?: string; name?: string; /** Format: int32 */ serves?: number; /** Format: int32 */ cookTimeMin?: number; effort?: string; heroImageUrl?: string; ingredients?: components["schemas"]["IngredientItem"][]; steps?: components["schemas"]["StepItem"][]; tags?: components["schemas"]["TagItem"][]; }; StepItem: { /** Format: int32 */ stepNumber?: number; instruction?: string; }; TagItem: { /** Format: uuid */ id?: string; name?: string; tagType?: string; }; CreateWeekPlanRequest: { /** Format: date */ weekStart: string; }; SlotRecipe: { /** Format: uuid */ id?: string; name?: string; effort?: string; /** Format: int32 */ cookTimeMin?: number; heroImageUrl?: string; }; SlotResponse: { /** Format: uuid */ id?: string; /** Format: date */ slotDate?: string; recipe?: components["schemas"]["SlotRecipe"]; }; WeekPlanResponse: { /** Format: uuid */ id?: string; /** Format: date */ weekStart?: string; status?: string; /** Format: date-time */ confirmedAt?: string; slots?: components["schemas"]["SlotResponse"][]; }; CreateSlotRequest: { /** Format: date */ slotDate: string; /** Format: uuid */ recipeId: string; }; RecipeRef: { /** Format: uuid */ id?: string; name?: string; }; ShoppingListItemResponse: { /** Format: uuid */ id?: string; /** Format: uuid */ ingredientId?: string; name?: string; category?: components["schemas"]["CategoryRef"]; quantity?: number; unit?: string; isChecked?: boolean; /** Format: uuid */ checkedBy?: string; sourceRecipes?: components["schemas"]["RecipeRef"][]; }; ShoppingListResponse: { /** Format: uuid */ id?: string; /** Format: uuid */ weekPlanId?: string; /** Format: date-time */ generatedAt?: string; /** Format: int32 */ filteredStaplesCount?: number; items?: components["schemas"]["ShoppingListItemResponse"][]; }; TagCreateRequest: { name: string; tagType: string; }; TagResponse: { /** Format: uuid */ id?: string; name?: string; tagType?: string; }; AddItemRequest: { /** Format: uuid */ ingredientId?: string; customName?: string; quantity?: number; unit?: string; }; CreatePantryItemRequest: { /** Format: uuid */ ingredientId?: string; customName?: string; quantity?: number; unit?: string; /** Format: date */ bestBefore?: string; /** Format: date */ openedOn?: string; }; PantryItemResponse: { /** Format: uuid */ id?: string; /** Format: uuid */ ingredientId?: string; name?: string; category?: components["schemas"]["CategoryRef"]; quantity?: number; unit?: string; /** Format: date */ bestBefore?: string; /** Format: date */ openedOn?: string; }; AcceptInviteResponse: { /** Format: uuid */ householdId?: string; householdName?: string; role?: string; }; ApiResponseAcceptInviteResponse: { status?: string; data?: components["schemas"]["AcceptInviteResponse"]; meta?: components["schemas"]["Meta"]; }; Meta: { pagination?: components["schemas"]["Pagination"]; }; Pagination: { /** Format: int64 */ total?: number; /** Format: int32 */ limit?: number; /** Format: int32 */ offset?: number; hasMore?: boolean; }; IngredientCategoryCreateRequest: { name: string; }; IngredientCategoryResponse: { /** Format: uuid */ id?: string; name?: string; }; CreateHouseholdRequest: { name: string; }; ApiResponseHouseholdResponse: { status?: string; data?: components["schemas"]["HouseholdResponse"]; meta?: components["schemas"]["Meta"]; }; HouseholdResponse: { /** Format: uuid */ id?: string; name?: string; members?: components["schemas"]["MemberResponse"][]; }; MemberResponse: { /** Format: uuid */ userId?: string; displayName?: string; role?: string; /** Format: date-time */ joinedAt?: string; }; ChangeRoleRequest: { role: string; }; ApiResponseMemberResponse: { status?: string; data?: components["schemas"]["MemberResponse"]; meta?: components["schemas"]["Meta"]; }; ApiResponseInviteResponse: { status?: string; data?: components["schemas"]["InviteResponse"]; meta?: components["schemas"]["Meta"]; }; InviteResponse: { inviteCode?: string; shareUrl?: string; /** Format: date-time */ expiresAt?: string; }; CreateCookingLogRequest: { /** Format: uuid */ recipeId: string; /** Format: date */ cookedOn?: string; }; CookingLogResponse: { /** Format: uuid */ id?: string; /** Format: uuid */ recipeId?: string; recipeName?: string; /** Format: date */ cookedOn?: string; /** Format: uuid */ cookedBy?: string; }; SignupRequest: { /** Format: email */ email: string; password: string; displayName: string; }; ApiResponseUserResponse: { status?: string; data?: components["schemas"]["UserResponse"]; meta?: components["schemas"]["Meta"]; }; UserResponse: { /** Format: uuid */ id?: string; email?: string; displayName?: string; /** Format: uuid */ householdId?: string; householdName?: string; householdRole?: string; systemRole?: string; }; LoginRequest: { /** Format: email */ email: string; password: string; }; CreateUserRequest: { /** Format: email */ email: string; displayName: string; tempPassword: string; systemRole?: string; }; AdminUserResponse: { /** Format: uuid */ id?: string; email?: string; displayName?: string; systemRole?: string; isActive?: boolean; /** Format: date-time */ createdAt?: string; }; ApiResponseAdminUserResponse: { status?: string; data?: components["schemas"]["AdminUserResponse"]; meta?: components["schemas"]["Meta"]; }; ResetPasswordRequest: { tempPassword: string; reason?: string; }; ApiResponseResetPasswordResponse: { status?: string; data?: components["schemas"]["ResetPasswordResponse"]; meta?: components["schemas"]["Meta"]; }; ResetPasswordResponse: { message?: string; mustChangePassword?: boolean; }; UpdateSlotRequest: { /** Format: uuid */ recipeId: string; }; CheckItemRequest: { isChecked?: boolean; }; UpdatePantryItemRequest: { quantity?: number; unit?: string; /** Format: date */ bestBefore?: string; /** Format: date */ openedOn?: string; }; IngredientPatchRequest: { name?: string; isStaple?: boolean; /** Format: uuid */ categoryId?: string; }; IngredientResponse: { /** Format: uuid */ id?: string; name?: string; category?: components["schemas"]["CategoryRef"]; isStaple?: boolean; }; UpdateProfileRequest: { displayName?: string; currentPassword?: string; newPassword?: string; }; UpdateUserRequest: { displayName?: string; email?: string; systemRole?: string; isActive?: boolean; }; IngredientOverlap: { ingredientName?: string; days?: string[]; }; TagRepeat: { tagName?: string; tagType?: string; days?: string[]; }; VarietyScoreResponse: { /** Format: double */ score?: number; tagRepeats?: components["schemas"]["TagRepeat"][]; ingredientOverlaps?: components["schemas"]["IngredientOverlap"][]; recentRepeats?: string[]; duplicatesInPlan?: string[]; }; SuggestionItem: { recipe?: components["schemas"]["SlotRecipe"]; /** Format: double */ scoreDelta?: number; hasConflict?: boolean; }; SuggestionResponse: { suggestions?: components["schemas"]["SuggestionItem"][]; }; ApiResponseListRecipeSummaryResponse: { status?: string; data?: components["schemas"]["RecipeSummaryResponse"][]; meta?: components["schemas"]["Meta"]; }; RecipeSummaryResponse: { /** Format: uuid */ id?: string; name?: string; /** Format: int32 */ serves?: number; /** Format: int32 */ cookTimeMin?: number; effort?: string; heroImagePreview?: string; }; ApiResponseListAdminUserResponse: { status?: string; data?: components["schemas"]["AdminUserResponse"][]; meta?: components["schemas"]["Meta"]; }; ApiResponseListAuditLogResponse: { status?: string; data?: components["schemas"]["AuditLogResponse"][]; meta?: components["schemas"]["Meta"]; }; AuditLogResponse: { /** Format: uuid */ id?: string; /** Format: uuid */ adminId?: string; adminEmail?: string; /** Format: uuid */ targetUserId?: string; targetEmail?: string; action?: string; detail?: { [key: string]: unknown; }; /** Format: date-time */ performedAt?: string; }; }; responses: never; parameters: never; requestBodies: never; headers: never; pathItems: never; } export type $defs = Record; export interface operations { getRecipe: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["RecipeDetailResponse"]; }; }; }; }; updateRecipe: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["RecipeCreateRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["RecipeDetailResponse"]; }; }; }; }; deleteRecipe: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description No Content */ 204: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getWeekPlan: { parameters: { query: { weekStart: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["WeekPlanResponse"]; }; }; }; }; createWeekPlan: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreateWeekPlanRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["WeekPlanResponse"]; }; }; }; }; addSlot: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreateSlotRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SlotResponse"]; }; }; }; }; generateFromPlan: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Created */ 201: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ShoppingListResponse"]; }; }; }; }; confirmPlan: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["WeekPlanResponse"]; }; }; }; }; listTags: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TagResponse"][]; }; }; }; }; createTag: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["TagCreateRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TagResponse"]; }; }; }; }; addItem: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["AddItemRequest"]; }; }; responses: { /** @description Created */ 201: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ShoppingListItemResponse"]; }; }; }; }; listRecipes: { parameters: { query?: { search?: string; effort?: string; isChildFriendly?: boolean; "cookTimeMin.lte"?: number; sort?: string; limit?: number; offset?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseListRecipeSummaryResponse"]; }; }; }; }; createRecipe: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["RecipeCreateRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["RecipeDetailResponse"]; }; }; }; }; listItems: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["PantryItemResponse"][]; }; }; }; }; createItem: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreatePantryItemRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["PantryItemResponse"]; }; }; }; }; acceptInvite: { parameters: { query?: never; header?: never; path: { code: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseAcceptInviteResponse"]; }; }; }; }; listCategories: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["IngredientCategoryResponse"][]; }; }; }; }; createCategory: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["IngredientCategoryCreateRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["IngredientCategoryResponse"]; }; }; }; }; createHousehold: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreateHouseholdRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseHouseholdResponse"]; }; }; }; }; createInvite: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseInviteResponse"]; }; }; }; }; listCookingLogs: { parameters: { query?: { limit?: number; offset?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CookingLogResponse"][]; }; }; }; }; createCookingLog: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreateCookingLogRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["CookingLogResponse"]; }; }; }; }; signup: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["SignupRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseUserResponse"]; }; }; }; }; logout: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content?: never; }; }; }; login: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["LoginRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseUserResponse"]; }; }; }; }; listUsers: { parameters: { query?: { limit?: number; offset?: number; search?: string; isActive?: boolean; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseListAdminUserResponse"]; }; }; }; }; createUser: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreateUserRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseAdminUserResponse"]; }; }; }; }; resetPassword: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ResetPasswordRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseResetPasswordResponse"]; }; }; }; }; deleteSlot: { parameters: { query?: never; header?: never; path: { planId: string; slotId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description No Content */ 204: { headers: { [name: string]: unknown; }; content?: never; }; }; }; updateSlot: { parameters: { query?: never; header?: never; path: { planId: string; slotId: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UpdateSlotRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SlotResponse"]; }; }; }; }; deleteItem: { parameters: { query?: never; header?: never; path: { listId: string; itemId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description No Content */ 204: { headers: { [name: string]: unknown; }; content?: never; }; }; }; checkItem: { parameters: { query?: never; header?: never; path: { listId: string; itemId: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CheckItemRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ShoppingListItemResponse"]; }; }; }; }; deleteItem_1: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description No Content */ 204: { headers: { [name: string]: unknown; }; content?: never; }; }; }; updateItem: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UpdatePantryItemRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["PantryItemResponse"]; }; }; }; }; patchIngredient: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["IngredientPatchRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["IngredientResponse"]; }; }; }; }; me: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseUserResponse"]; }; }; }; }; updateProfile: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UpdateProfileRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseUserResponse"]; }; }; }; }; updateUser: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UpdateUserRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseAdminUserResponse"]; }; }; }; }; getVarietyScore: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["VarietyScoreResponse"]; }; }; }; }; getSuggestions: { parameters: { query: { slotDate: string; tags?: string[]; topN?: number; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["SuggestionResponse"]; }; }; }; }; getShoppingList: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ShoppingListResponse"]; }; }; }; }; getByWeekStart: { parameters: { query?: { weekStart?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ShoppingListResponse"]; }; }; }; }; searchIngredients: { parameters: { query?: { search?: string; isStaple?: boolean; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["IngredientResponse"][]; }; }; }; }; getMyHousehold: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseHouseholdResponse"]; }; }; }; }; getMembers: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["MemberResponse"][]; }; }; }; }; getActiveInvite: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseInviteResponse"]; }; }; /** @description No active invite */ 204: { headers: { [name: string]: unknown; }; content?: never; }; }; }; removeMember: { parameters: { query?: never; header?: never; path: { userId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description No Content */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Conflict */ 409: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiError"]; }; }; }; }; changeMemberRole: { parameters: { query?: never; header?: never; path: { userId: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ChangeRoleRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseMemberResponse"]; }; }; /** @description Conflict */ 409: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiError"]; }; }; }; }; listAuditLog: { parameters: { query?: { limit?: number; offset?: number; targetUserId?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["ApiResponseListAuditLogResponse"]; }; }; }; }; }