Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Authorization not required, issuer https://mcp.onehaus.app
Changed the definition of "complete_task" and "create_meal_plan"
Marks a task ascompleted and records the completion for the household's momentum stats.completed. Fails with a conflict if the task is already completed.
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
{"examples":[{"date":"2026-10-242026-10-28","mealType":"dinner","recipeId":"8f14e45f-ceea-467e-8a2f-1a2b3c4d5e6f ⟨110 unchanged words⟩
Changed the definition of "create_meal_plan"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
{"examples":[{"date":"2026-10-192026-10-24","mealType":"dinner","recipeId":"8f14e45f-ceea-467e-8a2f-1a2b3c4d5e6f ⟨110 unchanged words⟩
Authorization not required, issuer https://mcp.onehaus.app
Authorization not required, issuer https://mcp.onehaus.app
Changed the definition of "create_meal_plan"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
{"examples":[{"date":"2026-10-182026-10-19","mealType":"dinner","recipeId":"8f14e45f-ceea-467e-8a2f-1a2b3c4d5e6f ⟨110 unchanged words⟩
Changed the definition of "create_meal_plan"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
{"examples":[{"date":"2026-10-172026-10-18","mealType":"dinner","recipeId":"8f14e45f-ceea-467e-8a2f-1a2b3c4d5e6f ⟨110 unchanged words⟩
Authorization not required, issuer https://mcp.onehaus.app
Authorization not required, issuer https://mcp.onehaus.app
Added "apply_task_pack", "create_calendar_subscription", "create_shopping_list" and 5 more; changed the definition of "create_document", "create_meal_plan", "delete_recurring_task" and 3 more (69 tools before, 77 now)
⟨11 unchanged words⟩ reference number, issuing authority, fee and notes. Optionally file it against a pet, vehicle or appliance with linkedEntityType and linkedEntityId. Returns the new id, which an appliance, ⟨6 unchanged words⟩
⟨138 unchanged words⟩ Passport Office"],"type":"string"},"linkedEntityId":{"description":"Id of that pet, vehicle or appliance from list_pets, list_vehicles or list_appliances. Send with linkedEntityType.","examples":["01928e4a7d3f7b9ac1e3f6d8b2a4c710"],"type":"string"},"linkedEntityType":{"description":"Kind of record the document is filed against. Send with linkedEntityId.","enum":["Pet","Vehicle","Appliance"],"examples":["Pet"],"type":"string"},"notes":{"description":"Free-text notes.","examples ⟨51 unchanged words⟩
Authorization not required, issuer https://mcp.onehaus.app
Authorization not required, issuer https://mcp.onehaus.app
Authorization not required, issuer https://mcp.onehaus.app
Authorization not required, issuer https://mcp.onehaus.app
Authorization not required, issuer https://mcp.onehaus.app
Authorization not required, issuer https://mcp.onehaus.app
Authorization not required, issuer https://mcp.onehaus.app
Authorization not required, issuer https://mcp.onehaus.app
Changed the definition of "add_shopping_list_item", "batch_add_shopping_list_items", "create_calendar_event" and 13 more
⟨3 unchanged words⟩ ","quantity":2}],"properties":{"category":{"description":"Store-aisle category to use instead of auto-assigning one; the name is then kept exactly as given. Omit to auto-categorise. Ignored when merged into an existing item.","enum":["FruitAndVegetables","Bakery","DeliAndPreparedFoods","MeatAndSeafood","DairyAndEggs","Frozen","PantryAndDryGoods","SnacksAndConfectionery","Beverages","HouseholdAndCleaning","HealthAndPersonalCare","BabyAndKids","PetSupplies","Online","Other"],"examples":["DairyAndEggs"],"type":"string"},"name":{"description":"Item name, e.g. ⟨69 unchanged words⟩
⟨31 unchanged words⟩ add, with its quantity.","properties":{"category":{"description":"Store-aisle category to use instead of auto-assigning one; the name is then kept exactly as given. Omit to auto-categorise. Ignored when merged into an existing item.","enum":["FruitAndVegetables","Bakery","DeliAndPreparedFoods","MeatAndSeafood","DairyAndEggs","Frozen","PantryAndDryGoods","SnacksAndConfectionery","Beverages","HouseholdAndCleaning","HealthAndPersonalCare","BabyAndKids","PetSupplies","Online","Other"],"examples":["DairyAndEggs"],"type":"string"},"
Authorization not required, issuer https://mcp.onehaus.app
Changed the definition of "create_meal_plan"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
{"examples":[{"date":"2026-09-252026-09-29","mealType":"dinner","recipeId":"8f14e45f-ceea-467e-8a2f-1a2b3c4d5e6f ⟨110 unchanged words⟩
Authorization not required
Authorization not required
Certificate changed, valid to 2026-12-15
Authorization not required
Changed the definition of "create_document", "create_subscription", "update_document" and 1 more
⟨66 unchanged words⟩ ,"properties":{"currencyCode":{"description":"Uppercase ISO 4217 code,threee.g.letters.USD, GBP, JPY.","examples":["GBPUSD"],"pattern":"^[A-Z]{3}$","type":"string"},"value":{"description":"Amount in the currency's minorunitsunits. Most currencies have 2 decimal places (1599 = 15.99 USD),e.g.butpence.some have none (1500 = 1500 JPY) and a few have 3 (12345 = 12.345 KWD).","examples":[
Changed the definition of "create_meal_plan"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
{"examples":[{"date":"2026-09-242026-09-25","mealType":"dinner","recipeId":"8f14e45f-ceea-467e-8a2f-1a2b3c4d5e6f ⟨110 unchanged words⟩
Authorization not required, issuer https://mcp.onehaus.app
Changed the definition of "create_meal_plan"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
{"examples":[{"date":"2026-09-232026-09-24","mealType":"dinner","recipeId":"8f14e45f-ceea-467e-8a2f-1a2b3c4d5e6f ⟨110 unchanged words⟩
Changed the definition of "create_meal_plan"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
{"examples":[{"date":"2026-09-222026-09-23","mealType":"dinner","recipeId":"8f14e45f-ceea-467e-8a2f-1a2b3c4d5e6f ⟨110 unchanged words⟩
Changed the definition of "create_meal_plan"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
{"examples":[{"date":"2026-09-212026-09-22","mealType":"dinner","recipeId":"8f14e45f-ceea-467e-8a2f-1a2b3c4d5e6f ⟨110 unchanged words⟩
Authorization not required, issuer https://mcp.onehaus.app
Changed the definition of "create_meal_plan"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
{"examples":[{"date":"2026-09-202026-09-21","mealType":"dinner","recipeId":"8f14e45f-ceea-467e-8a2f-1a2b3c4d5e6f ⟨110 unchanged words⟩
Changed the definition of "create_meal_plan"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
{"examples":[{"date":"2026-09-192026-09-20","mealType":"dinner","recipeId":"8f14e45f-ceea-467e-8a2f-1a2b3c4d5e6f ⟨110 unchanged words⟩
Certificate recorded, valid to 2026-12-25
Authorization not required, issuer https://mcp.onehaus.app
First tool surface recorded: 69 tools (server version 1.5.0)
Showing the latest 37 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
{"examples":[{"date":"2026-10-012026-10-17","mealType":"dinner","recipeId":"8f14e45f-ceea-467e-8a2f-1a2b3c4d5e6f ⟨110 unchanged words⟩
⟨5 unchanged words⟩ "description":"The recurring task template's ID,asfromreturnedlist_recurring_tasksbyor create_recurring_task.","examples":["5c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f"],"type ⟨5 unchanged words⟩
⟨5 unchanged words⟩ , title, reference number, issuing authority, fee, notes ornoteslinked pet, vehicle or appliance, returning the updated document. Only the fields ⟨23 unchanged words⟩
⟨138 unchanged words⟩ Passport Office"],"type":"string"},"linkedEntityId":{"description":"Id of that pet, vehicle or appliance from list_pets, list_vehicles or list_appliances. Send with linkedEntityType; \"\" for both removes the link.","examples":["01928e4a7d3f7b9ac1e3f6d8b2a4c710"],"type":"string"},"linkedEntityType":{"description":"Kind of record the document is filed against. Send with linkedEntityId; send \"\" for both to remove the link, omit both to keep it.","enum":["Pet","Vehicle","Appliance",""],"examples":["Pet"],"type":"string"},"notes":{"description":"Free-text notes.","examples ⟨41 unchanged words⟩
⟨79 unchanged words⟩ "id":{"description":"Template id from list_recurring_calendar_events or create_recurring_calendar_event.","examples":["0198f3a1b2c34d5e6f7089ab1c2d3e4f"],"type" ⟨423 unchanged words⟩
⟨86 unchanged words⟩ "id":{"description":"Template id from list_recurring_tasks or create_recurring_task.","examples":["5c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f"],"type" ⟨324 unchanged words⟩
Add a task pack from list_task_packs to the household: creates its tasks, repeating tasks and events, dated from the anchor date. The pack's titles are English: when the user is not writing in English, pass their titles (and notes) translated in overrides. Returns how many of each were created.
Subscribe the household to an external calendar feed (an .ics link, e.g. a school, club or bin collection calendar) so its events appear in the household calendar and stay in sync. Only subscribe to a feed link the user typed themselves in this conversation. Only the house owner can do this; a house can have up to 5 feeds. The feed is checked before it is saved; its events appear after the feed's next refresh, which can take a few hours.
Create a new named shopping list for the household (e.g. 'DIY' or 'Party') alongside the default list. A house can have up to 20 lists. Returns the list id to pass as shoppingListId when adding items.
Delete one of the household's named shopping lists. Its items move to the default list rather than being deleted. The default list itself cannot be deleted.
List the household's repeating calendar events (the series, not their generated instances) with their id, title, interval ('N Unit'), local start time, duration, dates, timezone and reminders. Use it to find the id for update_recurring_calendar_event or delete_recurring_calendar_event.
List the household's repeating tasks (the series, not their generated instances) with their id, title, interval ('N Unit'), dates, rotation and reminders. Use it to find the id for update_recurring_task or delete_recurring_task, e.g. to stop or change a weekly chore.
List the ready-made task packs the household can add (e.g. moving house, a new baby, car maintenance): each pack's id, title, description and items (id, kind, title, whether it is selected by default, days before the anchor date, repeat interval). Packs for a vehicle, appliance or pet list the owned items they can be linked to (entities) with a suggested anchor date. Use it before apply_task_pack.
Rename one of the household's shopping lists, including the default list. The items on it are unchanged.
Creates a single, one-off calendar event on the household calendar. Timed events need startDateTime; all-day events need startDate (plus endDate for several days). Set reminders with reminderOffsetMinutes. For a repeating schedule use create_recurring_calendar_event instead.
⟨25 unchanged words⟩ "},"notes":"Bring insurance card","reminderOffsetMinutes":[60,1440],"startDateTime":"2026-08-03T14:30:00Z","timezone":"Europe/London","title":"Dentist appointment"},{"endDate":"2026-10-30","isAllDay":true,"startDate":"2026-10-26","title":"Half term"}],"properties":{"description":{"description": ⟨6 unchanged words⟩ Dr. Smith"],"type":"string"},"endDate":{"description":"All-day only: LAST day, inclusive, YYYY-MM-DD. Omit for a single day. The event may cover at most 366 days, between 1900 and 2200.","examples":["2026-08-05"],"type":"string"},"endDateTime":{"description":"End of a timed event, ISO 8601 UTC. Must not precede startDateTime. For all-day events send endDate instead. An all-day event sent with endDateTime and no startDate stores it as given, and a midnight endDateTime then names the LAST day (inclusive).","examples":["2026-08-03T15:30:00Z"], ⟨141 unchanged words⟩ insurance card"],"type":"string"},"reminderOffsetMinutes":{"description":"Reminder lead times, in minutes before the event starts. Each value is whole hours, 60-1380 (1-23 hours), or whole days, a multiple of 1440 up to 525600 (365 days); a week is 10080. Up to 5 values. An all-day event counts from 00:00 on its first day, so 300 (5 hours) is 19:00 the evening before. Day and week reminders arrive at 19:00 on the earlier day; hour reminders arrive that many hours before the start, or up to 15 minutes earlier. Every household member is reminded.","examples":[[1440,10080]],"items":{"description":"One lead time in minutes: whole hours 60-1380, or a multiple of 1440 for days.","examples":[1440],"maximum":525600,"minimum":60,"multipleOf":60,"type":"integer"},"maxItems":5,"type":"array","uniqueItems":true},"startDate":{"description":"All-day only (preferred for all-day): first day, YYYY-MM-DD. Takes precedence over startDateTime. Stored as startDateTime 00:00Z on this day, with endDateTime 00:00Z on the last day (null for a single day).","examples":["2026-08-03"],"type":"string"},"startDateTime":{"description":"Start of a timed event, ISO 8601 UTC with a Z suffix. For an all-day event send startDate instead; when startDate is present this is ignored.","examples":["2026-08-03T14:30:00Z"], ⟨7 unchanged words⟩ the wall-clock times, e.g. 'Europe/London'. Null means UTC. Not stored when an all-day event is sent with startDate.","examples":["Europe/London"],"type": ⟨12 unchanged words⟩ type":"string"}},"required":["title","startDateTime","isAllDay"],"type":"object"}
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
{"examples":[{"date":"2026-09-292026-10-01","mealType":"dinner","recipeId":"8f14e45f-ceea-467e-8a2f-1a2b3c4d5e6f ⟨110 unchanged words⟩
Create a recurring calendar event. It generates event instances on aschedule.schedule, each with the reminders set in reminderOffsetMinutes.
⟨16 unchanged words⟩ :20,"notes":"Bring your laptop","reminderOffsetMinutes":[60],"startDate":"2026-08-03","startTime":"09:00: ⟨77 unchanged words⟩ :"True for all-day instances, false for timed. An all-day instance starts at midnight of its occurrence date in the template timezone (stored in UTC; omit startTime) and ends duration later (no end without a duration), so a duration of one day or more makes each instance span that many whole days.","examples":[false],"type":"boolean ⟨139 unchanged words⟩ "Bring your laptop"],"type":"string"},"reminderOffsetMinutes":{"description":"Reminder lead times, in minutes before each occurrence starts. Each value is whole hours, 60-1380 (1-23 hours), or whole days, a multiple of 1440 up to 40320 (4 weeks, the most for a repeating item); a week is 10080. Up to 5 values. An all-day event counts from 00:00 on its first day, so 300 (5 hours) is 19:00 the evening before. Day and week reminders arrive at 19:00 on the earlier day; hour reminders arrive that many hours before the start, or up to 15 minutes earlier. Every household member is reminded.","examples":[[1440,10080]],"items":{"description":"One lead time in minutes: whole hours 60-1380, or a multiple of 1440 for days.","examples":[1440],"maximum":40320,"minimum":60,"multipleOf":60,"type":"integer"},"maxItems":5,"type":"array","uniqueItems":true},"startDate":{"description":"Date of ⟨69 unchanged words⟩
Create a recurring task. It generates task instances on aschedule.schedule, each with the reminders set in reminderOffsetMinutes.
⟨10 unchanged words⟩ :26,"notes":"Blue bin only","preparationDaysreminderOffsetMinutes":1[1440],"startDate":"2026-08-01","title":"Take ⟨71 unchanged words⟩ ["2026-12-31"],"type":"string"},"isUrgent":{"description":"Mark every task this series generates as urgent.","examples":[true],"type":"boolean"},"maxOccurrences":{"description":"Cap on instances generated ⟨24 unchanged words⟩ :"string"},"preparationDays":{"description":"DaysLegacy single reminder, days before each occurrence's due date, 0-365 (0 means none); use reminderOffsetMinutes instead. Ignored when reminderOffsetMinutes is sent.","examples":[1],"type":"integer"},"reminderOffsetMinutes":{"description":"Reminder lead times, in minutes before each generated task's due date. Each value is whole hours, 60-1380 (1-23 hours), or whole days, a multiple of 1440 up toset40320 (4 weeks, the most for a repeating item); a week is 10080. Up to 5 values. A due date counts from 00:00 on thatinstance'sday,preparationsodate.300Clamped(5 hours) is 19:00 the evening before. Day and week reminders arrive at 19:00 on the earlier day; hour reminders arrive that many hours before, or up totoday15ifminutesitearlier.","examples":[[1440,10080]],"items":{"description":"Onewouldleadbetimepast.in minutes: whole hours 60-1380, or a multiple of 1440 for days.","examples":[11440],"maximum":40320,"minimum":60,"multipleOf":60,"type":"integer"},"maxItems":5,"type":"array","uniqueItems":true},"startDate":{"description":"First date ⟨31 unchanged words⟩
Track arecurring costbill such as a streaming service or membership, ⟨6 unchanged words⟩ renewal schedule (no more often than daily). A bill with no renewal schedule is a one-off. Set paymentDate only when the money leaves the account on a different day from the renewal.
⟨9 unchanged words⟩ ":"Family plan, shared with parents","paymentDate":"2026-10-03","remindMe":true,"renewalCronExpression":"0 0 1 * *","startDate":"2026-10-01","status":"Active"}],"properties":{"fee ⟨85 unchanged words⟩ with parents"],"type":"string"},"paymentDate":{"description":"Date the first payment leaves the account, YYYY-MM-DD, when it differs from the renewal date. Payments repeat on the renewal cadence from this date. Omit when payment happens on renewal.","examples":["2026-10-03"],"type":"string"},"remindMe":{"description":"Whether to remind the ⟨13 unchanged words⟩ the renewal cadence. No more often than daily. Omit for a one-off bill.","examples":["0 0 1 * *"],"type":"string"},"startDate":{"description":"Renewal date, YYYY-MM-DD. Optional. For a recurring bill it is the first renewal; for a one-off it is the date it is due.","examples":["2026-10-01"],"type":"string"},"status": ⟨17 unchanged words⟩
⟨7 unchanged words⟩ is required; the task starts unassigned and uncompleted. Set reminders with reminderOffsetMinutes. Use assign_task, update_task, or complete_task to change it afterward.
⟨4 unchanged words⟩ 2026-08-01","notes":"Blue bin only","preparationDatereminderOffsetMinutes":"2026-07-30"[1440,10080],"title":"Take out the recycling"}], ⟨17 unchanged words⟩ ["2026-08-01"],"type":"string"},"isUrgent":{"description":"Mark the task urgent so it is shown first and highlighted.","examples":[true],"type":"boolean"},"notes":{"description":"Freeform notes. Not for ⟨7 unchanged words⟩ :"string"},"preparationDate":{"description":"PreparationLegacy single reminder date,YYYY-MM-DD.YYYY-MM-DD; use reminderOffsetMinutes instead. Ignored when reminderOffsetMinutes is sent. Mustnotbefollowon or before dueDate, and needs dueDate.","examples":["2026-07-30"],"type":"string"},"reminderOffsetMinutes":{"description":"Reminder lead times, in minutes before the due date. Each value is whole hours, 60-1380 (1-23 hours), or whole days, a multiple of 1440 up to 525600 (365 days); a week is 10080. Up to 5 values. A due date counts from 00:00 on that day, so 300 (5 hours) is 19:00 the evening before. Day and week reminders arrive at 19:00 on the earlier day; hour reminders arrive that many hours before, or up to 15 minutes earlier. Needs dueDate.","examples":[[1440,10080]],"items":{"description":"One lead time in minutes: whole hours 60-1380, or a multiple of 1440 for days.","examples":[1440],"maximum":525600,"minimum":60,"multipleOf":60,"type":"integer"},"maxItems":5,"type":"array","uniqueItems":true},"title":{"description":"Task title, ⟨16 unchanged words⟩
⟨14 unchanged words⟩ startDateFrom and startDateTo, or omit both for everything. An all-day event's end depends on its sourceEntityType. With no source, endDateTime is its LAST day (inclusive), or null for a single day. For 'deviceCalendar' and 'calendarSubscription' it is the day AFTER the last day (exclusive). For 'RecurringCalendarEvent' the event covers endDateTime minus startDateTime in whole days, rounded up (a single day when null). Read a 00:00Z value as its UTC date; read any other all-day value in the event's timezone when it has one.
List tracked subscriptions with their fee, renewal schedule, payment date and status. A subscription with no renewal schedule is a one-off. startDate is the renewal date: the first renewal of a recurring bill, or when a one-off is due; paymentDate, when set, is the first day money leaves the account and repeats on the renewal cadence. Pass status to filter to one.
⟨11 unchanged words⟩ pagination. Excludes completed tasks by default and sortsbyopen urgent tasks first (within the returned page), then due date ascending,(undatedfirst.first).
⟨24 unchanged words⟩ Dr. Smith"],"type":"string"},"endDate":{"description":"All-day only: new LAST day, inclusive, YYYY-MM-DD. Alone it keeps the current first day. Dates are stored in the event's own end rule (see list_calendar_events).","examples":["2026-08-06"],"type":"string"},"endDateTime":{"description":"New end of a timed event, ISO 8601 UTC. Must not precede startDateTime. For all-day events send endDate instead. An all-day endDateTime is stored as given and keeps the event's own end rule (see list_calendar_events): with no source a midnight end names the LAST day, on a device-calendar event the day after it.","examples":["2026-08-04T15:30:00Z"], ⟨154 unchanged words⟩ to Thursday"],"type":"string"},"reminderOffsetMinutes":{"description":"New reminder lead times, in minutes before the event starts. Send the full list: it replaces the current one. [] clears all reminders; omit to keep them. Reminders move with the start. Not allowed on imported events (device calendar or subscription). Each value is whole hours, 60-1380 (1-23 hours), or whole days, a multiple of 1440 up to 525600 (365 days); a week is 10080. Up to 5 values. An all-day event counts from 00:00 on its first day, so 300 (5 hours) is 19:00 the evening before. Day and week reminders arrive at 19:00 on the earlier day; hour reminders arrive that many hours before the start, or up to 15 minutes earlier. Every household member is reminded.","examples":[[1440,10080]],"items":{"description":"One lead time in minutes: whole hours 60-1380, or a multiple of 1440 for days.","examples":[1440],"maximum":525600,"minimum":60,"multipleOf":60,"type":"integer"},"maxItems":5,"type":"array","uniqueItems":true},"startDate":{"description":"All-day only (preferred for all-day): new first day, YYYY-MM-DD. Without endDate the event becomes a single day.","examples":["2026-08-04"],"type":"string"},"startDateTime":{"description":"New start of a timed event, ISO 8601 UTC. For an all-day event send startDate instead.","examples":["2026-08-04T14:30:00Z"], ⟨35 unchanged words⟩
Update a recurring calendar event. Changes totitle/description/notestitle/description/notes/reminders patch existing instances. Changes to frequency/dates/time regenerate future instances.
⟨91 unchanged words⟩ :"True for all-day instances, false for timed. An all-day instance starts at midnight of its occurrence date in the template timezone (stored in UTC; omit startTime) and ends duration later (no end without a duration), so a duration of one day or more makes each instance span that many whole days.","examples":[false],"type":"boolean ⟨137 unchanged words⟩ "Bring your laptop"],"type":"string"},"reminderOffsetMinutes":{"description":"New reminder lead times, in minutes before each occurrence starts. Send the full list: it replaces the current one. [] clears all reminders; omit to keep them. A change also applies to existing instances. Each value is whole hours, 60-1380 (1-23 hours), or whole days, a multiple of 1440 up to 40320 (4 weeks, the most for a repeating item); a week is 10080. Up to 5 values. An all-day event counts from 00:00 on its first day, so 300 (5 hours) is 19:00 the evening before. Day and week reminders arrive at 19:00 on the earlier day; hour reminders arrive that many hours before the start, or up to 15 minutes earlier. Every household member is reminded.","examples":[[1440,10080]],"items":{"description":"One lead time in minutes: whole hours 60-1380, or a multiple of 1440 for days.","examples":[1440],"maximum":40320,"minimum":60,"multipleOf":60,"type":"integer"},"maxItems":5,"type":"array","uniqueItems":true},"startDate":{"description":"New first-instance ⟨60 unchanged words⟩
Update a recurring task.Title/notesTitle, notes, urgency or reminder changes patch existing instances; frequency/date changes regenerate future instances.
⟨93 unchanged words⟩ ["5c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f"],"type":"string"},"isUrgent":{"description":"Mark every task this series generates as urgent: true marks urgent, false clears it, omit to leave unchanged. A change also applies to the series' open occurrences.","examples":[true],"type":"boolean"},"maxOccurrences":{"description":"New cap on instances ⟨18 unchanged words⟩ :"string"},"preparationDays":{"description":"DaysLegacy single reminder, days before each occurrence's due date,to0-365set(0thatmeansinstance'snone);preparationusedate.reminderOffsetMinutesAppliesinstead. Ignored when reminderOffsetMinutes is sent. On a series without reminderOffsetMinutes it applies to instances generated after this change. On a series with reminderOffsetMinutes the server keeps it in step: a different value replaces every reminder with that one (0 removes them) and also updates the series' open tasks.","examples":[1],"type":"integer"},"reminderOffsetMinutes":{"description":"New reminder lead times, in minutes before each generated task's due date. Send the full list: it replaces the current one. [] clears all reminders; omit to keep them. A change also applies to the series' open tasks. Each value is whole hours, 60-1380 (1-23 hours), or whole days, a multiple of 1440 up to 40320 (4 weeks, the most for a repeating item); a week is 10080. Up to 5 values. A due date counts from 00:00 on that day, so 300 (5 hours) is 19:00 the evening before. Day and week reminders arrive at 19:00 on the earlier day; hour reminders arrive that many hours before, or up to 15 minutes earlier.","examples":[[1440,10080]],"items":{"description":"One lead time in minutes: whole hours 60-1380, or a multiple of 1440 for days.","examples":[1440],"maximum":40320,"minimum":60,"multipleOf":60,"type":"integer"},"maxItems":5,"type":"array","uniqueItems":true},"startDate":{"description":"New start ⟨35 unchanged words⟩
Update a subscription. Only the fields you send change; for renewalCronExpression, startDate, paymentDate and notes an empty string clears the stored value.
⟨4 unchanged words⟩ "Paused while travelling","status":"Paused"},{"id":"0198c1f4b2c07a1b9e4d5f6a7b8c9d0e","paymentDate":"2026-10-03"}],"properties":{"fee":{"description": ⟨92 unchanged words⟩ while travelling"],"type":"string"},"paymentDate":{"description":"Date the first payment leaves the account, YYYY-MM-DD, when it differs from the renewal date. Payments repeat on the renewal cadence from this date. Omit when payment happens on renewal. Empty string clears it.","examples":["2026-10-03"],"type":"string"},"remindMe":{"description":"Whether to remind the ⟨16 unchanged words⟩ no more often than daily. Empty string clearsit.it, making the bill a one-off.","examples":["0 0 1 * *"],"type":"string"},"startDate":{"description":"Renewal date, YYYY-MM-DD. Optional. For a recurring bill it is the first renewal; for a one-off it is the date it is due. Empty string clears it.","examples":["2026-10-01"],"type":"string"},"status": ⟨15 unchanged words⟩
Update a task's title, assignee, due date,preparationreminders,datenotes ornotes.urgency. Only the fields you send change.
⟨47 unchanged words⟩ ["018f2c9a1b2c7d3e9a4f5b6c7d8e9f0a"],"type":"string"},"isUrgent":{"description":"Mark the task urgent so it is shown first and highlighted: true marks urgent, false clears it, omit to leave unchanged.","examples":[true],"type":"boolean"},"notes":{"description":"Freeform notes. Not for ⟨7 unchanged words⟩ :"string"},"preparationDate":{"description":"NewLegacypreparationsingle reminder date,YYYY-MM-DD.YYYY-MM-DD; use reminderOffsetMinutes instead. Ignored when reminderOffsetMinutes is sent. Mustnotbefollowon or before dueDate. Empty string clears it; clearing dueDate clears it. On a task without reminderOffsetMinutes, changing dueDate does not move it. On a task with reminderOffsetMinutes the server keeps it in step with dueDate: a different date replaces every reminder with that one, and an empty string removes them all.","examples":["2026-07-30"],"type":"string"},"reminderOffsetMinutes":{"description":"New reminder lead times, in minutes before the due date. Send the full list: it replaces the current one. [] clears all reminders; omit to keep them. Each value is whole hours, 60-1380 (1-23 hours), or whole days, a multiple of 1440 up to 525600 (365 days); a week is 10080. Up to 5 values. A due date counts from 00:00 on that day, so 300 (5 hours) is 19:00 the evening before. Day and week reminders arrive at 19:00 on the earlier day; hour reminders arrive that many hours before, or up to 15 minutes earlier. Reminders move with dueDate, need a due date, and are cleared when dueDate is cleared.","examples":[[1440,10080]],"items":{"description":"One lead time in minutes: whole hours 60-1380, or a multiple of 1440 for days.","examples":[1440],"maximum":525600,"minimum":60,"multipleOf":60,"type":"integer"},"maxItems":5,"type":"array","uniqueItems":true},"title":{"description":"New title." ⟨11 unchanged words⟩
⟨29 unchanged words⟩ ,"properties":{"currencyCode":{"description":"Uppercase ISO 4217 code,threee.g.letters.USD, GBP, JPY.","examples":["USD"],"pattern":"^[A-Z]{3}$","type":"string"},"value":{"description":"Amount in the currency's minorunitsunits. Most currencies have 2 decimal places (1599 = 15.99 USD),e.g.butcents.some have none (1500 = 1500 JPY) and a few have 3 (12345 = 12.345 KWD).","examples":[1599],"type":"integer ⟨79 unchanged words⟩
⟨54 unchanged words⟩ ,"properties":{"currencyCode":{"description":"Uppercase ISO 4217 code,threee.g.letters.USD, GBP, JPY.","examples":["GBPUSD"],"pattern":"^[A-Z]{3}$","type":"string"},"value":{"description":"Amount in the currency's minorunitsunits. Most currencies have 2 decimal places (1599 = 15.99 USD),e.g.butpence.some have none (1500 = 1500 JPY) and a few have 3 (12345 = 12.345 KWD).","examples":[82501599],"type":"integer"}},"required": ⟨73 unchanged words⟩
⟨14 unchanged words⟩ ,"properties":{"currencyCode":{"description":"Uppercase ISO 4217 code,threee.g.letters.USD, GBP, JPY.","examples":["USD"],"pattern":"^[A-Z]{3}$","type":"string"},"value":{"description":"Amount in the currency's minorunitsunits. Most currencies have 2 decimal places (1599 = 15.99 USD),e.g.butcents.some have none (1500 = 1500 JPY) and a few have 3 (12345 = 12.345 KWD).","examples":[1599],"type":"integer ⟨89 unchanged words⟩