addedInput schema / properties / recurrence
Added value: +{
+ "additionalProperties": false,
+ "description": "Recurrence rule. Omit for a one-off task. Requires `dueDateTime` to be set (the recurrence derives its first occurrence from it).",
+ "properties": {
+ "pattern": {
+ "additionalProperties": false,
+ "properties": {
+ "dayOfMonth": {
+ "description": "Day of month for absoluteMonthly / absoluteYearly.",
+ "maximum": 31,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "daysOfWeek": {
+ "description": "Days of week for weekly / relativeMonthly / relativeYearly.",
+ "items": {
+ "enum": [
+ "sunday",
+ "monday",
+ "tuesday",
+ "wednesday",
+ "thursday",
+ "friday",
+ "saturday"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "firstDayOfWeek": {
+ "description": "Which day is the start of the week (defaults to sunday).",
+ "enum": [
+ "sunday",
+ "monday",
+ "tuesday",
+ "wednesday",
+ "thursday",
+ "friday",
+ "saturday"
+ ],
+ "type": "string"
+ },
+ "index": {
+ "description": "Ordinal position for relativeMonthly / relativeYearly (e.g. 'second' Tuesday).",
+ "enum": [
+ "first",
+ "second",
+ "third",
+ "fourth",
+ "last"
+ ],
+ "type": "string"
+ },
+ "interval": {
+ "description": "How often the pattern repeats (1 = every period, 2 = every second, ...).",
+ "maximum": 255,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "month": {
+ "description": "Month for absoluteYearly / relativeYearly (1-12).",
+ "maximum": 12,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "type": {
+ "description": "Recurrence pattern type. daily | weekly | absoluteMonthly (e.g. 15th of every N months) | relativeMonthly (e.g. 2nd Tuesday of every N months) | absoluteYearly | relativeYearly.",
+ "enum": [
+ "daily",
+ "weekly",
+ "absoluteMonthly",
+ "relativeMonthly",
+ "absoluteYearly",
+ "relativeYearly"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "interval"
+ ],
+ "type": "object"
+ },
+ "range": {
+ "additionalProperties": false,
+ "properties": {
+ "endDate": {
+ "description": "Required when type=endDate; ISO date YYYY-MM-DD.",
+ "type": "string"
+ },
+ "numberOfOccurrences": {
+ "description": "Required when type=numbered; how many occurrences before stopping.",
+ "minimum": 1,
+ "type": "integer"
+ },
+ "recurrenceTimeZone": {
+ "description": "IANA timezone for the recurrence. In one live test Microsoft To Do stored 'Asia/Kolkata' as UTC, and it keeps only the due date's day, not its time.",
+ "type": "string"
+ },
+ "startDate": {
+ "description": "Required for endDate/numbered; ISO date YYYY-MM-DD. Defaults to the task due date if omitted.",
+ "type": "string"
+ },
+ "type": {
+ "description": "How long the recurrence repeats: endDate (stops at endDate), noEnd (forever), numbered (stops after N occurrences).",
+ "enum": [
+ "endDate",
+ "noEnd",
+ "numbered"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "pattern",
+ "range"
+ ],
+ "type": "object"
+}