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 and starts already in the past stay off. Log / past-tense entries should pass reminder_enabled=false; reminder_minutes_before sets the lead time. 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

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, except a start already in the past (default off). Pass false for log / past-tense entries and any 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

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.
inspect_urlNoThe Dayze page that shows the saved record.
inspect_noteNoWhat inspect_url opens. Never quote the record id.
people_taggedYes
places_from_namesNo
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. Changed1 schema field changed
    • changedInput schema / properties / reminder_enabled / description
      Previous value: -"Timed events default to a push reminder when omitted. Set false only for an explicit opt-out; all-day events stay off."New value: +"Timed events default to a push reminder when omitted, except a start already in the past (default off). Pass false for log / past-tense entries and any explicit opt-out; all-day events stay off."
  2. Changed2 schema fields changed
    • addedOutput schema / properties / inspect_note
      Added value: +{
      +  "description": "What inspect_url opens. Never quote the record id.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / inspect_url
      Added value: +{
      +  "description": "The Dayze page that shows the saved record.",
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • addedOutput schema / properties / places_from_names
      Added value: +{
      +  "items": {
      +    "additionalProperties": true,
      +    "description": "Hotels or rental listings named as companions, saved or matched as places (not people).",
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  4. 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"
      +}
  5. 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"
      +]
  6. 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"
      +]
  7. 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."
  8. 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"
      +]
  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"
      -      },
      -      "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"
      +  }
      +]
  10. 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"
      +  }
      +]
  11. 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"
      +  }
      +]
  12. 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"
      +  }
      +]
  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"
      -      },
      -      "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"
      +  }
      +]
  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"
      -      },
      -      "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"
      +  }
      +]
  15. 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"
      +  }
      +]
  16. 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"
      +  }
      +]
  17. 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"
      +  }
      +]
  18. 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"
      -]
  19. Changed1 schema field changed
    • changedInput schema / required
      Previous value: -[
      -  "title"
      -]New value: +[
      +  "title",
      +  "event_date"
      +]
  20. 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"
      +}
  21. Added

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the mutation/safety profile is partly covered; the description adds real value beyond that with the auth requirement ('API key or OAuth with context scope; share tokens cannot write'), the $0.10 cost, reminder defaults, unknown-people tolerance, and public-event share_url. These are genuinely useful extras rather than repeats, though it says nothing about failure modes or what happens to conflicting existing entries.

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

Conciseness4/5

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

It is front-loaded: the mutation, the two sibling redirects and the required date field come first, with edge cases after. The middle section is dense and run-on (the bedtime/update_event aside, the reminder paragraph), but for a 39-parameter tool nearly every sentence carries a routing or default rule that cannot be inferred elsewhere.

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?

With annotations covering safety, 95% schema coverage, and an output schema handling return values, the description fills the remaining gaps an agent needs: auth scope, cost, reminder defaults, required date rules, and sibling routing. Nothing material is missing for correct invocation.

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 baseline is 3, but the description adds semantics the schema does not: the wake-time/end_time construction, date_precision preservation for soft dates, scoreboard-as-data vs description-as-notes, amount triggering a dual-write, and idempotency_key fallback fingerprinting. The niche alias and reminder-field behavior is mostly already in the schema, capping this below 5.

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?

Opens with an explicit verb and resource in caps ('MUTATES the calendar') and immediately scopes it ('non-food events, tasks, sleep'), then routes two sibling categories away (create_pending_reply, log_moment). An agent can tell this apart from log_moment, log_travel, log_sleep and log_food without opening any schema.

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?

Gives explicit when-to-use rules and named alternatives: replies go to create_pending_reply, anecdotes go to log_moment, trips go to log_travel, bedtime corrections go to update_event. It also states when-not conditions ('a task with no deadline: ask for a date, never fill in today') and the sleep-with-only-wake-time shape.

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.