{"components":{"securitySchemes":{"visionIssuedCredential":{"bearerFormat":"Vision-issued JWT","description":"Not generic external OAuth. Human requests require a short-lived Vision Core broker grant bound to the operation. Non-human credentials are Vision-issued and read-only for this catalog; workers are denied and commands are human-only.","scheme":"bearer","type":"http"}}},"info":{"description":"Generated from the To Do operation catalog and runtime Zod contracts. Human calls use one-time grants brokered by Vision Core. Service and agent read access requires a Vision-issued credential; no external OAuth issuer or MCP transport is advertised. See https://developers.runonvision.com.","title":"Vision To Do API","version":"1.9.0"},"openapi":"3.1.0","paths":{"/api/todo/v1/board":{"get":{"operationId":"mop_jP2hvoONh7g5fhL7WDiQKTmaj9e6JET8","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"columns":{"items":{"additionalProperties":false,"properties":{"includesSample":{"const":true,"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"allDay":{"type":"boolean"},"archived":{"type":"boolean"},"archiveOffer":{"enum":["archive","restore","none"],"type":"string"},"assignedTo":{"anyOf":[{"additionalProperties":false,"properties":{"displayName":{"type":"string"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"subject":{"type":["string","null"]}},"required":["id","displayName","subject"],"type":"object"},{"type":"null"}]},"canRemove":{"type":"boolean"},"canWork":{"type":"boolean"},"completedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"deadlineAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"description":{"type":["string","null"]},"dueAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"dueBucket":{"anyOf":[{"enum":["Running late","Today","Upcoming"],"type":"string"},{"type":"null"}]},"estimatedMinutes":{"anyOf":[{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"isSample":{"type":"boolean"},"listColor":{"type":["string","null"]},"listId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"listName":{"type":"string"},"position":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"priority":{"enum":["none","low","medium","high"],"type":"string"},"recurrenceFrom":{"anyOf":[{"enum":["due","completion"],"type":"string"},{"type":"null"}]},"recurrenceLabel":{"type":["string","null"]},"recurrenceRule":{"type":["string","null"]},"starred":{"type":"boolean"},"startAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"status":{"enum":["pending","in_progress","completed","cancelled"],"type":"string"},"subtaskDone":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"subtaskTotal":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"timeZone":{"type":["string","null"]},"title":{"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","listId","listName","listColor","title","description","status","priority","startAt","dueAt","deadlineAt","allDay","dueBucket","timeZone","estimatedMinutes","recurrenceRule","recurrenceFrom","recurrenceLabel","completedAt","archived","position","starred","assignedTo","subtaskTotal","subtaskDone","createdAt","updatedAt","canWork","canRemove","archiveOffer","isSample"],"type":"object"},"type":"array"},"label":{"type":"string"},"status":{"enum":["pending","in_progress","completed","cancelled"],"type":"string"},"totalCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","label","items","totalCount"],"type":"object"},"type":"array"},"schemaVersion":{"const":"todo.board.v1","type":"string"}},"required":["schemaVersion","columns"],"type":"object"}}},"description":"Successful response"},"401":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["AUTHENTICATION_REQUIRED","INVALID_CREDENTIAL"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Vision credential missing or invalid (AUTHENTICATION_REQUIRED or INVALID_CREDENTIAL)"},"403":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["PERMISSION_DENIED"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Scope, grant, identity class, or workspace role denied (PERMISSION_DENIED)"},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["DEPENDENCY_UNAVAILABLE"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Database, authorization dependency, or other required dependency unavailable (DEPENDENCY_UNAVAILABLE)"}},"security":[{"visionIssuedCredential":[]}],"summary":"view /api/todo/v1/board","tags":["view"],"x-authorization-model":"vision-core-brokered-human-grant-or-vision-issued-service-credential","x-machine-callable":true,"x-required-scope":"todo:tasks:read"}},"/api/todo/v1/commands":{"post":{"description":"Human command endpoint. Non-human identities are denied consequential write scopes; this is not a generic external OAuth API.","operationId":"mop_NrOVEeJrFiRIF8vvxxI4Gr9dAPPJ0Zs4","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"discriminator":{"propertyName":"commandType"},"oneOf":[{"properties":{"commandType":{"const":"task.set_status","type":"string"},"data":{"properties":{"status":{"enum":["pending","in_progress","completed","cancelled"],"type":"string"}},"required":["status"],"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","targetReference","data"],"type":"object"},{"properties":{"commandType":{"const":"task.set_starred","type":"string"},"data":{"properties":{"starred":{"anyOf":[{"type":"boolean"},{"enum":["true","false"],"type":"string"}]}},"required":["starred"],"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","targetReference","data"],"type":"object"},{"properties":{"commandType":{"const":"task.set_archived","type":"string"},"data":{"properties":{"archived":{"anyOf":[{"type":"boolean"},{"enum":["true","false"],"type":"string"}]}},"required":["archived"],"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","targetReference","data"],"type":"object"},{"properties":{"commandType":{"const":"task.create","type":"string"},"data":{"properties":{"allDay":{"anyOf":[{"type":"boolean"},{"enum":["true","false"],"type":"string"}]},"assignedToUserId":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},{"type":"null"}]},"description":{"anyOf":[{"maxLength":4000,"minLength":1,"type":"string"},{"type":"null"}]},"dueAt":{"anyOf":[{"maxLength":40,"minLength":1,"type":"string"},{"type":"null"}]},"linkAppId":{"pattern":"^[a-z][a-z0-9-]{1,39}$","type":"string"},"linkLabel":{"maxLength":240,"minLength":1,"type":"string"},"linkReference":{"maxLength":200,"minLength":1,"type":"string"},"listId":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},{"type":"null"}]},"newListName":{"maxLength":120,"minLength":1,"type":"string"},"priority":{"enum":["none","low","medium","high"],"type":"string"},"recurrenceFrom":{"anyOf":[{"enum":["due","completion"],"type":"string"},{"type":"null"}]},"recurrenceRule":{"anyOf":[{"maxLength":1000,"minLength":1,"type":"string"},{"type":"null"}]},"reminderAt":{"anyOf":[{"maxLength":40,"minLength":1,"type":"string"},{"type":"null"}]},"status":{"enum":["pending","in_progress","completed","cancelled"],"type":"string"},"subtasks":{"items":{"maxLength":300,"minLength":1,"type":"string"},"maxItems":50,"type":"array"},"title":{"maxLength":300,"minLength":1,"type":"string"}},"required":["title"],"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","data"],"type":"object"},{"properties":{"commandType":{"const":"task.update","type":"string"},"data":{"minProperties":1,"properties":{"allDay":{"anyOf":[{"type":"boolean"},{"enum":["true","false"],"type":"string"}]},"assignedToUserId":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},{"type":"null"}]},"deadlineAt":{"anyOf":[{"maxLength":40,"minLength":1,"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"maxLength":4000,"minLength":1,"type":"string"},{"type":"null"}]},"dueAt":{"anyOf":[{"maxLength":40,"minLength":1,"type":"string"},{"type":"null"}]},"listId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"newListName":{"maxLength":120,"minLength":1,"type":"string"},"priority":{"enum":["none","low","medium","high"],"type":"string"},"recurrenceFrom":{"anyOf":[{"enum":["due","completion"],"type":"string"},{"type":"null"}]},"recurrenceRule":{"anyOf":[{"maxLength":1000,"minLength":1,"type":"string"},{"type":"null"}]},"reminderAt":{"anyOf":[{"maxLength":40,"minLength":1,"type":"string"},{"type":"null"}]},"startAt":{"anyOf":[{"maxLength":40,"minLength":1,"type":"string"},{"type":"null"}]},"status":{"enum":["pending","in_progress","completed","cancelled"],"type":"string"},"title":{"maxLength":300,"minLength":1,"type":"string"}},"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","targetReference","data"],"type":"object"},{"allOf":[{"anyOf":[{"required":["targetReference"]},{"properties":{"data":{"required":["taskId"]}}}]}],"properties":{"commandType":{"const":"subtask.create","type":"string"},"data":{"properties":{"taskId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"title":{"maxLength":300,"minLength":1,"type":"string"}},"required":["title"],"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","data"],"type":"object"},{"properties":{"commandType":{"const":"subtask.set_done","type":"string"},"data":{"properties":{"done":{"anyOf":[{"type":"boolean"},{"enum":["true","false"],"type":"string"}]}},"required":["done"],"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","targetReference","data"],"type":"object"},{"properties":{"commandType":{"const":"subtask.rename","type":"string"},"data":{"properties":{"title":{"maxLength":300,"minLength":1,"type":"string"}},"required":["title"],"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","targetReference","data"],"type":"object"},{"properties":{"commandType":{"const":"subtask.delete","type":"string"},"data":{"properties":{},"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","targetReference"],"type":"object"},{"properties":{"commandType":{"const":"task.delete","type":"string"},"data":{"properties":{},"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","targetReference"],"type":"object"},{"properties":{"commandType":{"const":"list.create","type":"string"},"data":{"properties":{"color":{"anyOf":[{"maxLength":32,"type":"string"},{"type":"null"}]},"name":{"maxLength":120,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","data"],"type":"object"},{"properties":{"commandType":{"const":"list.rename","type":"string"},"data":{"properties":{"color":{"anyOf":[{"maxLength":32,"type":"string"},{"type":"null"}]},"name":{"maxLength":120,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","targetReference","data"],"type":"object"},{"properties":{"commandType":{"const":"list.set_color","type":"string"},"data":{"properties":{"color":{"anyOf":[{"maxLength":32,"type":"string"},{"type":"null"}]}},"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","targetReference","data"],"type":"object"},{"properties":{"commandType":{"const":"list.delete","type":"string"},"data":{"properties":{"moveToListId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"tasks":{"enum":["move","delete"],"type":"string"}},"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","targetReference"],"type":"object"},{"properties":{"commandType":{"const":"list.archive","type":"string"},"data":{"properties":{},"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","targetReference"],"type":"object"},{"properties":{"commandType":{"const":"list.restore","type":"string"},"data":{"properties":{},"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","targetReference"],"type":"object"},{"properties":{"commandType":{"const":"reminder.create","type":"string"},"data":{"allOf":[{"else":{"properties":{"offsetMinutes":{"type":"integer"},"remindAt":{"type":"null"}},"required":["offsetMinutes"]},"if":{"properties":{"anchor":{"const":"absolute"}}},"then":{"properties":{"offsetMinutes":{"type":"null"},"remindAt":{"type":"string"}},"required":["remindAt"]}}],"properties":{"anchor":{"default":"absolute","enum":["absolute","before_start","before_due","before_deadline"],"type":"string"},"channel":{"enum":["in_app","email","push"],"type":"string"},"note":{"anyOf":[{"maxLength":500,"minLength":1,"type":"string"},{"type":"null"}]},"offsetMinutes":{"anyOf":[{"maximum":525600,"minimum":0,"type":"integer"},{"type":"null"}]},"remindAt":{"anyOf":[{"maxLength":40,"minLength":1,"type":"string"},{"type":"null"}]},"taskId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["taskId"],"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","data"],"type":"object"},{"properties":{"commandType":{"const":"reminder.delete","type":"string"},"data":{"properties":{},"type":"object"},"idempotencyKey":{"maxLength":160,"minLength":16,"pattern":"^[A-Za-z0-9._:-]+$","type":"string"},"schemaVersion":{"const":"vision-todo-command.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","idempotencyKey","commandType","targetReference"],"type":"object"}]}}},"description":"Runtime validation also requires task.create reminderAt to be a valid future reminder time (with one-minute transit tolerance) and before a valid dueAt. This clock-relative and cross-field chronology cannot be enforced by JSON Schema.","required":true,"x-runtime-refinements":["task.create reminderAt must be no more than one minute in the past and must precede a valid dueAt"]},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"commandReference":{"pattern":"^TCM-[A-F0-9]{12}$","type":"string"},"commandType":{"enum":["task.set_status","task.set_starred","task.set_archived","task.create","task.update","subtask.create","subtask.set_done","subtask.rename","subtask.delete","task.delete","list.create","list.rename","list.set_color","list.delete","list.archive","list.restore","reminder.create","reminder.delete"],"type":"string"},"replayed":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-command-result.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","commandReference","commandType","targetReference","replayed"],"type":"object"}}},"description":"Successful response"},"201":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"commandReference":{"pattern":"^TCM-[A-F0-9]{12}$","type":"string"},"commandType":{"enum":["task.set_status","task.set_starred","task.set_archived","task.create","task.update","subtask.create","subtask.set_done","subtask.rename","subtask.delete","task.delete","list.create","list.rename","list.set_color","list.delete","list.archive","list.restore","reminder.create","reminder.delete"],"type":"string"},"replayed":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-command-result.v1","type":"string"},"targetReference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["schemaVersion","commandReference","commandType","targetReference","replayed"],"type":"object"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["INVALID_REQUEST"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Invalid request parameters or body (INVALID_REQUEST)"},"401":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["AUTHENTICATION_REQUIRED","INVALID_CREDENTIAL"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Vision credential missing or invalid (AUTHENTICATION_REQUIRED or INVALID_CREDENTIAL)"},"403":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["PERMISSION_DENIED"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Scope, grant, identity class, or workspace role denied (PERMISSION_DENIED)"},"404":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["NOT_FOUND"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Requested task, list, subtask, reminder, or other command target was not found (NOT_FOUND)"},"409":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["INVALID_REQUEST"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Idempotency-key conflict or command rejected in the target's current state (INVALID_REQUEST)"},"413":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["INVALID_REQUEST"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Command request body exceeds the 32 KiB payload limit (INVALID_REQUEST)"},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["DEPENDENCY_UNAVAILABLE"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Database, authorization dependency, or other required dependency unavailable (DEPENDENCY_UNAVAILABLE)"}},"security":[{"visionIssuedCredential":[]}],"summary":"command /api/todo/v1/commands","tags":["command"],"x-authorization-model":"vision-core-brokered-human-grant-or-vision-issued-service-credential","x-ivision-compound-command":true,"x-machine-callable":false,"x-required-scope":"todo:tasks:write"}},"/api/todo/v1/contributions/agenda":{"get":{"description":"Vision Today feed contribution (vision-contribution-item.v1). Invoked only by Vision Core through a one-time human grant.","operationId":"mop_vXggPXCWkyvy9GPhtxswN25ygkksEjuN","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"actions":{"items":{"enum":["open","complete","reopen","reschedule","block-time"],"type":"string"},"maxItems":5,"type":"array"},"allDay":{"type":"boolean"},"completedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"context":{"items":{"additionalProperties":false,"properties":{"label":{"maxLength":40,"minLength":1,"type":"string"},"value":{"maxLength":120,"minLength":1,"type":"string"}},"required":["label","value"],"type":"object"},"maxItems":3,"type":"array"},"deepLink":{"maxLength":512,"type":"string"},"dueAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"endsAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"isSample":{"const":true,"type":"boolean"},"owner":{"additionalProperties":false,"properties":{"actorReference":{"maxLength":160,"minLength":1,"type":"string"},"displayName":{"anyOf":[{"maxLength":160,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["actorReference","displayName"],"type":"object"},"recordVersion":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reference":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,159}$","type":"string"},"startsAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"state":{"enum":["open","completed"],"type":"string"},"title":{"anyOf":[{"maxLength":300,"minLength":1,"type":"string"},{"type":"null"}]},"visibility":{"enum":["details","busy"],"type":"string"}},"required":["reference","recordVersion","title","startsAt","endsAt","dueAt","allDay","state","owner","visibility","context","deepLink","actions"],"type":"object"},"maxItems":500,"type":"array"},"layerLabel":{"maxLength":40,"minLength":1,"type":"string"},"schemaVersion":{"const":"vision-contribution-page.v1","type":"string"}},"required":["schemaVersion","items"],"type":"object"}}},"description":"Successful response"},"401":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["AUTHENTICATION_REQUIRED","INVALID_CREDENTIAL"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Vision credential missing or invalid (AUTHENTICATION_REQUIRED or INVALID_CREDENTIAL)"},"403":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["PERMISSION_DENIED"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Scope, grant, identity class, or workspace role denied (PERMISSION_DENIED)"},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["DEPENDENCY_UNAVAILABLE"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Database, authorization dependency, or other required dependency unavailable (DEPENDENCY_UNAVAILABLE)"}},"security":[{"visionIssuedCredential":[]}],"summary":"view /api/todo/v1/contributions/agenda","tags":["view"],"x-authorization-model":"vision-core-brokered-human-grant-or-vision-issued-service-credential","x-machine-callable":false,"x-required-scope":"todo:tasks:read","x-vision-capability":"vision.contributions:agenda:read"}},"/api/todo/v1/contributions/complete":{"post":{"description":"Vision Today feed contribution (vision-contribution-item.v1). Invoked only by Vision Core through a one-time human grant.","operationId":"mop_3fQgVqsfH2br0pAUoTgKPk8x1Otb4hox","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"expectedVersion":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"patch":{"additionalProperties":false,"default":{},"properties":{},"type":"object"},"reference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["reference","expectedVersion"],"type":"object"}}},"description":"Core's contribution verb body: item reference, the recordVersion the item carried, and an empty patch. A changed task answers 409 STALE_VERSION.","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"recordVersion":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"replayed":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-contribution-command-result.v1","type":"string"},"status":{"const":"completed","type":"string"}},"required":["schemaVersion","status","reference","recordVersion","replayed"],"type":"object"}}},"description":"Successful response"},"201":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"recordVersion":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reference":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"replayed":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-contribution-command-result.v1","type":"string"},"status":{"const":"completed","type":"string"}},"required":["schemaVersion","status","reference","recordVersion","replayed"],"type":"object"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["INVALID_REQUEST"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Invalid request parameters or body (INVALID_REQUEST)"},"401":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["AUTHENTICATION_REQUIRED","INVALID_CREDENTIAL"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Vision credential missing or invalid (AUTHENTICATION_REQUIRED or INVALID_CREDENTIAL)"},"403":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["PERMISSION_DENIED"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Scope, grant, identity class, or workspace role denied (PERMISSION_DENIED)"},"404":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["NOT_FOUND"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Requested task, list, subtask, reminder, or other command target was not found (NOT_FOUND)"},"409":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["INVALID_REQUEST","STALE_VERSION"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Idempotency-key conflict or command rejected in the target's current state (INVALID_REQUEST)"},"413":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["INVALID_REQUEST"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Command request body exceeds the 32 KiB payload limit (INVALID_REQUEST)"},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["DEPENDENCY_UNAVAILABLE"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Database, authorization dependency, or other required dependency unavailable (DEPENDENCY_UNAVAILABLE)"}},"security":[{"visionIssuedCredential":[]}],"summary":"command /api/todo/v1/contributions/complete","tags":["command"],"x-authorization-model":"vision-core-brokered-human-grant-or-vision-issued-service-credential","x-machine-callable":false,"x-required-scope":"todo:tasks:write","x-vision-capability":"vision.contributions:item:complete"}},"/api/todo/v1/contributions/daily-list":{"get":{"description":"Vision Today feed contribution (vision-contribution-item.v1). Invoked only by Vision Core through a one-time human grant.","operationId":"mop_QtRBaLPncM_3iIYK88tB5cg4JUGNETfP","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"actions":{"items":{"enum":["open","complete","reopen","reschedule","block-time"],"type":"string"},"maxItems":5,"type":"array"},"allDay":{"type":"boolean"},"completedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"context":{"items":{"additionalProperties":false,"properties":{"label":{"maxLength":40,"minLength":1,"type":"string"},"value":{"maxLength":120,"minLength":1,"type":"string"}},"required":["label","value"],"type":"object"},"maxItems":3,"type":"array"},"deepLink":{"maxLength":512,"type":"string"},"dueAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"endsAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"isSample":{"const":true,"type":"boolean"},"owner":{"additionalProperties":false,"properties":{"actorReference":{"maxLength":160,"minLength":1,"type":"string"},"displayName":{"anyOf":[{"maxLength":160,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["actorReference","displayName"],"type":"object"},"recordVersion":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reference":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,159}$","type":"string"},"startsAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"state":{"enum":["open","completed"],"type":"string"},"title":{"anyOf":[{"maxLength":300,"minLength":1,"type":"string"},{"type":"null"}]},"visibility":{"enum":["details","busy"],"type":"string"}},"required":["reference","recordVersion","title","startsAt","endsAt","dueAt","allDay","state","owner","visibility","context","deepLink","actions"],"type":"object"},"maxItems":500,"type":"array"},"layerLabel":{"maxLength":40,"minLength":1,"type":"string"},"schemaVersion":{"const":"vision-contribution-page.v1","type":"string"}},"required":["schemaVersion","items"],"type":"object"}}},"description":"Successful response"},"401":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["AUTHENTICATION_REQUIRED","INVALID_CREDENTIAL"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Vision credential missing or invalid (AUTHENTICATION_REQUIRED or INVALID_CREDENTIAL)"},"403":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["PERMISSION_DENIED"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Scope, grant, identity class, or workspace role denied (PERMISSION_DENIED)"},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["DEPENDENCY_UNAVAILABLE"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Database, authorization dependency, or other required dependency unavailable (DEPENDENCY_UNAVAILABLE)"}},"security":[{"visionIssuedCredential":[]}],"summary":"view /api/todo/v1/contributions/daily-list","tags":["view"],"x-authorization-model":"vision-core-brokered-human-grant-or-vision-issued-service-credential","x-machine-callable":false,"x-required-scope":"todo:tasks:read","x-vision-capability":"vision.contributions:daily-list:read"}},"/api/todo/v1/contributions/others-agenda":{"get":{"description":"Vision Today feed contribution (vision-contribution-item.v1). Invoked only by Vision Core through a one-time human grant.","operationId":"mop_bK4xTq7ZpL2vWn9RcY6hGd3sUe8aJf1M","parameters":[{"in":"query","name":"details","required":false,"schema":{"maxLength":1700,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:|@,-]*$","type":"string"}},{"in":"query","name":"busy","required":false,"schema":{"maxLength":1700,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:|@,-]*$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"actions":{"items":{"enum":["open","complete","reopen","reschedule","block-time"],"type":"string"},"maxItems":5,"type":"array"},"allDay":{"type":"boolean"},"completedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"context":{"items":{"additionalProperties":false,"properties":{"label":{"maxLength":40,"minLength":1,"type":"string"},"value":{"maxLength":120,"minLength":1,"type":"string"}},"required":["label","value"],"type":"object"},"maxItems":3,"type":"array"},"deepLink":{"maxLength":512,"type":"string"},"dueAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"endsAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"isSample":{"const":true,"type":"boolean"},"owner":{"additionalProperties":false,"properties":{"actorReference":{"maxLength":160,"minLength":1,"type":"string"},"displayName":{"anyOf":[{"maxLength":160,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["actorReference","displayName"],"type":"object"},"recordVersion":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reference":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,159}$","type":"string"},"startsAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"state":{"enum":["open","completed"],"type":"string"},"title":{"anyOf":[{"maxLength":300,"minLength":1,"type":"string"},{"type":"null"}]},"visibility":{"enum":["details","busy"],"type":"string"}},"required":["reference","recordVersion","title","startsAt","endsAt","dueAt","allDay","state","owner","visibility","context","deepLink","actions"],"type":"object"},"maxItems":500,"type":"array"},"layerLabel":{"maxLength":40,"minLength":1,"type":"string"},"schemaVersion":{"const":"vision-contribution-page.v1","type":"string"}},"required":["schemaVersion","items"],"type":"object"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["INVALID_REQUEST"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Invalid request parameters or body (INVALID_REQUEST)"},"401":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["AUTHENTICATION_REQUIRED","INVALID_CREDENTIAL"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Vision credential missing or invalid (AUTHENTICATION_REQUIRED or INVALID_CREDENTIAL)"},"403":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["PERMISSION_DENIED"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Scope, grant, identity class, or workspace role denied (PERMISSION_DENIED)"},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["DEPENDENCY_UNAVAILABLE"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Database, authorization dependency, or other required dependency unavailable (DEPENDENCY_UNAVAILABLE)"}},"security":[{"visionIssuedCredential":[]}],"summary":"view /api/todo/v1/contributions/others-agenda","tags":["view"],"x-authorization-model":"vision-core-brokered-human-grant-or-vision-issued-service-credential","x-machine-callable":false,"x-required-scope":"todo:tasks:read","x-vision-capability":"vision.contributions:others-agenda:read"}},"/api/todo/v1/contributions/record-related":{"get":{"description":"Vision Today feed contribution (vision-contribution-item.v1). Invoked only by Vision Core through a one-time human grant.","operationId":"mop_hK2vT9wQe4nLx7ZpR1cYb6Ms8JfUa3Dg","parameters":[{"in":"query","name":"subjectApp","required":true,"schema":{"maxLength":40,"pattern":"^[a-z][a-z0-9-]{1,39}$","type":"string"}},{"in":"query","name":"subjects","required":true,"schema":{"maxLength":1700,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:,-]*$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"description":"Runtime-generated; not currently backed by a Zod response schema.","type":"object"}}},"description":"Successful response"}},"security":[{"visionIssuedCredential":[]}],"summary":"view /api/todo/v1/contributions/record-related","tags":["view"],"x-authorization-model":"vision-core-brokered-human-grant-or-vision-issued-service-credential","x-machine-callable":false,"x-required-scope":"todo:tasks:read","x-vision-capability":"vision.contributions:record-related:read"}},"/api/todo/v1/contributions/widgets":{"get":{"description":"Vision Today feed contribution (vision-contribution-item.v1). Invoked only by Vision Core through a one-time human grant.","operationId":"mop_vQReeQLz36Q_40Bbc0EONNmrIWiZSRfw","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"schemaVersion":{"const":"vision-contribution-widgets.v1","type":"string"},"widgets":{"items":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},"type":"array"}},"required":["schemaVersion","widgets"],"type":"object"}}},"description":"Successful response"},"401":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["AUTHENTICATION_REQUIRED","INVALID_CREDENTIAL"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Vision credential missing or invalid (AUTHENTICATION_REQUIRED or INVALID_CREDENTIAL)"},"403":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["PERMISSION_DENIED"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Scope, grant, identity class, or workspace role denied (PERMISSION_DENIED)"},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["DEPENDENCY_UNAVAILABLE"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Database, authorization dependency, or other required dependency unavailable (DEPENDENCY_UNAVAILABLE)"}},"security":[{"visionIssuedCredential":[]}],"summary":"view /api/todo/v1/contributions/widgets","tags":["view"],"x-authorization-model":"vision-core-brokered-human-grant-or-vision-issued-service-credential","x-machine-callable":false,"x-required-scope":"todo:tasks:read","x-vision-capability":"vision.contributions:widgets:read"}},"/api/todo/v1/lists":{"get":{"operationId":"mop_i7j1vZ6FAW_Q3MS1Gh49f4YNFtQqJ5T-","parameters":[{"description":"Task pile: active, completed, or archived. Defaults to active.","in":"query","name":"scope","required":false,"schema":{"maxLength":8,"pattern":"^(?:active|archived)$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"archived":{"type":"boolean"},"color":{"type":["string","null"]},"doneCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"dueLabel":{"type":"string"},"dueTodayCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"includesSample":{"const":true,"type":"boolean"},"lateCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"type":"string"},"openCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"progressLabel":{"type":"string"},"taskCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"taskCountLabel":{"type":"string"}},"required":["id","name","color","archived","taskCount","taskCountLabel","openCount","doneCount","dueTodayCount","lateCount","progressLabel","dueLabel"],"type":"object"},"type":"array"},"schemaVersion":{"const":"todo.lists.v1","type":"string"},"totalCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["schemaVersion","items","totalCount"],"type":"object"}}},"description":"Successful response"},"401":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["AUTHENTICATION_REQUIRED","INVALID_CREDENTIAL"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Vision credential missing or invalid (AUTHENTICATION_REQUIRED or INVALID_CREDENTIAL)"},"403":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["PERMISSION_DENIED"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Scope, grant, identity class, or workspace role denied (PERMISSION_DENIED)"},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["DEPENDENCY_UNAVAILABLE"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Database, authorization dependency, or other required dependency unavailable (DEPENDENCY_UNAVAILABLE)"}},"security":[{"visionIssuedCredential":[]}],"summary":"view /api/todo/v1/lists","tags":["view"],"x-authorization-model":"vision-core-brokered-human-grant-or-vision-issued-service-credential","x-machine-callable":true,"x-required-scope":"todo:tasks:read"}},"/api/todo/v1/presentation":{"get":{"operationId":"mop_FdrpDSdarOAh_BhJpc3xgr2i9a_RMsDM","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"description":"Vision Core's module presentation descriptor (navigation, views and actions), filtered to the caller. It is runtime-generated and not backed by a Zod response schema here; its full shape is Core's module presentation schema. Only the optional keys added in Core's design rounds are described.","properties":{"actions":{"items":{"properties":{"fields":{"items":{"properties":{"choices":{"description":"The words people read for each of the field's stored options, in order (design round 6 adds them to status and priority). A stored value is never put on screen as it is stored.","items":{"properties":{"isSelf":{"description":"True when the choice is the signed-in person (assignee pickers); false otherwise.","type":"boolean"},"label":{"description":"The words shown for it.","maxLength":60,"minLength":1,"type":"string"},"value":{"description":"The stored value the form sends.","maxLength":2000,"minLength":1,"type":"string"}},"required":["value","label"],"type":"object"},"maxItems":100,"type":"array"}},"type":"object"},"type":"array"},"formLayout":{"description":"How the action's full form is laid out (design round 5): titled sections, each holding some of the form's fields in order. Every field sits in exactly one section. Absent: one plain list of fields.","properties":{"kind":{"const":"document","description":"\"document\": the form reads as one page of sections.","type":"string"},"sections":{"description":"The form's sections, in order (for a new task: Task, When, Subtasks).","items":{"properties":{"fields":{"description":"The keys of the form fields in this section, in order.","items":{"maxLength":120,"minLength":1,"type":"string"},"maxItems":40,"type":"array"},"placement":{"description":"Where the section sits on the page. To Do places every section in \"main\".","enum":["main","aside","full"],"type":"string"},"title":{"description":"The section's heading.","maxLength":60,"minLength":1,"type":"string"}},"required":["title","fields","placement"],"type":"object"},"type":"array"}},"required":["kind","sections"],"type":"object"},"quickForm":{"description":"The short first form a create action opens with (design round 5). Its link widens the same panel to the whole form and keeps everything already typed. Absent: the whole form from the start.","properties":{"expandLabel":{"description":"The words on the link that widens to the whole form (\"Full details\").","maxLength":40,"minLength":1,"type":"string"},"fields":{"description":"The keys of the fields the short form shows (for a new task: title, due date and group).","items":{"maxLength":120,"minLength":1,"type":"string"},"maxItems":20,"minItems":1,"type":"array"}},"required":["fields","expandLabel"],"type":"object"}},"type":"object"},"type":"array"},"views":{"items":{"properties":{"fields":{"items":{"properties":{"valueLabels":{"additionalProperties":{"maxLength":60,"minLength":1,"type":"string"},"description":"The words shown on a status badge for each stored value (design round 6), for example \"in_progress\" reads \"In progress\". A stored value is never put on screen as it is stored.","propertyNames":{"maxLength":120,"type":"string"},"type":"object"}},"type":"object"},"type":"array"},"filters":{"items":{"properties":{"optionLabels":{"additionalProperties":{"maxLength":40,"minLength":1,"type":"string"},"description":"The words shown for each of a filter's stored options (design round 6), for example \"doneToday\" reads \"Done today\".","propertyNames":{"maxLength":120,"type":"string"},"type":"object"}},"type":"object"},"type":"array"},"intent":{"description":"What kind of screen the view is. \"setup\" is a set-up list (Groups, Archived groups): plain rows with a line of facts and a quiet row menu, and its create action opens the small dialog. Absent for ordinary views.","enum":["setup"],"type":"string"}},"type":"object"},"type":"array"}},"type":"object"}}},"description":"Successful response"},"401":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["AUTHENTICATION_REQUIRED","INVALID_CREDENTIAL"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Vision credential missing or invalid (AUTHENTICATION_REQUIRED or INVALID_CREDENTIAL)"},"403":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["PERMISSION_DENIED"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Scope, grant, identity class, or workspace role denied (PERMISSION_DENIED)"},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["DEPENDENCY_UNAVAILABLE"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Database, authorization dependency, or other required dependency unavailable (DEPENDENCY_UNAVAILABLE)"}},"security":[{"visionIssuedCredential":[]}],"summary":"presentation /api/todo/v1/presentation","tags":["presentation"],"x-authorization-model":"vision-core-brokered-human-grant-or-vision-issued-service-credential","x-machine-callable":true,"x-required-scope":"todo:tasks:read"}},"/api/todo/v1/tasks":{"get":{"operationId":"mop_BDxdvVvD5ekZwSQs6wYvyyAQoTk9EqlG","parameters":[{"description":"Exact task lifecycle status filter.","in":"query","name":"status","required":false,"schema":{"maxLength":20,"pattern":"^(?:pending|in_progress|completed|cancelled)$","type":"string"}},{"description":"Allowlisted active-list sort key. Defaults to dueAt when omitted or unrecognized by the runtime.","in":"query","name":"sort","required":false,"schema":{"maxLength":20,"pattern":"^(?:dueAt|priority|createdAt|title|assignee|updatedAt)$","type":"string"}},{"description":"Sort direction. Defaults to asc when omitted or unrecognized by the runtime.","in":"query","name":"dir","required":false,"schema":{"maxLength":4,"pattern":"^(?:asc|desc)$","type":"string"}},{"description":"Task pile: active, completed, or archived. Defaults to active.","in":"query","name":"scope","required":false,"schema":{"maxLength":9,"pattern":"^(?:active|completed|archived)$","type":"string"}},{"description":"Page size, an integer from 1 through 100. Defaults to 50 when omitted. Any other value is rejected with 400 INVALID_REQUEST and fieldIssues [{\"path\":\"limit\",\"code\":\"invalid_limit\"}]; it is never clamped.","in":"query","name":"limit","required":false,"schema":{"maxLength":3,"pattern":"^(?:[1-9]|[1-9][0-9]|100)$","type":"string"}},{"description":"Opaque signed keyset cursor returned as nextCursor by the preceding page. It is bound to the scope and active-list sort. A malformed, tampered, or mismatched cursor is rejected with 400 INVALID_REQUEST and fieldIssues [{\"path\":\"cursor\",\"code\":\"invalid_cursor\"}] (not retryable; restart from the first page).","in":"query","name":"cursor","required":false,"schema":{"maxLength":400,"pattern":"^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$","type":"string"}},{"description":"Active-list smart date filter: today, upcoming, or overdue.","in":"query","name":"view","required":false,"schema":{"maxLength":9,"pattern":"^(?:today|upcoming|overdue|doneToday)$","type":"string"}},{"description":"Case-insensitive active-list title and description search.","in":"query","name":"q","required":false,"schema":{"maxLength":120,"type":"string"}},{"description":"Active-list group filter by exact list name.","in":"query","name":"group","required":false,"schema":{"maxLength":120,"type":"string"}},{"in":"query","name":"groupBy","required":false,"schema":{"maxLength":8,"pattern":"^(?:list|priority|due)$","type":"string"}},{"in":"query","name":"showDone","required":false,"schema":{"maxLength":1,"pattern":"^1$","type":"string"}},{"in":"query","name":"whose","required":false,"schema":{"maxLength":4,"pattern":"^mine$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"followUpCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"includesSample":{"const":true,"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"allDay":{"type":"boolean"},"archived":{"type":"boolean"},"archiveOffer":{"enum":["archive","restore","none"],"type":"string"},"assignedTo":{"anyOf":[{"additionalProperties":false,"properties":{"displayName":{"type":"string"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"subject":{"type":["string","null"]}},"required":["id","displayName","subject"],"type":"object"},{"type":"null"}]},"canRemove":{"type":"boolean"},"canWork":{"type":"boolean"},"completedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"deadlineAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"description":{"type":["string","null"]},"dueAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"dueBucket":{"anyOf":[{"enum":["Running late","Today","Upcoming"],"type":"string"},{"type":"null"}]},"estimatedMinutes":{"anyOf":[{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"isSample":{"type":"boolean"},"listColor":{"type":["string","null"]},"listId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"listName":{"type":"string"},"position":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"priority":{"enum":["none","low","medium","high"],"type":"string"},"recurrenceFrom":{"anyOf":[{"enum":["due","completion"],"type":"string"},{"type":"null"}]},"recurrenceLabel":{"type":["string","null"]},"recurrenceRule":{"type":["string","null"]},"starred":{"type":"boolean"},"startAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"status":{"enum":["pending","in_progress","completed","cancelled"],"type":"string"},"subtaskDone":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"subtaskTotal":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"timeZone":{"type":["string","null"]},"title":{"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","listId","listName","listColor","title","description","status","priority","startAt","dueAt","deadlineAt","allDay","dueBucket","timeZone","estimatedMinutes","recurrenceRule","recurrenceFrom","recurrenceLabel","completedAt","archived","position","starred","assignedTo","subtaskTotal","subtaskDone","createdAt","updatedAt","canWork","canRemove","archiveOffer","isSample"],"type":"object"},"type":"array"},"nextCursor":{"default":null,"type":["string","null"]},"schemaVersion":{"const":"todo.tasks.v1","type":"string"},"totalCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["schemaVersion","items","totalCount","nextCursor"],"type":"object"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["INVALID_REQUEST"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Invalid request parameters or body (INVALID_REQUEST)"},"401":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["AUTHENTICATION_REQUIRED","INVALID_CREDENTIAL"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Vision credential missing or invalid (AUTHENTICATION_REQUIRED or INVALID_CREDENTIAL)"},"403":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["PERMISSION_DENIED"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Scope, grant, identity class, or workspace role denied (PERMISSION_DENIED)"},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["DEPENDENCY_UNAVAILABLE"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Database, authorization dependency, or other required dependency unavailable (DEPENDENCY_UNAVAILABLE)"}},"security":[{"visionIssuedCredential":[]}],"summary":"view /api/todo/v1/tasks","tags":["view"],"x-authorization-model":"vision-core-brokered-human-grant-or-vision-issued-service-credential","x-machine-callable":true,"x-required-scope":"todo:tasks:read"}},"/api/todo/v1/tasks/{reference}":{"get":{"operationId":"mop_9937kGo1cJ2DBU7-nZBLxQZuNbwcOBk3","parameters":[{"description":"Task UUID.","in":"path","name":"reference","required":true,"schema":{"maxLength":40,"pattern":"^[0-9a-fA-F-]{36}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"item":{"additionalProperties":false,"properties":{"allDay":{"type":"boolean"},"archived":{"type":"boolean"},"archiveOffer":{"enum":["archive","restore","none"],"type":"string"},"assignedTo":{"anyOf":[{"additionalProperties":false,"properties":{"displayName":{"type":"string"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"subject":{"type":["string","null"]}},"required":["id","displayName","subject"],"type":"object"},{"type":"null"}]},"canRemove":{"type":"boolean"},"canWork":{"type":"boolean"},"completedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"deadlineAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"description":{"type":["string","null"]},"dueAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"dueBucket":{"anyOf":[{"enum":["Running late","Today","Upcoming"],"type":"string"},{"type":"null"}]},"estimatedMinutes":{"anyOf":[{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"isSample":{"type":"boolean"},"listColor":{"type":["string","null"]},"listId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"listName":{"type":"string"},"position":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"priority":{"enum":["none","low","medium","high"],"type":"string"},"recurrenceFrom":{"anyOf":[{"enum":["due","completion"],"type":"string"},{"type":"null"}]},"recurrenceLabel":{"type":["string","null"]},"recurrenceRule":{"type":["string","null"]},"reminderAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"reminders":{"items":{"additionalProperties":false,"properties":{"anchor":{"enum":["absolute","before_start","before_due","before_deadline"],"type":"string"},"channel":{"enum":["in_app","email","push"],"type":"string"},"deliveredAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"note":{"type":["string","null"]},"offsetMinutes":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"remindAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]}},"required":["id","anchor","remindAt","offsetMinutes","channel","note","deliveredAt"],"type":"object"},"type":"array"},"starred":{"type":"boolean"},"startAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"status":{"enum":["pending","in_progress","completed","cancelled"],"type":"string"},"subtaskDone":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"subtasks":{"items":{"additionalProperties":false,"properties":{"done":{"type":"boolean"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"position":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"title":{"type":"string"}},"required":["id","title","done","position"],"type":"object"},"type":"array"},"subtaskTotal":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"timeZone":{"type":["string","null"]},"title":{"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","listId","listName","listColor","title","description","status","priority","startAt","dueAt","deadlineAt","allDay","dueBucket","timeZone","estimatedMinutes","recurrenceRule","recurrenceFrom","recurrenceLabel","completedAt","archived","position","starred","assignedTo","subtaskTotal","subtaskDone","createdAt","updatedAt","canWork","canRemove","archiveOffer","isSample","reminderAt","subtasks","reminders"],"type":"object"},"schemaVersion":{"const":"todo.task-detail.v1","type":"string"}},"required":["schemaVersion","item"],"type":"object"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["INVALID_REQUEST"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Invalid request parameters or body (INVALID_REQUEST)"},"401":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["AUTHENTICATION_REQUIRED","INVALID_CREDENTIAL"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Vision credential missing or invalid (AUTHENTICATION_REQUIRED or INVALID_CREDENTIAL)"},"403":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["PERMISSION_DENIED"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Scope, grant, identity class, or workspace role denied (PERMISSION_DENIED)"},"404":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["NOT_FOUND"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Requested task, list, subtask, reminder, or other command target was not found (NOT_FOUND)"},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["DEPENDENCY_UNAVAILABLE"],"type":"string"},"correlationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"fieldIssues":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":80,"minLength":1,"type":"string"},"message":{"maxLength":160,"minLength":1,"type":"string"},"path":{"maxLength":160,"minLength":1,"type":"string"}},"required":["path","code"],"type":"object"},"maxItems":20,"type":"array"},"message":{"maxLength":240,"minLength":1,"type":"string"},"refusal":{"enum":["sample_record_outbound_blocked"],"type":"string"},"retryable":{"type":"boolean"},"schemaVersion":{"const":"vision-todo-error.v1","type":"string"},"status":{"const":"failed","type":"string"}},"required":["schemaVersion","status","code","message","retryable","correlationId","fieldIssues"],"type":"object"}}},"description":"Database, authorization dependency, or other required dependency unavailable (DEPENDENCY_UNAVAILABLE)"}},"security":[{"visionIssuedCredential":[]}],"summary":"view /api/todo/v1/tasks/{reference}","tags":["view"],"x-authorization-model":"vision-core-brokered-human-grant-or-vision-issued-service-credential","x-machine-callable":true,"x-required-scope":"todo:tasks:read"}}},"servers":[{"description":"Reserved branded API origin; To Do external API access is not generally available. This contract describes Vision-brokered module operations, not an enabled public endpoint.","url":"https://api.runonvision.com"}],"x-ivision-capabilities":{"authority":"vision-todo","httpOperations":[{"kind":"presentation","operationId":"mop_FdrpDSdarOAh_BhJpc3xgr2i9a_RMsDM","requiredScope":"todo:tasks:read"},{"kind":"view","operationId":"mop_jP2hvoONh7g5fhL7WDiQKTmaj9e6JET8","requiredScope":"todo:tasks:read"},{"kind":"view","operationId":"mop_BDxdvVvD5ekZwSQs6wYvyyAQoTk9EqlG","requiredScope":"todo:tasks:read"},{"kind":"view","operationId":"mop_9937kGo1cJ2DBU7-nZBLxQZuNbwcOBk3","requiredScope":"todo:tasks:read"},{"kind":"view","operationId":"mop_i7j1vZ6FAW_Q3MS1Gh49f4YNFtQqJ5T-","requiredScope":"todo:tasks:read"},{"kind":"command","operationId":"mop_NrOVEeJrFiRIF8vvxxI4Gr9dAPPJ0Zs4","requiredScope":"todo:tasks:write"},{"kind":"view","operationId":"mop_vXggPXCWkyvy9GPhtxswN25ygkksEjuN","requiredScope":"todo:tasks:read"},{"kind":"view","operationId":"mop_bK4xTq7ZpL2vWn9RcY6hGd3sUe8aJf1M","requiredScope":"todo:tasks:read"},{"kind":"view","operationId":"mop_QtRBaLPncM_3iIYK88tB5cg4JUGNETfP","requiredScope":"todo:tasks:read"},{"kind":"view","operationId":"mop_vQReeQLz36Q_40Bbc0EONNmrIWiZSRfw","requiredScope":"todo:tasks:read"},{"kind":"view","operationId":"mop_hK2vT9wQe4nLx7ZpR1cYb6Ms8JfUa3Dg","requiredScope":"todo:tasks:read"},{"kind":"command","operationId":"mop_3fQgVqsfH2br0pAUoTgKPk8x1Otb4hox","requiredScope":"todo:tasks:write"}],"semanticCommands":{"operationIds":["mop_NrOVEeJrFiRIF8vvxxI4Gr9dAPPJ0Zs4"],"source":"OpenAPI requestBody commandType discriminator"},"undeclaredSurfaces":["mcpTools","events"]}}
