changedInput schema / properties / requests / items / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "description": "An exact request: book at `start`.",
- "properties": {
- "activityTypeId": {
- "description": "Activity-type id to attach (from the schedule read's `activityTypes`); null or omitted leaves it unset.",
- "type": [
- "string",
- "null"
- ]
- },
- "areaId": {
- "description": "Area id to attach (from the schedule read's `areas`); null or omitted leaves it unset.",
- "type": [
- "string",
- "null"
- ]
- },
- "durationMinutes": {
- "description": "How long, in whole minutes, e.g. 90.",
- "maximum": 1440,
- "minimum": 5,
- "type": "integer"
- },
- "kind": {
- "description": "\"blocking\" (default) cannot overlap others; \"non_blocking\" is an overlay (e.g. a fasting band or an away/OOO marker) that may overlap and never conflicts; \"reference\" is something the user wants to SEE but is not doing — non-blocking, and don't move, delete, or schedule work into it unless asked. Note a non-blocking request still SEARCHES for a free slot like any other; it simply does not occupy one once placed.",
- "enum": [
- "blocking",
- "non_blocking",
- "reference"
- ],
- "type": "string"
- },
- "name": {
- "description": "Event title, e.g. \"Deep work\", \"Gym\".",
- "maxLength": 200,
- "minLength": 1,
- "type": "string"
- },
- "notes": {
- "maxLength": 2000,
- "type": "string"
- },
- "recurrence": {
- "description": "Repeat rule as an RRULE, e.g. \"FREQ=WEEKLY;BYDAY=MO\"; omit for a one-off.",
- "type": "string"
- },
- "requestId": {
- "description": "Idempotency key; reuse on retry to avoid double-booking.",
- "type": "string"
- },
- "sourceUrl": {
- "description": "Where this was captured from — the http(s) page address. Shown as a source chip; never parsed. Set it only for something grabbed off a real page, not for an intention the user typed.",
- "maxLength": 2048,
- "type": "string"
- },
- "start": {
- "description": "Exact local start \"YYYY-MM-DDTHH:MM\"; place there (alternatives proposed on a conflict).",
- "pattern": "^(\\d{4}-\\d{2}-\\d{2})T([01]\\d|2[0-3]):([0-5]\\d)$",
- "type": "string"
- }
- },
- "required": [
- "name",
- "durationMinutes",
- "start"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "A window request: search from `earliest` to `latest`, at most 24 hours.",
- "properties": {
- "activityTypeId": {
- "description": "Activity-type id to attach (from the schedule read's `activityTypes`); null or omitted leaves it unset.",
- "type": [
- "string",
- "null"
- ]
- },
- "areaId": {
- "description": "Area id to attach (from the schedule read's `areas`); null or omitted leaves it unset.",
- "type": [
- "string",
- "null"
- ]
- },
- "autoCommitBest": {
- "description": "When true, immediately book the top-ranked slot instead of returning `options` + a commitToken. Use for routine one-shot bookings (\"block 2h this afternoon\") to skip the confirm step; leave off (the default) when slots are scarce/contested and you want to review options first.",
- "type": "boolean"
- },
- "durationMinutes": {
- "description": "How long, in whole minutes, e.g. 90.",
- "maximum": 1440,
- "minimum": 5,
- "type": "integer"
- },
- "earliest": {
- "description": "Start of the local \"YYYY-MM-DDTHH:MM\" window to search.",
- "pattern": "^(\\d{4}-\\d{2}-\\d{2})T([01]\\d|2[0-3]):([0-5]\\d)$",
- "type": "string"
- },
- "kind": {
- "description": "\"blocking\" (default) cannot overlap others; \"non_blocking\" is an overlay (e.g. a fasting band or an away/OOO marker) that may overlap and never conflicts; \"reference\" is something the user wants to SEE but is not doing — non-blocking, and don't move, delete, or schedule work into it unless asked. Note a non-blocking request still SEARCHES for a free slot like any other; it simply does not occupy one once placed.",
- "enum": [
- "blocking",
- "non_blocking",
- "reference"
- ],
- "type": "string"
- },
- "latest": {
- "description": "End of the search window: after `earliest` and at most 24 hours later; it may be on the next day.",
- "pattern": "^(\\d{4}-\\d{2}-\\d{2})T([01]\\d|2[0-3]):([0-5]\\d)$",
- "type": "string"
- },
- "name": {
- "description": "Event title, e.g. \"Deep work\", \"Gym\".",
- "maxLength": 200,
- "minLength": 1,
- "type": "string"
- },
- "notes": {
- "maxLength": 2000,
- "type": "string"
- },
- "recurrence": {
- "description": "Repeat rule as an RRULE, e.g. \"FREQ=WEEKLY;BYDAY=MO\"; omit for a one-off.",
- "type": "string"
- },
- "requestId": {
- "description": "Idempotency key; reuse on retry to avoid double-booking.",
- "type": "string"
- },
- "sourceUrl": {
- "description": "Where this was captured from — the http(s) page address. Shown as a source chip; never parsed. Set it only for something grabbed off a real page, not for an intention the user typed.",
- "maxLength": 2048,
- "type": "string"
- }
- },
- "required": [
- "name",
- "durationMinutes",
- "earliest",
- "latest"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "description": "An exact request: book at `start`.",
+ "properties": {
+ "activityTypeId": {
+ "description": "Activity-type id to attach (from the schedule read's `activityTypes`); null or omitted leaves it unset.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "areaId": {
+ "description": "Area id to attach (from the schedule read's `areas`); null or omitted leaves it unset.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "durationMinutes": {
+ "description": "How long, in whole minutes, e.g. 90.",
+ "maximum": 1440,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "kind": {
+ "description": "\"blocking\" (default) cannot overlap others; \"non_blocking\" is an overlay (e.g. a fasting band or an away/OOO marker) that may overlap and never conflicts; \"reference\" is something the user wants to SEE but is not doing — non-blocking, and don't move, delete, or schedule work into it unless asked. Note a non-blocking request still SEARCHES for a free slot like any other; it simply does not occupy one once placed.",
+ "enum": [
+ "blocking",
+ "non_blocking",
+ "reference"
+ ],
+ "type": "string"
+ },
+ "name": {
+ "description": "Event title, e.g. \"Deep work\", \"Gym\".",
+ "maxLength": 200,
+ "minLength": 1,
+ "type": "string"
+ },
+ "notes": {
+ "maxLength": 2000,
+ "type": "string"
+ },
+ "recurrence": {
+ "description": "Repeat rule as an RRULE, e.g. \"FREQ=WEEKLY;BYDAY=MO\"; omit for a one-off.",
+ "type": "string"
+ },
+ "requestId": {
+ "description": "Idempotency key; reuse on retry to avoid double-booking. Only this key replays: a request without it is always booked as new.",
+ "type": "string"
+ },
+ "sourceUrl": {
+ "description": "Where this was captured from — the http(s) page address. Shown as a source chip; never parsed. Set it only for something grabbed off a real page, not for an intention the user typed.",
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "start": {
+ "description": "Exact local start \"YYYY-MM-DDTHH:MM\"; place there (alternatives proposed on a conflict).",
+ "pattern": "^(\\d{4}-\\d{2}-\\d{2})T([01]\\d|2[0-3]):([0-5]\\d)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "durationMinutes",
+ "start"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "A window request: search from `earliest` to `latest`, at most 24 hours.",
+ "properties": {
+ "activityTypeId": {
+ "description": "Activity-type id to attach (from the schedule read's `activityTypes`); null or omitted leaves it unset.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "areaId": {
+ "description": "Area id to attach (from the schedule read's `areas`); null or omitted leaves it unset.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "autoCommitBest": {
+ "description": "When true, immediately book the top-ranked slot instead of returning `options` + a commitToken. Use for routine one-shot bookings (\"block 2h this afternoon\") to skip the confirm step. Omitted or false never books, also when only one slot fits: the result is `options` + a commitToken to review first.",
+ "type": "boolean"
+ },
+ "durationMinutes": {
+ "description": "How long, in whole minutes, e.g. 90.",
+ "maximum": 1440,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "earliest": {
+ "description": "Start of the local \"YYYY-MM-DDTHH:MM\" window to search.",
+ "pattern": "^(\\d{4}-\\d{2}-\\d{2})T([01]\\d|2[0-3]):([0-5]\\d)$",
+ "type": "string"
+ },
+ "kind": {
+ "description": "\"blocking\" (default) cannot overlap others; \"non_blocking\" is an overlay (e.g. a fasting band or an away/OOO marker) that may overlap and never conflicts; \"reference\" is something the user wants to SEE but is not doing — non-blocking, and don't move, delete, or schedule work into it unless asked. Note a non-blocking request still SEARCHES for a free slot like any other; it simply does not occupy one once placed.",
+ "enum": [
+ "blocking",
+ "non_blocking",
+ "reference"
+ ],
+ "type": "string"
+ },
+ "latest": {
+ "description": "End of the search window: after `earliest` and at most 24 hours later; it may be on the next day.",
+ "pattern": "^(\\d{4}-\\d{2}-\\d{2})T([01]\\d|2[0-3]):([0-5]\\d)$",
+ "type": "string"
+ },
+ "name": {
+ "description": "Event title, e.g. \"Deep work\", \"Gym\".",
+ "maxLength": 200,
+ "minLength": 1,
+ "type": "string"
+ },
+ "notes": {
+ "maxLength": 2000,
+ "type": "string"
+ },
+ "recurrence": {
+ "description": "Repeat rule as an RRULE, e.g. \"FREQ=WEEKLY;BYDAY=MO\"; omit for a one-off.",
+ "type": "string"
+ },
+ "requestId": {
+ "description": "Idempotency key; reuse on retry to avoid double-booking. Only this key replays: a request without it is always booked as new.",
+ "type": "string"
+ },
+ "sourceUrl": {
+ "description": "Where this was captured from — the http(s) page address. Shown as a source chip; never parsed. Set it only for something grabbed off a real page, not for an intention the user typed.",
+ "maxLength": 2048,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "durationMinutes",
+ "earliest",
+ "latest"
+ ],
+ "type": "object"
+ }
+]