Skip to main content
Glama

Dayze — Life Context

Log Event (calendar write)

log_event

MUTATES the calendar (non-food events, tasks, sleep). Replies owed ('what to reply to X') go to create_pending_reply. Woke at X: end_time. Requires title plus event_date or date (YYYY-MM-DD, YYYY-MM, or YYYY). A task with no deadline: ask for a date, never fill in today. Soft dates preserve date_precision. A story or anecdote about something that already happened is a moment: use log_moment (with event_id when it is about an event here), not a second event. Optional: event_time (alias time), end_date, end_time, location, description (alias notes), category, visibility, timezone, reminder fields, sharing/people, scoreboard (structured operating status; keep description for notes), and idempotency_key. Sleep with only a wake time ('I woke at 11:15'): category sleep, event_date the day they woke, end_time 11:15 and no event_time. Don't invent a bedtime; add it later with update_event event_time (a bedtime the night before also sets event_date to that night and end_date to the wake day). Timed events default to the profile push-reminder timing; all-day events stay off and explicit reminder_enabled=false opts out. Prefer log_travel for trips/residences. Unknown people do not fail the write. Public events return share_url. Requires API key or OAuth with context scope; share tokens cannot write. ($0.10; API key required)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoStructured city (composed into location if location omitted)
dateNoAlias for event_date.
timeNoAlias for event_time.
withNoAlias for people.
notesNoAlias for description.
titleYesEvent title (required).
amountNoIf set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.
peopleNoPeople names or person UUIDs to tag (event_people role=with).
sourceNoWith amount: venmo/zelle/…
countryNoStructured country
categoryNoe.g. sleep, funeral, family, work, travel. Stored as events.category and event_type.
currencyNo
end_dateNoOptional end date YYYY-MM-DD (multi-day, or a night that ends the next day).
end_timeNoOptional end time (same formats as event_time). Works without event_time, e.g. a wake time alone.
locationNoFree-text place. Or pass city + country.
timezoneNoIANA timezone for wall-clock display (e.g. America/New_York).
directionNoWith amount: from=received, to=sent
image_urlNoOptional cover image URL for Explore + /e share cards.
person_idNoWith amount: CRM person UUID
event_dateNoStart date YYYY-MM-DD, YYYY-MM, or YYYY (required). Alias: date. For a task, its real due date; if the user gave none, ask. Don't use today.
event_timeNoOptional start time: 8pm, 20:00, or 20:00:00. Alias: time. Leave it out when nobody said it.
event_typeNoOptional event kind (e.g. todo, goal, work). Worked out from category when omitted.
person_idsNoOwned person UUIDs to tag (user-scoped).
request_idNoAlias for idempotency_key (preferred by some clients).
scoreboardNoOperating status as data (not description prose). state is required when the event has no scoreboard yet. On update_event fields merge; a null field clears it; scoreboard null removes the record.
share_withNoDayze profile handles to add as collaborators via shared_events (e.g. ["boof"]). Leading @ stripped.
visibilityNoCalendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.private
descriptionNoNotes about the event. Alias: notes.
external_idNoWith amount: idempotency key
person_nameNoOne person to tag, by name.
external_urlNo
people_namesNoAlias for people.
date_precisionNoSoft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.
idempotency_keyNoOptional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.
source_gmail_idNoGmail message id the event came from (kept in metadata).
reminder_enabledNoTimed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off.
mirror_transactionNoDefault true when amount is set; set false to keep calendar-only
reminder_minutes_beforeNoPush lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes).
source_email_participantsNoSender/To/Cc identities from source_gmail_id. Contacts are proposed only on one exact stored email match; shared/unknown/automated addresses stay unresolved. Do not also pass people fields.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
eventYesA Dayze calendar event record.
accountNoThe Dayze account this data belongs to. With more than one Dayze connection, name it in the answer.
provenanceNoWhich connector wrote the record and which connected Dayze account received it.
people_taggedYes
unresolved_peopleYes
life_state_rebuiltYes
people_name_matchedYes
import_hygiene_flagsYes
people_email_anchoredYes
unresolved_source_peopleYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / account
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "The Dayze account this data belongs to. With more than one Dayze connection, name it in the answer.",
      +  "properties": {
      +    "display_name": {
      +      "description": "Account display name.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "handle": {
      +      "description": "Account handle, e.g. @goh.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "note": {
      +      "description": "How to disclose the account to the user.",
      +      "type": "string"
      +    },
      +    "qa_fixture": {
      +      "description": "True for a known QA test account: its records are fixture data, not a real life.",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "handle",
      +    "display_name",
      +    "qa_fixture",
      +    "note"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / provenance
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Which connector wrote the record and which connected Dayze account received it.",
      +  "properties": {
      +    "account": {
      +      "additionalProperties": false,
      +      "description": "The Dayze account this data belongs to. With more than one Dayze connection, name it in the answer.",
      +      "properties": {
      +        "display_name": {
      +          "description": "Account display name.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "handle": {
      +          "description": "Account handle, e.g. @goh.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "note": {
      +          "description": "How to disclose the account to the user.",
      +          "type": "string"
      +        },
      +        "qa_fixture": {
      +          "description": "True for a known QA test account: its records are fixture data, not a real life.",
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "handle",
      +        "display_name",
      +        "qa_fixture",
      +        "note"
      +      ],
      +      "type": "object"
      +    },
      +    "channel": {
      +      "description": "Always mcp_connector.",
      +      "type": "string"
      +    },
      +    "connector": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "kind": {
      +          "description": "oauth or api_key.",
      +          "type": "string"
      +        },
      +        "name": {
      +          "description": "The connected app or API-key label shown to the account owner.",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "kind",
      +        "name"
      +      ],
      +      "type": "object"
      +    },
      +    "source": {
      +      "description": "chatgpt for ChatGPT OAuth writes; mcp for another OAuth app or API key.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "source",
      +    "channel",
      +    "connector",
      +    "account"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • addedInput schema / anyOf
      Added value: +[
      +  {
      +    "required": [
      +      "event_date"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "date"
      +    ]
      +  }
      +]
    • changedInput schema / required
      Previous value: -[
      -  "title",
      -  "event_date"
      -]New value: +[
      +  "title"
      +]
  3. Changed6 schema fields changed
    • addedInput schema / properties / source_email_participants
      Added value: +{
      +  "description": "Sender/To/Cc identities from source_gmail_id. Contacts are proposed only on one exact stored email match; shared/unknown/automated addresses stay unresolved. Do not also pass people fields.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "email": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "role": {
      +        "enum": [
      +          "sender",
      +          "to",
      +          "cc",
      +          "participant"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "email"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 50,
      +  "type": "array"
      +}
    • addedOutput schema / properties / import_hygiene_flags
      Added value: +{
      +  "items": {
      +    "additionalProperties": true,
      +    "description": "Import skip/review flags.",
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / people_email_anchored
      Added value: +{
      +  "items": {
      +    "additionalProperties": true,
      +    "description": "Proposed exact unique-email anchors.",
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / people_name_matched
      Added value: +{
      +  "items": {
      +    "additionalProperties": true,
      +    "description": "Proposed confidence-0.7 full-name matches.",
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / unresolved_source_people
      Added value: +{
      +  "items": {
      +    "additionalProperties": true,
      +    "description": "Source participants that were not linked.",
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "event",
      -  "people_tagged",
      -  "unresolved_people",
      -  "life_state_rebuilt"
      -]New value: +[
      +  "event",
      +  "people_tagged",
      +  "unresolved_people",
      +  "people_name_matched",
      +  "people_email_anchored",
      +  "unresolved_source_people",
      +  "import_hygiene_flags",
      +  "life_state_rebuilt"
      +]
  4. Changed1 schema field changed
    • changedInput schema / properties / event_date / description
      Previous value: -"Start date YYYY-MM-DD, YYYY-MM, or YYYY (required). Alias: date."New value: +"Start date YYYY-MM-DD, YYYY-MM, or YYYY (required). Alias: date. For a task, its real due date; if the user gave none, ask. Don't use today."
  5. Changed4 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amount": {
      -        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      -        "type": "number"
      -      },
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "city": {
      -        "description": "Structured city (composed into location if location omitted)",
      -        "type": "string"
      -      },
      -      "country": {
      -        "description": "Structured country",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "date_precision": {
      -        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      -        "enum": [
      -          "day",
      -          "month",
      -          "year",
      -          "approx"
      -        ],
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "direction": {
      -        "description": "With amount: from=received, to=sent",
      -        "enum": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_id": {
      -        "description": "With amount: idempotency key",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "image_url": {
      -        "description": "Optional cover image URL for Explore + /e share cards.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "description": "Free-text place. Or pass city + country.",
      -        "type": "string"
      -      },
      -      "mirror_transaction": {
      -        "description": "Default true when amount is set; set false to keep calendar-only",
      -        "type": "boolean"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_id": {
      -        "description": "With amount: CRM person UUID",
      -        "type": "string"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "reminder_enabled": {
      -        "description": "Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off.",
      -        "type": "boolean"
      -      },
      -      "reminder_minutes_before": {
      -        "description": "Push lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes).",
      -        "type": "number"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "scoreboard": {
      -        "additionalProperties": false,
      -        "description": "Operating status as data (not description prose). state is required when the event has no scoreboard yet. On update_event fields merge; a null field clears it; scoreboard null removes the record.",
      -        "properties": {
      -          "blocker": {
      -            "type": "string"
      -          },
      -          "evidence": {
      -            "type": "string"
      -          },
      -          "last_verified": {
      -            "description": "YYYY-MM-DD",
      -            "type": "string"
      -          },
      -          "metric": {
      -            "description": "Progress readout, e.g. 2/5",
      -            "type": "string"
      -          },
      -          "next_review": {
      -            "description": "YYYY-MM-DD",
      -            "type": "string"
      -          },
      -          "next_step": {
      -            "type": "string"
      -          },
      -          "owner": {
      -            "type": "string"
      -          },
      -          "state": {
      -            "enum": [
      -              "not_started",
      -              "on_track",
      -              "at_risk",
      -              "blocked",
      -              "done"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "share_with": {
      -        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "source": {
      -        "description": "With amount: venmo/zelle/…",
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "timezone": {
      -        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "default": "private",
      -        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      -        "enum": [
      -          "private",
      -          "friends",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "event_date"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amount": {
      -        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      -        "type": "number"
      -      },
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "city": {
      -        "description": "Structured city (composed into location if location omitted)",
      -        "type": "string"
      -      },
      -      "country": {
      -        "description": "Structured country",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "date_precision": {
      -        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      -        "enum": [
      -          "day",
      -          "month",
      -          "year",
      -          "approx"
      -        ],
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "direction": {
      -        "description": "With amount: from=received, to=sent",
      -        "enum": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_id": {
      -        "description": "With amount: idempotency key",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "image_url": {
      -        "description": "Optional cover image URL for Explore + /e share cards.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "description": "Free-text place. Or pass city + country.",
      -        "type": "string"
      -      },
      -      "mirror_transaction": {
      -        "description": "Default true when amount is set; set false to keep calendar-only",
      -        "type": "boolean"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_id": {
      -        "description": "With amount: CRM person UUID",
      -        "type": "string"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "reminder_enabled": {
      -        "description": "Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off.",
      -        "type": "boolean"
      -      },
      -      "reminder_minutes_before": {
      -        "description": "Push lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes).",
      -        "type": "number"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "scoreboard": {
      -        "additionalProperties": false,
      -        "description": "Operating status as data (not description prose). state is required when the event has no scoreboard yet. On update_event fields merge; a null field clears it; scoreboard null removes the record.",
      -        "properties": {
      -          "blocker": {
      -            "type": "string"
      -          },
      -          "evidence": {
      -            "type": "string"
      -          },
      -          "last_verified": {
      -            "description": "YYYY-MM-DD",
      -            "type": "string"
      -          },
      -          "metric": {
      -            "description": "Progress readout, e.g. 2/5",
      -            "type": "string"
      -          },
      -          "next_review": {
      -            "description": "YYYY-MM-DD",
      -            "type": "string"
      -          },
      -          "next_step": {
      -            "type": "string"
      -          },
      -          "owner": {
      -            "type": "string"
      -          },
      -          "state": {
      -            "enum": [
      -              "not_started",
      -              "on_track",
      -              "at_risk",
      -              "blocked",
      -              "done"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "share_with": {
      -        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "source": {
      -        "description": "With amount: venmo/zelle/…",
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "timezone": {
      -        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "default": "private",
      -        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      -        "enum": [
      -          "private",
      -          "friends",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "date"
      -    ],
      -    "type": "object"
      -  }
      -]
    • addedInput schema / properties
      Added value: +{
      +  "amount": {
      +    "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      +    "type": "number"
      +  },
      +  "category": {
      +    "description": "e.g. sleep, funeral, family, work, travel. Stored as events.category and event_type.",
      +    "type": "string"
      +  },
      +  "city": {
      +    "description": "Structured city (composed into location if location omitted)",
      +    "type": "string"
      +  },
      +  "country": {
      +    "description": "Structured country",
      +    "type": "string"
      +  },
      +  "currency": {
      +    "type": "string"
      +  },
      +  "date": {
      +    "description": "Alias for event_date.",
      +    "type": "string"
      +  },
      +  "date_precision": {
      +    "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      +    "enum": [
      +      "day",
      +      "month",
      +      "year",
      +      "approx"
      +    ],
      +    "type": "string"
      +  },
      +  "description": {
      +    "description": "Notes about the event. Alias: notes.",
      +    "type": "string"
      +  },
      +  "direction": {
      +    "description": "With amount: from=received, to=sent",
      +    "enum": [
      +      "from",
      +      "to"
      +    ],
      +    "type": "string"
      +  },
      +  "end_date": {
      +    "description": "Optional end date YYYY-MM-DD (multi-day, or a night that ends the next day).",
      +    "type": "string"
      +  },
      +  "end_time": {
      +    "description": "Optional end time (same formats as event_time). Works without event_time, e.g. a wake time alone.",
      +    "type": "string"
      +  },
      +  "event_date": {
      +    "description": "Start date YYYY-MM-DD, YYYY-MM, or YYYY (required). Alias: date.",
      +    "type": "string"
      +  },
      +  "event_time": {
      +    "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time. Leave it out when nobody said it.",
      +    "type": "string"
      +  },
      +  "event_type": {
      +    "description": "Optional event kind (e.g. todo, goal, work). Worked out from category when omitted.",
      +    "type": "string"
      +  },
      +  "external_id": {
      +    "description": "With amount: idempotency key",
      +    "type": "string"
      +  },
      +  "external_url": {
      +    "type": "string"
      +  },
      +  "idempotency_key": {
      +    "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +    "type": "string"
      +  },
      +  "image_url": {
      +    "description": "Optional cover image URL for Explore + /e share cards.",
      +    "type": "string"
      +  },
      +  "location": {
      +    "description": "Free-text place. Or pass city + country.",
      +    "type": "string"
      +  },
      +  "mirror_transaction": {
      +    "description": "Default true when amount is set; set false to keep calendar-only",
      +    "type": "boolean"
      +  },
      +  "notes": {
      +    "description": "Alias for description.",
      +    "type": "string"
      +  },
      +  "people": {
      +    "description": "People names or person UUIDs to tag (event_people role=with).",
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  "people_names": {
      +    "description": "Alias for people.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  "person_id": {
      +    "description": "With amount: CRM person UUID",
      +    "type": "string"
      +  },
      +  "person_ids": {
      +    "description": "Owned person UUIDs to tag (user-scoped).",
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  "person_name": {
      +    "description": "One person to tag, by name.",
      +    "type": "string"
      +  },
      +  "reminder_enabled": {
      +    "description": "Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off.",
      +    "type": "boolean"
      +  },
      +  "reminder_minutes_before": {
      +    "description": "Push lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes).",
      +    "type": "number"
      +  },
      +  "request_id": {
      +    "description": "Alias for idempotency_key (preferred by some clients).",
      +    "type": "string"
      +  },
      +  "scoreboard": {
      +    "additionalProperties": false,
      +    "description": "Operating status as data (not description prose). state is required when the event has no scoreboard yet. On update_event fields merge; a null field clears it; scoreboard null removes the record.",
      +    "properties": {
      +      "blocker": {
      +        "type": "string"
      +      },
      +      "evidence": {
      +        "type": "string"
      +      },
      +      "last_verified": {
      +        "description": "YYYY-MM-DD",
      +        "type": "string"
      +      },
      +      "metric": {
      +        "description": "Progress readout, e.g. 2/5",
      +        "type": "string"
      +      },
      +      "next_review": {
      +        "description": "YYYY-MM-DD",
      +        "type": "string"
      +      },
      +      "next_step": {
      +        "type": "string"
      +      },
      +      "owner": {
      +        "type": "string"
      +      },
      +      "state": {
      +        "enum": [
      +          "not_started",
      +          "on_track",
      +          "at_risk",
      +          "blocked",
      +          "done"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "share_with": {
      +    "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  "source": {
      +    "description": "With amount: venmo/zelle/…",
      +    "type": "string"
      +  },
      +  "source_gmail_id": {
      +    "description": "Gmail message id the event came from (kept in metadata).",
      +    "type": "string"
      +  },
      +  "time": {
      +    "description": "Alias for event_time.",
      +    "type": "string"
      +  },
      +  "timezone": {
      +    "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      +    "type": "string"
      +  },
      +  "title": {
      +    "description": "Event title (required).",
      +    "type": "string"
      +  },
      +  "visibility": {
      +    "default": "private",
      +    "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      +    "enum": [
      +      "private",
      +      "friends",
      +      "public"
      +    ],
      +    "type": "string"
      +  },
      +  "with": {
      +    "description": "Alias for people.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  }
      +}
    • addedInput schema / required
      Added value: +[
      +  "title",
      +  "event_date"
      +]
  6. Changed1 schema field changed
    • changedInput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amount": {
      -        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      -        "type": "number"
      -      },
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "city": {
      -        "description": "Structured city (composed into location if location omitted)",
      -        "type": "string"
      -      },
      -      "country": {
      -        "description": "Structured country",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "date_precision": {
      -        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      -        "enum": [
      -          "day",
      -          "month",
      -          "year",
      -          "approx"
      -        ],
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "direction": {
      -        "description": "With amount: from=received, to=sent",
      -        "enum": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_id": {
      -        "description": "With amount: idempotency key",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "image_url": {
      -        "description": "Optional cover image URL for Explore + /e share cards.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "description": "Free-text place. Or pass city + country.",
      -        "type": "string"
      -      },
      -      "mirror_transaction": {
      -        "description": "Default true when amount is set; set false to keep calendar-only",
      -        "type": "boolean"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_id": {
      -        "description": "With amount: CRM person UUID",
      -        "type": "string"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "reminder_enabled": {
      -        "description": "Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off.",
      -        "type": "boolean"
      -      },
      -      "reminder_minutes_before": {
      -        "description": "Push lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes).",
      -        "type": "number"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "scoreboard": {
      -        "additionalProperties": false,
      -        "description": "Operating status as data (not description prose). state is required when the event has no scoreboard yet. On update_event fields merge; a null field clears it; scoreboard null removes the record.",
      -        "properties": {
      -          "blocker": {
      -            "type": "string"
      -          },
      -          "evidence": {
      -            "type": "string"
      -          },
      -          "last_verified": {
      -            "description": "YYYY-MM-DD",
      -            "type": "string"
      -          },
      -          "metric": {
      -            "description": "Progress readout, e.g. 2/5",
      -            "type": "string"
      -          },
      -          "next_review": {
      -            "description": "YYYY-MM-DD",
      -            "type": "string"
      -          },
      -          "next_step": {
      -            "type": "string"
      -          },
      -          "owner": {
      -            "type": "string"
      -          },
      -          "state": {
      -            "enum": [
      -              "not_started",
      -              "on_track",
      -              "at_risk",
      -              "blocked",
      -              "done"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "share_with": {
      -        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "source": {
      -        "description": "With amount: venmo/zelle/…",
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "timezone": {
      -        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      -        "enum": [
      -          "private",
      -          "friends",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "event_date"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amount": {
      -        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      -        "type": "number"
      -      },
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "city": {
      -        "description": "Structured city (composed into location if location omitted)",
      -        "type": "string"
      -      },
      -      "country": {
      -        "description": "Structured country",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "date_precision": {
      -        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      -        "enum": [
      -          "day",
      -          "month",
      -          "year",
      -          "approx"
      -        ],
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "direction": {
      -        "description": "With amount: from=received, to=sent",
      -        "enum": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_id": {
      -        "description": "With amount: idempotency key",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "image_url": {
      -        "description": "Optional cover image URL for Explore + /e share cards.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "description": "Free-text place. Or pass city + country.",
      -        "type": "string"
      -      },
      -      "mirror_transaction": {
      -        "description": "Default true when amount is set; set false to keep calendar-only",
      -        "type": "boolean"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_id": {
      -        "description": "With amount: CRM person UUID",
      -        "type": "string"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "reminder_enabled": {
      -        "description": "Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off.",
      -        "type": "boolean"
      -      },
      -      "reminder_minutes_before": {
      -        "description": "Push lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes).",
      -        "type": "number"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "scoreboard": {
      -        "additionalProperties": false,
      -        "description": "Operating status as data (not description prose). state is required when the event has no scoreboard yet. On update_event fields merge; a null field clears it; scoreboard null removes the record.",
      -        "properties": {
      -          "blocker": {
      -            "type": "string"
      -          },
      -          "evidence": {
      -            "type": "string"
      -          },
      -          "last_verified": {
      -            "description": "YYYY-MM-DD",
      -            "type": "string"
      -          },
      -          "metric": {
      -            "description": "Progress readout, e.g. 2/5",
      -            "type": "string"
      -          },
      -          "next_review": {
      -            "description": "YYYY-MM-DD",
      -            "type": "string"
      -          },
      -          "next_step": {
      -            "type": "string"
      -          },
      -          "owner": {
      -            "type": "string"
      -          },
      -          "state": {
      -            "enum": [
      -              "not_started",
      -              "on_track",
      -              "at_risk",
      -              "blocked",
      -              "done"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "share_with": {
      -        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "source": {
      -        "description": "With amount: venmo/zelle/…",
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "timezone": {
      -        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      -        "enum": [
      -          "private",
      -          "friends",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "date"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      +        "type": "number"
      +      },
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "city": {
      +        "description": "Structured city (composed into location if location omitted)",
      +        "type": "string"
      +      },
      +      "country": {
      +        "description": "Structured country",
      +        "type": "string"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "date_precision": {
      +        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      +        "enum": [
      +          "day",
      +          "month",
      +          "year",
      +          "approx"
      +        ],
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "direction": {
      +        "description": "With amount: from=received, to=sent",
      +        "enum": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_id": {
      +        "description": "With amount: idempotency key",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "image_url": {
      +        "description": "Optional cover image URL for Explore + /e share cards.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "description": "Free-text place. Or pass city + country.",
      +        "type": "string"
      +      },
      +      "mirror_transaction": {
      +        "description": "Default true when amount is set; set false to keep calendar-only",
      +        "type": "boolean"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_id": {
      +        "description": "With amount: CRM person UUID",
      +        "type": "string"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "reminder_enabled": {
      +        "description": "Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off.",
      +        "type": "boolean"
      +      },
      +      "reminder_minutes_before": {
      +        "description": "Push lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes).",
      +        "type": "number"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "scoreboard": {
      +        "additionalProperties": false,
      +        "description": "Operating status as data (not description prose). state is required when the event has no scoreboard yet. On update_event fields merge; a null field clears it; scoreboard null removes the record.",
      +        "properties": {
      +          "blocker": {
      +            "type": "string"
      +          },
      +          "evidence": {
      +            "type": "string"
      +          },
      +          "last_verified": {
      +            "description": "YYYY-MM-DD",
      +            "type": "string"
      +          },
      +          "metric": {
      +            "description": "Progress readout, e.g. 2/5",
      +            "type": "string"
      +          },
      +          "next_review": {
      +            "description": "YYYY-MM-DD",
      +            "type": "string"
      +          },
      +          "next_step": {
      +            "type": "string"
      +          },
      +          "owner": {
      +            "type": "string"
      +          },
      +          "state": {
      +            "enum": [
      +              "not_started",
      +              "on_track",
      +              "at_risk",
      +              "blocked",
      +              "done"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "share_with": {
      +        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "source": {
      +        "description": "With amount: venmo/zelle/…",
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "timezone": {
      +        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "default": "private",
      +        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      +        "enum": [
      +          "private",
      +          "friends",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "event_date"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      +        "type": "number"
      +      },
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "city": {
      +        "description": "Structured city (composed into location if location omitted)",
      +        "type": "string"
      +      },
      +      "country": {
      +        "description": "Structured country",
      +        "type": "string"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "date_precision": {
      +        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      +        "enum": [
      +          "day",
      +          "month",
      +          "year",
      +          "approx"
      +        ],
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "direction": {
      +        "description": "With amount: from=received, to=sent",
      +        "enum": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_id": {
      +        "description": "With amount: idempotency key",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "image_url": {
      +        "description": "Optional cover image URL for Explore + /e share cards.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "description": "Free-text place. Or pass city + country.",
      +        "type": "string"
      +      },
      +      "mirror_transaction": {
      +        "description": "Default true when amount is set; set false to keep calendar-only",
      +        "type": "boolean"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_id": {
      +        "description": "With amount: CRM person UUID",
      +        "type": "string"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "reminder_enabled": {
      +        "description": "Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off.",
      +        "type": "boolean"
      +      },
      +      "reminder_minutes_before": {
      +        "description": "Push lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes).",
      +        "type": "number"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "scoreboard": {
      +        "additionalProperties": false,
      +        "description": "Operating status as data (not description prose). state is required when the event has no scoreboard yet. On update_event fields merge; a null field clears it; scoreboard null removes the record.",
      +        "properties": {
      +          "blocker": {
      +            "type": "string"
      +          },
      +          "evidence": {
      +            "type": "string"
      +          },
      +          "last_verified": {
      +            "description": "YYYY-MM-DD",
      +            "type": "string"
      +          },
      +          "metric": {
      +            "description": "Progress readout, e.g. 2/5",
      +            "type": "string"
      +          },
      +          "next_review": {
      +            "description": "YYYY-MM-DD",
      +            "type": "string"
      +          },
      +          "next_step": {
      +            "type": "string"
      +          },
      +          "owner": {
      +            "type": "string"
      +          },
      +          "state": {
      +            "enum": [
      +              "not_started",
      +              "on_track",
      +              "at_risk",
      +              "blocked",
      +              "done"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "share_with": {
      +        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "source": {
      +        "description": "With amount: venmo/zelle/…",
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "timezone": {
      +        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "default": "private",
      +        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      +        "enum": [
      +          "private",
      +          "friends",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "date"
      +    ],
      +    "type": "object"
      +  }
      +]
  7. Changed1 schema field changed
    • changedInput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amount": {
      -        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      -        "type": "number"
      -      },
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "city": {
      -        "description": "Structured city (composed into location if location omitted)",
      -        "type": "string"
      -      },
      -      "country": {
      -        "description": "Structured country",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "date_precision": {
      -        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      -        "enum": [
      -          "day",
      -          "month",
      -          "year",
      -          "approx"
      -        ],
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "direction": {
      -        "description": "With amount: from=received, to=sent",
      -        "enum": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_id": {
      -        "description": "With amount: idempotency key",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "image_url": {
      -        "description": "Optional cover image URL for Explore + /e share cards.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "description": "Free-text place. Or pass city + country.",
      -        "type": "string"
      -      },
      -      "mirror_transaction": {
      -        "description": "Default true when amount is set; set false to keep calendar-only",
      -        "type": "boolean"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_id": {
      -        "description": "With amount: CRM person UUID",
      -        "type": "string"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "reminder_enabled": {
      -        "description": "Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off.",
      -        "type": "boolean"
      -      },
      -      "reminder_minutes_before": {
      -        "description": "Push lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes).",
      -        "type": "number"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "share_with": {
      -        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "source": {
      -        "description": "With amount: venmo/zelle/…",
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "timezone": {
      -        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      -        "enum": [
      -          "private",
      -          "friends",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "event_date"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amount": {
      -        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      -        "type": "number"
      -      },
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "city": {
      -        "description": "Structured city (composed into location if location omitted)",
      -        "type": "string"
      -      },
      -      "country": {
      -        "description": "Structured country",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "date_precision": {
      -        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      -        "enum": [
      -          "day",
      -          "month",
      -          "year",
      -          "approx"
      -        ],
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "direction": {
      -        "description": "With amount: from=received, to=sent",
      -        "enum": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_id": {
      -        "description": "With amount: idempotency key",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "image_url": {
      -        "description": "Optional cover image URL for Explore + /e share cards.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "description": "Free-text place. Or pass city + country.",
      -        "type": "string"
      -      },
      -      "mirror_transaction": {
      -        "description": "Default true when amount is set; set false to keep calendar-only",
      -        "type": "boolean"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_id": {
      -        "description": "With amount: CRM person UUID",
      -        "type": "string"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "reminder_enabled": {
      -        "description": "Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off.",
      -        "type": "boolean"
      -      },
      -      "reminder_minutes_before": {
      -        "description": "Push lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes).",
      -        "type": "number"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "share_with": {
      -        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "source": {
      -        "description": "With amount: venmo/zelle/…",
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "timezone": {
      -        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      -        "enum": [
      -          "private",
      -          "friends",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "date"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      +        "type": "number"
      +      },
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "city": {
      +        "description": "Structured city (composed into location if location omitted)",
      +        "type": "string"
      +      },
      +      "country": {
      +        "description": "Structured country",
      +        "type": "string"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "date_precision": {
      +        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      +        "enum": [
      +          "day",
      +          "month",
      +          "year",
      +          "approx"
      +        ],
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "direction": {
      +        "description": "With amount: from=received, to=sent",
      +        "enum": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_id": {
      +        "description": "With amount: idempotency key",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "image_url": {
      +        "description": "Optional cover image URL for Explore + /e share cards.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "description": "Free-text place. Or pass city + country.",
      +        "type": "string"
      +      },
      +      "mirror_transaction": {
      +        "description": "Default true when amount is set; set false to keep calendar-only",
      +        "type": "boolean"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_id": {
      +        "description": "With amount: CRM person UUID",
      +        "type": "string"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "reminder_enabled": {
      +        "description": "Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off.",
      +        "type": "boolean"
      +      },
      +      "reminder_minutes_before": {
      +        "description": "Push lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes).",
      +        "type": "number"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "scoreboard": {
      +        "additionalProperties": false,
      +        "description": "Operating status as data (not description prose). state is required when the event has no scoreboard yet. On update_event fields merge; a null field clears it; scoreboard null removes the record.",
      +        "properties": {
      +          "blocker": {
      +            "type": "string"
      +          },
      +          "evidence": {
      +            "type": "string"
      +          },
      +          "last_verified": {
      +            "description": "YYYY-MM-DD",
      +            "type": "string"
      +          },
      +          "metric": {
      +            "description": "Progress readout, e.g. 2/5",
      +            "type": "string"
      +          },
      +          "next_review": {
      +            "description": "YYYY-MM-DD",
      +            "type": "string"
      +          },
      +          "next_step": {
      +            "type": "string"
      +          },
      +          "owner": {
      +            "type": "string"
      +          },
      +          "state": {
      +            "enum": [
      +              "not_started",
      +              "on_track",
      +              "at_risk",
      +              "blocked",
      +              "done"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "share_with": {
      +        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "source": {
      +        "description": "With amount: venmo/zelle/…",
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "timezone": {
      +        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      +        "enum": [
      +          "private",
      +          "friends",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "event_date"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      +        "type": "number"
      +      },
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "city": {
      +        "description": "Structured city (composed into location if location omitted)",
      +        "type": "string"
      +      },
      +      "country": {
      +        "description": "Structured country",
      +        "type": "string"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "date_precision": {
      +        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      +        "enum": [
      +          "day",
      +          "month",
      +          "year",
      +          "approx"
      +        ],
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "direction": {
      +        "description": "With amount: from=received, to=sent",
      +        "enum": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_id": {
      +        "description": "With amount: idempotency key",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "image_url": {
      +        "description": "Optional cover image URL for Explore + /e share cards.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "description": "Free-text place. Or pass city + country.",
      +        "type": "string"
      +      },
      +      "mirror_transaction": {
      +        "description": "Default true when amount is set; set false to keep calendar-only",
      +        "type": "boolean"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_id": {
      +        "description": "With amount: CRM person UUID",
      +        "type": "string"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "reminder_enabled": {
      +        "description": "Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off.",
      +        "type": "boolean"
      +      },
      +      "reminder_minutes_before": {
      +        "description": "Push lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes).",
      +        "type": "number"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "scoreboard": {
      +        "additionalProperties": false,
      +        "description": "Operating status as data (not description prose). state is required when the event has no scoreboard yet. On update_event fields merge; a null field clears it; scoreboard null removes the record.",
      +        "properties": {
      +          "blocker": {
      +            "type": "string"
      +          },
      +          "evidence": {
      +            "type": "string"
      +          },
      +          "last_verified": {
      +            "description": "YYYY-MM-DD",
      +            "type": "string"
      +          },
      +          "metric": {
      +            "description": "Progress readout, e.g. 2/5",
      +            "type": "string"
      +          },
      +          "next_review": {
      +            "description": "YYYY-MM-DD",
      +            "type": "string"
      +          },
      +          "next_step": {
      +            "type": "string"
      +          },
      +          "owner": {
      +            "type": "string"
      +          },
      +          "state": {
      +            "enum": [
      +              "not_started",
      +              "on_track",
      +              "at_risk",
      +              "blocked",
      +              "done"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "share_with": {
      +        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "source": {
      +        "description": "With amount: venmo/zelle/…",
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "timezone": {
      +        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      +        "enum": [
      +          "private",
      +          "friends",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "date"
      +    ],
      +    "type": "object"
      +  }
      +]
  8. Changed1 schema field changed
    • changedInput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amount": {
      -        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      -        "type": "number"
      -      },
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "city": {
      -        "description": "Structured city (composed into location if location omitted)",
      -        "type": "string"
      -      },
      -      "country": {
      -        "description": "Structured country",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "date_precision": {
      -        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      -        "enum": [
      -          "day",
      -          "month",
      -          "year",
      -          "approx"
      -        ],
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "direction": {
      -        "description": "With amount: from=received, to=sent",
      -        "enum": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_id": {
      -        "description": "With amount: idempotency key",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "image_url": {
      -        "description": "Optional cover image URL for Explore + /e share cards.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "description": "Free-text place. Or pass city + country.",
      -        "type": "string"
      -      },
      -      "mirror_transaction": {
      -        "description": "Default true when amount is set; set false to keep calendar-only",
      -        "type": "boolean"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_id": {
      -        "description": "With amount: CRM person UUID",
      -        "type": "string"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "share_with": {
      -        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "source": {
      -        "description": "With amount: venmo/zelle/…",
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "timezone": {
      -        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      -        "enum": [
      -          "private",
      -          "friends",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "event_date"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amount": {
      -        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      -        "type": "number"
      -      },
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "city": {
      -        "description": "Structured city (composed into location if location omitted)",
      -        "type": "string"
      -      },
      -      "country": {
      -        "description": "Structured country",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "date_precision": {
      -        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      -        "enum": [
      -          "day",
      -          "month",
      -          "year",
      -          "approx"
      -        ],
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "direction": {
      -        "description": "With amount: from=received, to=sent",
      -        "enum": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_id": {
      -        "description": "With amount: idempotency key",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "image_url": {
      -        "description": "Optional cover image URL for Explore + /e share cards.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "description": "Free-text place. Or pass city + country.",
      -        "type": "string"
      -      },
      -      "mirror_transaction": {
      -        "description": "Default true when amount is set; set false to keep calendar-only",
      -        "type": "boolean"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_id": {
      -        "description": "With amount: CRM person UUID",
      -        "type": "string"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "share_with": {
      -        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "source": {
      -        "description": "With amount: venmo/zelle/…",
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "timezone": {
      -        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      -        "enum": [
      -          "private",
      -          "friends",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "date"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      +        "type": "number"
      +      },
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "city": {
      +        "description": "Structured city (composed into location if location omitted)",
      +        "type": "string"
      +      },
      +      "country": {
      +        "description": "Structured country",
      +        "type": "string"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "date_precision": {
      +        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      +        "enum": [
      +          "day",
      +          "month",
      +          "year",
      +          "approx"
      +        ],
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "direction": {
      +        "description": "With amount: from=received, to=sent",
      +        "enum": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_id": {
      +        "description": "With amount: idempotency key",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "image_url": {
      +        "description": "Optional cover image URL for Explore + /e share cards.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "description": "Free-text place. Or pass city + country.",
      +        "type": "string"
      +      },
      +      "mirror_transaction": {
      +        "description": "Default true when amount is set; set false to keep calendar-only",
      +        "type": "boolean"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_id": {
      +        "description": "With amount: CRM person UUID",
      +        "type": "string"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "reminder_enabled": {
      +        "description": "Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off.",
      +        "type": "boolean"
      +      },
      +      "reminder_minutes_before": {
      +        "description": "Push lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes).",
      +        "type": "number"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "share_with": {
      +        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "source": {
      +        "description": "With amount: venmo/zelle/…",
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "timezone": {
      +        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      +        "enum": [
      +          "private",
      +          "friends",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "event_date"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      +        "type": "number"
      +      },
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "city": {
      +        "description": "Structured city (composed into location if location omitted)",
      +        "type": "string"
      +      },
      +      "country": {
      +        "description": "Structured country",
      +        "type": "string"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "date_precision": {
      +        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      +        "enum": [
      +          "day",
      +          "month",
      +          "year",
      +          "approx"
      +        ],
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "direction": {
      +        "description": "With amount: from=received, to=sent",
      +        "enum": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_id": {
      +        "description": "With amount: idempotency key",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "image_url": {
      +        "description": "Optional cover image URL for Explore + /e share cards.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "description": "Free-text place. Or pass city + country.",
      +        "type": "string"
      +      },
      +      "mirror_transaction": {
      +        "description": "Default true when amount is set; set false to keep calendar-only",
      +        "type": "boolean"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_id": {
      +        "description": "With amount: CRM person UUID",
      +        "type": "string"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "reminder_enabled": {
      +        "description": "Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off.",
      +        "type": "boolean"
      +      },
      +      "reminder_minutes_before": {
      +        "description": "Push lead time. Uses the profile reminder_timing when omitted (fallback 30 minutes).",
      +        "type": "number"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "share_with": {
      +        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "source": {
      +        "description": "With amount: venmo/zelle/…",
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "timezone": {
      +        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      +        "enum": [
      +          "private",
      +          "friends",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "date"
      +    ],
      +    "type": "object"
      +  }
      +]
  9. Changed1 schema field changed
    • changedInput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amount": {
      -        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      -        "type": "number"
      -      },
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "city": {
      -        "description": "Structured city (composed into location if location omitted)",
      -        "type": "string"
      -      },
      -      "country": {
      -        "description": "Structured country",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "direction": {
      -        "description": "With amount: from=received, to=sent",
      -        "enum": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_id": {
      -        "description": "With amount: idempotency key",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "image_url": {
      -        "description": "Optional cover image URL for Explore + /e share cards.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "description": "Free-text place. Or pass city + country.",
      -        "type": "string"
      -      },
      -      "mirror_transaction": {
      -        "description": "Default true when amount is set; set false to keep calendar-only",
      -        "type": "boolean"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_id": {
      -        "description": "With amount: CRM person UUID",
      -        "type": "string"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "share_with": {
      -        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "source": {
      -        "description": "With amount: venmo/zelle/…",
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "timezone": {
      -        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      -        "enum": [
      -          "private",
      -          "friends",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "event_date"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amount": {
      -        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      -        "type": "number"
      -      },
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "city": {
      -        "description": "Structured city (composed into location if location omitted)",
      -        "type": "string"
      -      },
      -      "country": {
      -        "description": "Structured country",
      -        "type": "string"
      -      },
      -      "currency": {
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "direction": {
      -        "description": "With amount: from=received, to=sent",
      -        "enum": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_id": {
      -        "description": "With amount: idempotency key",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "image_url": {
      -        "description": "Optional cover image URL for Explore + /e share cards.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "description": "Free-text place. Or pass city + country.",
      -        "type": "string"
      -      },
      -      "mirror_transaction": {
      -        "description": "Default true when amount is set; set false to keep calendar-only",
      -        "type": "boolean"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_id": {
      -        "description": "With amount: CRM person UUID",
      -        "type": "string"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "share_with": {
      -        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "source": {
      -        "description": "With amount: venmo/zelle/…",
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "timezone": {
      -        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      -        "enum": [
      -          "private",
      -          "friends",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "date"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      +        "type": "number"
      +      },
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "city": {
      +        "description": "Structured city (composed into location if location omitted)",
      +        "type": "string"
      +      },
      +      "country": {
      +        "description": "Structured country",
      +        "type": "string"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "date_precision": {
      +        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      +        "enum": [
      +          "day",
      +          "month",
      +          "year",
      +          "approx"
      +        ],
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "direction": {
      +        "description": "With amount: from=received, to=sent",
      +        "enum": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_id": {
      +        "description": "With amount: idempotency key",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "image_url": {
      +        "description": "Optional cover image URL for Explore + /e share cards.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "description": "Free-text place. Or pass city + country.",
      +        "type": "string"
      +      },
      +      "mirror_transaction": {
      +        "description": "Default true when amount is set; set false to keep calendar-only",
      +        "type": "boolean"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_id": {
      +        "description": "With amount: CRM person UUID",
      +        "type": "string"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "share_with": {
      +        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "source": {
      +        "description": "With amount: venmo/zelle/…",
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "timezone": {
      +        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      +        "enum": [
      +          "private",
      +          "friends",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "event_date"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      +        "type": "number"
      +      },
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "city": {
      +        "description": "Structured city (composed into location if location omitted)",
      +        "type": "string"
      +      },
      +      "country": {
      +        "description": "Structured country",
      +        "type": "string"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "date_precision": {
      +        "description": "Soft date precision stored in metadata. YYYY/YYYY-MM dates default to year/month.",
      +        "enum": [
      +          "day",
      +          "month",
      +          "year",
      +          "approx"
      +        ],
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "direction": {
      +        "description": "With amount: from=received, to=sent",
      +        "enum": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_id": {
      +        "description": "With amount: idempotency key",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "image_url": {
      +        "description": "Optional cover image URL for Explore + /e share cards.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "description": "Free-text place. Or pass city + country.",
      +        "type": "string"
      +      },
      +      "mirror_transaction": {
      +        "description": "Default true when amount is set; set false to keep calendar-only",
      +        "type": "boolean"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_id": {
      +        "description": "With amount: CRM person UUID",
      +        "type": "string"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "share_with": {
      +        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "source": {
      +        "description": "With amount: venmo/zelle/…",
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "timezone": {
      +        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      +        "enum": [
      +          "private",
      +          "friends",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "date"
      +    ],
      +    "type": "object"
      +  }
      +]
  10. Changed1 schema field changed
    • changedInput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "city": {
      -        "description": "Structured city (composed into location if location omitted)",
      -        "type": "string"
      -      },
      -      "country": {
      -        "description": "Structured country",
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "image_url": {
      -        "description": "Optional cover image URL for Explore + /e share cards.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "description": "Free-text place. Or pass city + country.",
      -        "type": "string"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "share_with": {
      -        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "timezone": {
      -        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      -        "enum": [
      -          "private",
      -          "friends",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "event_date"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "city": {
      -        "description": "Structured city (composed into location if location omitted)",
      -        "type": "string"
      -      },
      -      "country": {
      -        "description": "Structured country",
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "image_url": {
      -        "description": "Optional cover image URL for Explore + /e share cards.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "description": "Free-text place. Or pass city + country.",
      -        "type": "string"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "share_with": {
      -        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "timezone": {
      -        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      -        "enum": [
      -          "private",
      -          "friends",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "date"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      +        "type": "number"
      +      },
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "city": {
      +        "description": "Structured city (composed into location if location omitted)",
      +        "type": "string"
      +      },
      +      "country": {
      +        "description": "Structured country",
      +        "type": "string"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "direction": {
      +        "description": "With amount: from=received, to=sent",
      +        "enum": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_id": {
      +        "description": "With amount: idempotency key",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "image_url": {
      +        "description": "Optional cover image URL for Explore + /e share cards.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "description": "Free-text place. Or pass city + country.",
      +        "type": "string"
      +      },
      +      "mirror_transaction": {
      +        "description": "Default true when amount is set; set false to keep calendar-only",
      +        "type": "boolean"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_id": {
      +        "description": "With amount: CRM person UUID",
      +        "type": "string"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "share_with": {
      +        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "source": {
      +        "description": "With amount: venmo/zelle/…",
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "timezone": {
      +        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      +        "enum": [
      +          "private",
      +          "friends",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "event_date"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "description": "If set, also writes a /money transaction (dual-write). Prefer log_transaction / import_venmo_gmail for cashflow-first digs.",
      +        "type": "number"
      +      },
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "city": {
      +        "description": "Structured city (composed into location if location omitted)",
      +        "type": "string"
      +      },
      +      "country": {
      +        "description": "Structured country",
      +        "type": "string"
      +      },
      +      "currency": {
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "direction": {
      +        "description": "With amount: from=received, to=sent",
      +        "enum": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_id": {
      +        "description": "With amount: idempotency key",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "image_url": {
      +        "description": "Optional cover image URL for Explore + /e share cards.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "description": "Free-text place. Or pass city + country.",
      +        "type": "string"
      +      },
      +      "mirror_transaction": {
      +        "description": "Default true when amount is set; set false to keep calendar-only",
      +        "type": "boolean"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_id": {
      +        "description": "With amount: CRM person UUID",
      +        "type": "string"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "share_with": {
      +        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "source": {
      +        "description": "With amount: venmo/zelle/…",
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "timezone": {
      +        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      +        "enum": [
      +          "private",
      +          "friends",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "date"
      +    ],
      +    "type": "object"
      +  }
      +]
  11. Changed1 schema field changed
    • changedInput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "image_url": {
      -        "description": "Optional cover image URL for Explore + /e share cards.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "type": "string"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "share_with": {
      -        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "timezone": {
      -        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      -        "enum": [
      -          "private",
      -          "friends",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "event_date"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "image_url": {
      -        "description": "Optional cover image URL for Explore + /e share cards.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "type": "string"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "share_with": {
      -        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "timezone": {
      -        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      -        "enum": [
      -          "private",
      -          "friends",
      -          "public"
      -        ],
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "date"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "city": {
      +        "description": "Structured city (composed into location if location omitted)",
      +        "type": "string"
      +      },
      +      "country": {
      +        "description": "Structured country",
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "image_url": {
      +        "description": "Optional cover image URL for Explore + /e share cards.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "description": "Free-text place. Or pass city + country.",
      +        "type": "string"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "share_with": {
      +        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "timezone": {
      +        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      +        "enum": [
      +          "private",
      +          "friends",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "event_date"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "city": {
      +        "description": "Structured city (composed into location if location omitted)",
      +        "type": "string"
      +      },
      +      "country": {
      +        "description": "Structured country",
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "image_url": {
      +        "description": "Optional cover image URL for Explore + /e share cards.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "description": "Free-text place. Or pass city + country.",
      +        "type": "string"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "share_with": {
      +        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "timezone": {
      +        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      +        "enum": [
      +          "private",
      +          "friends",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "date"
      +    ],
      +    "type": "object"
      +  }
      +]
  12. Changed1 schema field changed
    • changedInput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "type": "string"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "event_date"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "type": "string"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "request_id": {
      -        "description": "Alias for idempotency_key (preferred by some clients).",
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "date"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "image_url": {
      +        "description": "Optional cover image URL for Explore + /e share cards.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "type": "string"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "share_with": {
      +        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "timezone": {
      +        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      +        "enum": [
      +          "private",
      +          "friends",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "event_date"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "image_url": {
      +        "description": "Optional cover image URL for Explore + /e share cards.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "type": "string"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "share_with": {
      +        "description": "Dayze profile handles to add as collaborators via shared_events (e.g. [\"boof\"]). Leading @ stripped.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "timezone": {
      +        "description": "IANA timezone for wall-clock display (e.g. America/New_York).",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "description": "Calendar visibility. public → appears on /explore and gets share_url https://dayze.com/e/{id}. Default private.",
      +        "enum": [
      +          "private",
      +          "friends",
      +          "public"
      +        ],
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "date"
      +    ],
      +    "type": "object"
      +  }
      +]
  13. Changed1 schema field changed
    • changedInput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "type": "string"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "event_date"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "idempotency_key": {
      -        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      -        "type": "string"
      -      },
      -      "location": {
      -        "type": "string"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "date"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "type": "string"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "event_date"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "type": "string"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "request_id": {
      +        "description": "Alias for idempotency_key (preferred by some clients).",
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "date"
      +    ],
      +    "type": "object"
      +  }
      +]
  14. Changed1 schema field changed
    • changedInput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "location": {
      -        "type": "string"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "event_date"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "category": {
      -        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -        "type": "string"
      -      },
      -      "date": {
      -        "description": "Alias for event_date.",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -        "type": "string"
      -      },
      -      "end_time": {
      -        "description": "Optional end time (same formats as event_time).",
      -        "type": "string"
      -      },
      -      "event_date": {
      -        "description": "Start date YYYY-MM-DD. Alias: date.",
      -        "type": "string"
      -      },
      -      "event_time": {
      -        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -        "type": "string"
      -      },
      -      "external_url": {
      -        "type": "string"
      -      },
      -      "location": {
      -        "type": "string"
      -      },
      -      "people": {
      -        "description": "People names or person UUIDs to tag (event_people role=with).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "people_names": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_ids": {
      -        "description": "Owned person UUIDs to tag (user-scoped).",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "person_name": {
      -        "type": "string"
      -      },
      -      "time": {
      -        "description": "Alias for event_time.",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Event title (required).",
      -        "type": "string"
      -      },
      -      "with": {
      -        "description": "Alias for people.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "date"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "type": "string"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "event_date"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "idempotency_key": {
      +        "description": "Optional client key (max 128 chars). Retries with the same key return the original result instead of creating a duplicate. If omitted, Dayze fingerprints args for ~15 minutes.",
      +        "type": "string"
      +      },
      +      "location": {
      +        "type": "string"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "date"
      +    ],
      +    "type": "object"
      +  }
      +]
  15. Changed4 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "location": {
      +        "type": "string"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "event_date"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "category": {
      +        "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Alias for event_date.",
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      +        "type": "string"
      +      },
      +      "end_time": {
      +        "description": "Optional end time (same formats as event_time).",
      +        "type": "string"
      +      },
      +      "event_date": {
      +        "description": "Start date YYYY-MM-DD. Alias: date.",
      +        "type": "string"
      +      },
      +      "event_time": {
      +        "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      +        "type": "string"
      +      },
      +      "external_url": {
      +        "type": "string"
      +      },
      +      "location": {
      +        "type": "string"
      +      },
      +      "people": {
      +        "description": "People names or person UUIDs to tag (event_people role=with).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "people_names": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_ids": {
      +        "description": "Owned person UUIDs to tag (user-scoped).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "person_name": {
      +        "type": "string"
      +      },
      +      "time": {
      +        "description": "Alias for event_time.",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Event title (required).",
      +        "type": "string"
      +      },
      +      "with": {
      +        "description": "Alias for people.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "date"
      +    ],
      +    "type": "object"
      +  }
      +]
    • removedInput schema / properties
      Removed value: -{
      -  "category": {
      -    "description": "e.g. funeral, family, work, travel. Stored as events.category and event_type.",
      -    "type": "string"
      -  },
      -  "date": {
      -    "description": "Alias for event_date.",
      -    "type": "string"
      -  },
      -  "description": {
      -    "type": "string"
      -  },
      -  "end_date": {
      -    "description": "Optional end date YYYY-MM-DD (all-day multi-day).",
      -    "type": "string"
      -  },
      -  "end_time": {
      -    "description": "Optional end time (same formats as event_time).",
      -    "type": "string"
      -  },
      -  "event_date": {
      -    "description": "Start date YYYY-MM-DD (required). Alias: date.",
      -    "type": "string"
      -  },
      -  "event_time": {
      -    "description": "Optional start time: 8pm, 20:00, or 20:00:00. Alias: time.",
      -    "type": "string"
      -  },
      -  "external_url": {
      -    "type": "string"
      -  },
      -  "location": {
      -    "type": "string"
      -  },
      -  "people": {
      -    "description": "People names or person UUIDs to tag (event_people role=with).",
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "people_names": {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "person_ids": {
      -    "description": "Owned person UUIDs to tag (user-scoped).",
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "person_name": {
      -    "type": "string"
      -  },
      -  "time": {
      -    "description": "Alias for event_time.",
      -    "type": "string"
      -  },
      -  "title": {
      -    "description": "Event title (required).",
      -    "type": "string"
      -  },
      -  "with": {
      -    "description": "Alias for people.",
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  }
      -}
    • removedInput schema / required
      Removed value: -[
      -  "title",
      -  "event_date"
      -]
  16. Changed1 schema field changed
    • changedInput schema / required
      Previous value: -[
      -  "title"
      -]New value: +[
      +  "title",
      +  "event_date"
      +]
  17. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "event": {
      +      "additionalProperties": true,
      +      "description": "A Dayze calendar event record.",
      +      "type": "object"
      +    },
      +    "life_state_rebuilt": {
      +      "type": "boolean"
      +    },
      +    "people_tagged": {
      +      "items": {
      +        "additionalProperties": true,
      +        "description": "A Dayze person or contact record.",
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "unresolved_people": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "event",
      +    "people_tagged",
      +    "unresolved_people",
      +    "life_state_rebuilt"
      +  ],
      +  "type": "object"
      +}
  18. Added

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a non-destructive mutation, and the description adds substantial context beyond them: auth requirements ('API key or OAuth with context scope; share tokens cannot write'), cost ($0.10), idempotency behavior, unknown-people handling, public share_url returns, and reminder defaults. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a very long, dense paragraph. It is front-loaded with the core purpose, but the wake-time sleep rule and bedtime guidance are restated, and the wall of text is difficult to scan despite the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 39-parameter mutation tool with nested objects and an output schema, the description covers auth, cost, error handling, sibling routing, and edge cases thoroughly. Return values need not be explained because an output schema exists, and nothing critical for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 95%, so the schema already documents nearly all parameters and the baseline is 3. The description still adds semantic rules beyond the schema, such as mapping a wake-time-only sleep entry to category/event_date/end_time, preserving date_precision for soft dates, and clarifying scoreboard versus description, though much parameter detail is redundant with the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'MUTATES the calendar (non-food events, tasks, sleep).' It immediately scopes the tool and distinguishes it from siblings such as create_pending_reply, log_moment, and log_travel.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing rules are given for when to use alternatives: replies owed go to create_pending_reply, stories/anecdotes go to log_moment, and trips/residences go to log_travel. It also gives detailed conditions for tasks without deadlines and sleep entries, leaving little to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.