{"openapi":"3.1.0","x-docket-version":"0.1.0","x-docket-revision":"6d54b6d894d83ee9bd9ab3ad3fcb3a9da991b13a","info":{"title":"Docket API","description":"Docket's REST API lets a client read and change workspace work, plan a person's day, track time,\nrun agents, and connect external systems. This reference describes the request, response, access\nrules, side effects, and failure recovery for every public operation.\n\n## Start here\n\nFirst-party Docket clients may use the secure session cookie. External clients use OAuth 2.1 on\noperations that list an OAuth security alternative. A bearer token issued for MCP does not work on\nREST, and a REST token does not work on MCP.\n\nAll workspace routes use an Organization as their tenant boundary. Docket calls an Organization a\nworkspace in the product. A caller must keep access to the workspace and the individual resource;\nan OAuth scope alone never grants either one.\n\nSend JSON with `Content-Type: application/json` unless an operation documents another media type.\nErrors use `application/problem+json` and include a stable `code`. Collections default to 50\nitems and accept at most 100. Continue with the opaque `nextCursor` and the same filters.\n\n## API version and deployment\n\nThe current compatibility version is `0.1.0`. Omit `Docket-Version` to use the current contract,\nor send the exact value to assert the contract your client expects. Docket currently serves one\ncontract version; the header does not select an older implementation. Every response includes\n`Docket-Version` and `Docket-Revision` so you can identify both the contract and deployed build.\n\n## Writes, retries, and concurrency\n\nOnly operations that document `Idempotency-Key` support response replay. Reusing a key with a\ndifferent method, path, query, content type, or body fails. A replay checks the caller's current\npermissions before returning stored data.\n\nFinite reads may return an `ETag` and honor weak `If-None-Match`. Only operations that document\n`If-Match` support conditional writes. A stale strong validator returns `412`; a route that does\nnot support conditional writes rejects the header instead of ignoring it.\n\nQueued work returns `202` with a monitor URL in `Location`. Server-sent event operations list\ntheir event names, payloads, replay window, and reconnect behavior in the operation response.","version":"0.1.0"},"servers":[{"url":"https://api.clearthedocket.com"}],"externalDocs":{"description":"Docket public API version policy","url":"https://clearthedocket.com/docs/developers/api-versions"},"components":{"parameters":{"DocketVersion":{"name":"Docket-Version","in":"header","required":false,"description":"An exact assertion of the current contract. Omit to use the current contract. This does not select a historical implementation.","schema":{"type":"string","const":"0.1.0","default":"0.1.0"}},"ScheduleComparisonQuery":{"in":"query","name":"start","schema":{"type":"string","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))$"},"required":true,"description":"Comparison range start, inclusive."},"SharedParameter9eaeb9cf":{"in":"query","name":"cursor","schema":{"type":"string"},"description":"Opaque keyset cursor from a prior page's `nextCursor`; omit for the first page."},"SharedParameter7fdf77ed":{"in":"query","name":"limit","schema":{"default":50,"type":"integer","minimum":1,"maximum":100},"description":"Maximum items to return on this page, 1..100 (default 50)."},"SharedParametera66b8359":{"schema":{"type":"string"},"in":"path","name":"orgId","required":true,"description":"Organization identifier from the URL. It must name a workspace the caller can access."},"SharedParameter5e8e2bf9":{"in":"path","name":"applicationId","schema":{"type":"string"},"required":true,"description":"Identifier of the application selected by this path parameter."},"SharedParameter79491a05":{"in":"path","name":"teamId","schema":{"type":"string"},"required":true,"description":"Identifier of the team selected by this path parameter."},"SharedParameterc346a969":{"in":"path","name":"actorId","schema":{"type":"string"},"required":true,"description":"Identifier of the actor selected by this path parameter."},"SharedParameter752460ee":{"in":"path","name":"id","schema":{"type":"string"},"required":true,"description":"Id supplied in the path."},"SharedParameterea7cdc21":{"in":"path","name":"depId","schema":{"type":"string"},"required":true,"description":"Identifier of the dep selected by this path parameter."},"SharedParameter8096b455":{"in":"path","name":"milestoneId","schema":{"type":"string"},"required":true,"description":"Identifier of the milestone selected by this path parameter."},"SharedParameter8579cacb":{"in":"path","name":"resourceId","schema":{"type":"string"},"required":true,"description":"Identifier of the resource selected by this path parameter."},"SharedParameter911205e5":{"in":"path","name":"attachmentId","schema":{"type":"string"},"required":true,"description":"Identifier of the attachment selected by this path parameter."},"SharedParameter6bb49ee6":{"in":"path","name":"id","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"required":true,"description":"ULID id of an Initiative — the highest planning altitude, grouping Programs/Projects toward a strategic outcome."},"SharedParameterf3123f53":{"in":"path","name":"linkId","schema":{"type":"string"},"required":true,"description":"Identifier of the link selected by this path parameter."},"SharedParameter33e18719":{"in":"path","name":"projectId","schema":{"type":"string"},"required":true,"description":"Identifier of the project selected by this path parameter."},"SharedParameterdeca116c":{"in":"query","name":"teamId","schema":{"type":"string"},"description":"Identifier of the team selected by this query parameter."},"SharedParameterffa1f373":{"in":"path","name":"statusId","schema":{"type":"string"},"required":true,"description":"Identifier of the status selected by this path parameter."},"SharedParameter2b15e509":{"in":"path","name":"imageId","schema":{"type":"string"},"required":true,"description":"Identifier of the image selected by this path parameter."},"SharedParameterf2c58265":{"in":"path","name":"target","schema":{"type":"string","enum":["task","project","program","initiative"]},"required":true,"description":"Target supplied in the path."},"SharedParameter450555f5":{"in":"path","name":"id","schema":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$"},"required":true,"description":"Id supplied in the path."},"SharedParameterfb043971":{"in":"path","name":"requestId","schema":{"$ref":"#/components/schemas/Shared7fe6bfcb"},"required":true,"description":"Identifier of the request selected by this path parameter."},"SharedParameterea231218":{"in":"path","name":"bundleId","schema":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$"},"required":true,"description":"Identifier of the bundle selected by this path parameter."},"SharedParameter3546d729":{"in":"query","name":"targetType","schema":{"type":"string","enum":["task","project","initiative","program"]},"description":"The kind of work a template creates: `task`, `project`, `initiative`, or `program`. A Cycle is a date window and a Team is structural, so neither is templatable."},"SharedParameterfc7e7ec9":{"in":"query","name":"includeArchived","schema":{"type":"string","enum":["true","false"]},"description":"Include archived supplied in the query."},"SharedParameter375a526d":{"in":"path","name":"taskId","schema":{"type":"string"},"required":true,"description":"Identifier of the task selected by this path parameter."},"SharedParameter2992d4be":{"in":"path","name":"id","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"required":true,"description":"ULID id of a RecurrenceSeries — a schedule that expects process occurrences."},"SharedParameter9e1062ab":{"in":"query","name":"q","schema":{"type":"string"},"description":"Q supplied in the query."},"SharedParametercffa9333":{"in":"query","name":"limit","schema":{"default":50,"type":"integer","minimum":1,"maximum":100},"description":"Maximum number of items to return. The default is 50 and maximum is 100."},"SharedParameter45c79f35":{"in":"query","name":"cursor","schema":{"type":"string"},"description":"Opaque cursor from the previous page. Reuse it with the same filters and ordering."},"SharedParameter30536e75":{"in":"query","name":"families","schema":{"type":"string"},"description":"Families supplied in the query."},"SharedParameter04bf74f7":{"in":"query","name":"kinds","schema":{"type":"string"},"description":"Kinds supplied in the query."},"SharedParameterfdad6e85":{"in":"query","name":"sources","schema":{"type":"string"},"description":"Sources supplied in the query."},"SharedParameter835b4a11":{"in":"query","name":"orgIds","schema":{"type":"string"},"description":"Org ids supplied in the query."},"SharedParameterf6bc46a3":{"in":"query","name":"ownerIds","schema":{"type":"string"},"description":"Owner ids supplied in the query."},"SharedParametera8f7b61d":{"in":"query","name":"assigneeIds","schema":{"type":"string"},"description":"Assignee ids supplied in the query."},"SharedParameter92c194b1":{"in":"query","name":"labelIds","schema":{"type":"string"},"description":"Label ids supplied in the query."},"SharedParameter2cacfd3b":{"in":"query","name":"workTypeIds","schema":{"type":"string"},"description":"Work type ids supplied in the query."},"SharedParameter1d13caa5":{"in":"query","name":"ids","schema":{"type":"string"},"description":"Ids supplied in the query."},"SharedParameter3ddb0555":{"in":"query","name":"statuses","schema":{"type":"string"},"description":"Statuses supplied in the query."},"SharedParameter684fd7bf":{"in":"query","name":"healths","schema":{"type":"string"},"description":"Healths supplied in the query."},"SharedParameterc923f502":{"in":"query","name":"activeOrgId","schema":{"type":"string"},"description":"Identifier of the active org selected by this query parameter."},"SharedParameter52d0c3ca":{"in":"query","name":"surface","schema":{"default":"page","type":"string","enum":["page","palette"]},"description":"Surface supplied in the query."},"SharedParameter230fa47b":{"in":"query","name":"from","schema":{"$ref":"#/components/schemas/Shareddb94d84e"},"description":"Earliest date or instant to include, using the format documented below."},"SharedParametere08020c4":{"in":"query","name":"to","schema":{"$ref":"#/components/schemas/Shareddb94d84e"},"description":"Latest date or instant to include, using the format documented below."},"SharedParameterc1981c52":{"in":"query","name":"q","schema":{"default":"","type":"string","maxLength":128},"description":"What the user has typed after the `@`. Empty is meaningful and common: it asks for recents, which is what the picker shows the instant `@` is pressed."},"SharedParameter1e2f299a":{"in":"query","name":"limit","schema":{"default":8,"type":"integer","minimum":1,"maximum":25},"description":"How many rows to return. The picker asks for few, because a long menu is a slow menu."},"SharedParametera34af5ed":{"in":"path","name":"groupId","schema":{"type":"string"},"required":true,"description":"Identifier of the group selected by this path parameter."},"SharedParameterd151d895":{"in":"path","name":"activityId","schema":{"type":"string"},"required":true,"description":"Identifier of the activity selected by this path parameter."},"SharedParameter8c4cfbad":{"in":"path","name":"subjectType","schema":{"type":"string","enum":["initiative","program","project","task","cycle","milestone","team","label","workStatus"]},"required":true,"description":"Subject type supplied in the path."},"SharedParametera6106661":{"in":"path","name":"subjectId","schema":{"type":"string"},"required":true,"description":"Identifier of the subject selected by this path parameter."},"SharedParameter1841ba25":{"in":"path","name":"entity","schema":{"$ref":"#/components/schemas/NotionMirrorEntity"},"required":true,"description":"Entity supplied in the path."},"SharedParametera693f261":{"in":"path","name":"externalActorId","schema":{"type":"string"},"required":true,"description":"Identifier of the external actor selected by this path parameter."},"SharedParameter8204e902":{"in":"query","name":"cursor","schema":{"type":"string"},"description":"Opaque keyset cursor copied verbatim from a prior page's `nextCursor`; omit for the first page. Encodes the position to continue after — never construct it by hand."},"SharedParameter39e8f1ac":{"in":"query","name":"order","schema":{"default":"desc","type":"string","enum":["asc","desc"]},"description":"Keyset sort direction over the endpoint's canonical ordering key. `desc` (default) returns newest/highest first; `asc` oldest/lowest first."},"SharedParameter0c1cef05":{"in":"query","name":"filter","schema":{"type":"string"},"description":"Filter supplied in the query."},"SharedParameter6cdf68d4":{"in":"query","name":"viewId","schema":{"type":"string"},"description":"Identifier of the view selected by this query parameter."},"SharedParameter1c984fd3":{"in":"query","name":"system","schema":{"type":"string","enum":["docket","linear","github","slack","discord","google_calendar","gmail","google_drive","outlook"]},"description":"System supplied in the query."},"SharedParameter7b9ccd07":{"in":"query","name":"kind","schema":{"$ref":"#/components/schemas/Shared72f75420"},"description":"Kind supplied in the query."},"SharedParameter6ccc9463":{"in":"query","name":"entityKind","schema":{"type":"string","enum":["work_item","project","program","initiative","cycle","thread","message","document","calendar_event","person","organization","agent_session"]},"description":"Entity kind supplied in the query."},"SharedParameteraee822f2":{"in":"path","name":"date","schema":{"$ref":"#/components/schemas/Shared824061ac"},"required":true,"description":"Civil date in YYYY-MM-DD format."},"SharedParameter527dfd31":{"in":"query","name":"date","schema":{"$ref":"#/components/schemas/Shared824061ac"},"required":true,"description":"Civil date in YYYY-MM-DD format."},"SharedParameter223f6824":{"in":"query","name":"date","schema":{"$ref":"#/components/schemas/Shared824061ac"},"description":"Civil date in YYYY-MM-DD format."},"SharedParameter306adba5":{"in":"query","name":"start","schema":{"$ref":"#/components/schemas/Shareddb94d84e"},"required":true,"description":"Start supplied in the query."},"SharedParameter0c60b45f":{"in":"query","name":"end","schema":{"$ref":"#/components/schemas/Shareddb94d84e"},"required":true,"description":"End supplied in the query."},"SharedParameter28d88748":{"in":"query","name":"workspaceId","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"SharedParameter1043e375":{"in":"query","name":"projectId","schema":{"type":"string","minLength":1},"description":"Identifier of the project selected by this query parameter."},"SharedParameterd9b912d5":{"in":"query","name":"taskId","schema":{"type":"string","minLength":1},"description":"Identifier of the task selected by this query parameter."},"SharedParametere735ba69":{"in":"query","name":"categoryId","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"description":"ULID id of a TimeCategory — a user-owned category for reflection and reporting."},"SharedParameter0971d6da":{"in":"query","name":"captureSource","schema":{"type":"string","enum":["live","manual","reconstructed","agent"]},"description":"Capture source supplied in the query."},"SharedParameterce4f5c49":{"in":"path","name":"organizationId","schema":{"type":"string"},"required":true,"description":"Identifier of the organization selected by this path parameter."},"SharedParametercee49bbd":{"in":"path","name":"id","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"required":true,"description":"ULID id of a user-owned saved place used in work-location schedules and evidence."},"SharedParameter28e909d2":{"in":"path","name":"date","schema":{"$ref":"#/components/schemas/Shared824061ac"},"required":true,"description":"A calendar date with no time component, ISO-8601 `YYYY-MM-DD`."},"SharedParameter2ece5966":{"in":"path","name":"id","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"required":true,"description":"ULID id of a user-owned explicit work-location assertion or weekly series."},"SharedParameter6488cb47":{"in":"path","name":"id","schema":{"type":"string","minLength":1},"required":true,"description":"Id supplied in the path."},"SharedParameterb8e2791f":{"in":"path","name":"changeSetId","schema":{"type":"string"},"required":true,"description":"Identifier of the change set selected by this path parameter."},"SharedParameter061b7510":{"in":"query","name":"workspaceId","schema":{"type":"string","minLength":1},"description":"Only work started in this workspace."},"SharedParameterbb318af3":{"in":"query","name":"limit","schema":{"default":50,"type":"integer","minimum":1,"maximum":50},"description":"Maximum number of items to return. The default is 50 and maximum is 100."},"SharedParameter362e67f7":{"in":"query","name":"needsYouCursor","schema":{"type":"string"},"description":"Needs you cursor supplied in the query."},"SharedParameterdb2b80f5":{"in":"query","name":"workingCursor","schema":{"type":"string"},"description":"Working cursor supplied in the query."},"SharedParameter66507941":{"in":"query","name":"finishedCursor","schema":{"type":"string"},"description":"Finished cursor supplied in the query."},"SharedParameterbe810a21":{"in":"query","name":"limit","schema":{"default":100,"type":"integer","minimum":1,"maximum":100},"description":"Maximum number of items to return. The default is 50 and maximum is 100."},"SharedParameterfc53c129":{"in":"path","name":"chapterId","schema":{"type":"string"},"required":true,"description":"Identifier of the chapter selected by this path parameter."},"SharedParameterb089c06e":{"in":"path","name":"deviceId","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$"},"required":true,"description":"The install’s random ULID. Never derived from hardware."},"SharedParameter358bb339":{"in":"path","name":"triggerId","schema":{"type":"string"},"required":true,"description":"Identifier of the trigger selected by this path parameter."}},"headers":{"DocketVersion":{"description":"The public compatibility contract.","schema":{"type":"string","const":"0.1.0"}},"DocketRevision":{"description":"The full Git SHA of the deployed artifact; local source execution uses dev.","schema":{"type":"string","examples":["6d54b6d894d83ee9bd9ab3ad3fcb3a9da991b13a"]}}},"schemas":{"UnsupportedApiVersionProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"unsupported_api_version","description":"The stable code to branch on."},"status":{"const":400,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":400,"code":"unsupported_api_version"}},"WeekPlanGenerateInput":{"type":"object","properties":{"weekStartDate":{"description":"Local Monday to plan; defaults to the upcoming week in the Hub timezone.","type":"string","format":"date","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])))$","example":"2026-06-29"},"dryRun":{"description":"When true, compute and return the week without writing any calendar item.","type":"boolean"},"replaceExisting":{"description":"When true, scheduler-created blocks from a previous run for this week are removed first. Blocks a person created by hand are never touched.","type":"boolean"}},"example":{}},"SearchResult":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"organizationId":{"$ref":"#/components/schemas/Shared9471a220","description":"Identifies the referenced organization."},"userId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced user."},"kind":{"$ref":"#/components/schemas/Shared25d7a6ea","description":"Selects the value variant."},"family":{"type":"string","enum":["work","people","content","activity"],"description":"Allowed family value."},"title":{"type":"string","description":"Human-readable title."},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Short plain-language summary."},"snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Snippet for this record."},"matchedFields":{"type":"array","items":{"type":"string","enum":["title","summary","body","facet","source"]},"description":"Matched fields, in order."},"route":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"entity","description":"Selects the value type."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"entityKind":{"type":"string","enum":["organization","team","member","agent","agent_session","task","project","program","initiative","milestone","cycle","label","saved_view","comment","update","attachment","calendar_event","activity","external_resource"],"description":"Allowed entity kind value."},"entityId":{"type":"string","description":"Identifies the referenced entity."},"href":{"type":"string","description":"URL a client can open."}},"required":["type","organizationId","entityKind","entityId","href"]},{"type":"object","properties":{"type":{"type":"string","const":"content","description":"Selects the value type."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"subjectKind":{"type":"string","enum":["organization","team","member","agent","agent_session","task","project","program","initiative","milestone","cycle","label","saved_view","comment","update","attachment","calendar_event","activity","external_resource"],"description":"Allowed subject kind value."},"subjectId":{"type":"string","description":"Identifies the referenced subject."},"contentKind":{"type":"string","enum":["organization","team","member","agent","agent_session","task","project","program","initiative","milestone","cycle","label","saved_view","comment","update","attachment","calendar_event","activity","external_resource"],"description":"Allowed content kind value."},"contentId":{"type":"string","description":"Identifies the referenced content."},"href":{"type":"string","description":"URL a client can open."}},"required":["type","organizationId","subjectKind","subjectId","contentKind","contentId","href"]},{"type":"object","properties":{"type":{"type":"string","const":"activity","description":"Selects the value type."},"organizationId":{"$ref":"#/components/schemas/Shared9471a220","description":"Identifies the referenced organization."},"eventId":{"type":"string","description":"Identifies the referenced event."},"href":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"URL a client can open."},"externalUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"External url for this record."}},"required":["type","organizationId","eventId","href","externalUrl"]},{"type":"object","properties":{"type":{"type":"string","const":"calendar_event","description":"Selects the value type."},"calendarEventId":{"type":"string","description":"Identifies the referenced calendar event."},"href":{"type":"string","description":"URL a client can open."}},"required":["type","calendarEventId","href"]},{"type":"object","properties":{"type":{"type":"string","const":"external","description":"Selects the value type."},"externalUrl":{"type":"string","description":"External url for this record."}},"required":["type","externalUrl"]}],"description":"Route for this record."},"subject":{"anyOf":[{"$ref":"#/components/schemas/SearchSubject"},{"type":"null"}],"description":"Subject for this record."},"source":{"anyOf":[{"$ref":"#/components/schemas/SearchSource"},{"type":"null"}],"description":"Source for this record."},"facets":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Facets for this record."},"actions":{"type":"array","items":{"$ref":"#/components/schemas/SearchAction"},"description":"Actions, in order."},"score":{"type":"number","description":"Score for this record."},"entityId":{"type":"string","description":"Identifies the referenced entity."},"externalUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"External url for this record."},"display":{"anyOf":[{"$ref":"#/components/schemas/Sharedff04c959"},{"type":"null"}],"description":"Display for this record."},"usedIn":{"default":[],"type":"array","items":{"$ref":"#/components/schemas/SearchUsedIn"},"description":"Used in, in order."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["id","organizationId","userId","kind","family","title","summary","snippet","matchedFields","route","subject","source","facets","actions","score","entityId","externalUrl","updatedAt"],"description":"One typed, permission-filtered search hit.","example":{"id":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","userId":"example","kind":"organization","family":"work","title":"example","summary":"example","snippet":"example","matchedFields":["title"],"route":{"type":"entity","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","entityKind":"organization","entityId":"example","href":"example"},"subject":{"kind":"organization","id":"example","title":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"source":{"system":"docket","externalUrl":"example","eventId":"example"},"facets":{},"actions":[{"kind":"example","label":"example"}],"score":0,"entityId":"example","externalUrl":"example","updatedAt":"2026-09-19T12:00:00.000Z"}},"SearchSubject":{"type":"object","properties":{"kind":{"$ref":"#/components/schemas/Shared25d7a6ea","description":"Selects the value variant."},"id":{"type":"string","description":"The stable identifier for this resource."},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Human-readable title."},"organizationId":{"$ref":"#/components/schemas/Shared9471a220","description":"Identifies the referenced organization."}},"required":["kind","id","title","organizationId"],"description":"The containing subject for a search result.","example":{"kind":"organization","id":"example","title":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"SearchSource":{"type":"object","properties":{"system":{"type":"string","enum":["docket","linear","github","slack","discord","google_calendar","gmail","google_drive","outlook"],"description":"Allowed system value."},"externalUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"External url for this record."},"eventId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced event."}},"required":["system","externalUrl","eventId"],"description":"Source attribution for a search result.","example":{"system":"docket","externalUrl":"example","eventId":"example"}},"SearchAction":{"type":"object","properties":{"kind":{"type":"string","description":"Selects the value variant."},"label":{"type":"string","description":"Label for this record."},"href":{"type":"string","description":"URL a client can open."}},"required":["kind","label"],"description":"A contextual action for a search result.","example":{"kind":"example","label":"example"}},"SearchUsedIn":{"type":"object","properties":{"kind":{"type":"string","enum":["initiative","program","project","team"],"description":"Selects the value variant."},"id":{"type":"string","description":"The stable identifier for this resource."},"title":{"type":"string","description":"Human-readable title."}},"required":["kind","id","title"],"description":"A work container a search result is referenced from.","example":{"kind":"initiative","id":"example","title":"example"}},"SearchFacetSummary":{"type":"object","properties":{"field":{"type":"string","description":"Field the rule evaluates."},"label":{"type":"string","description":"Label for this record."},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"]},"description":"Values, in order."}},"required":["field","label","values"],"description":"A facet bucket for search filtering.","example":{"field":"example","label":"example","values":[{"value":"example","label":"example","count":0}]}},"SearchOut":{"type":"object","properties":{"query":{"type":"string","description":"Query for this record."},"items":{"type":"array","items":{"$ref":"#/components/schemas/SearchResult"},"description":"Items, in order."},"facets":{"type":"array","items":{"$ref":"#/components/schemas/SearchFacetSummary"},"description":"Facets, in order."},"nextCursor":{"type":"string","description":"Cursor for the next page. Omitted at the end."}},"required":["query","items","facets"],"description":"Semantic workspace search results.","example":{"query":"example","items":[{"id":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","userId":"example","kind":"organization","family":"work","title":"example","summary":"example","snippet":"example","matchedFields":["title"],"route":{"type":"entity","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","entityKind":"organization","entityId":"example","href":"example"},"subject":{"kind":"organization","id":"example","title":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"source":{"system":"docket","externalUrl":"example","eventId":"example"},"facets":{},"actions":[{"kind":"example","label":"example"}],"score":0,"entityId":"example","externalUrl":"example","updatedAt":"2026-09-19T12:00:00.000Z"}],"facets":[{"field":"example","label":"example","values":[{"value":"example","label":"example","count":0}]}]}},"WorkPlaceGeocodeCandidate":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":512,"description":"Opaque provider feature identifier."},"address":{"type":"string","minLength":1,"maxLength":240,"description":"Full display address."},"latitude":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude in degrees."},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude in degrees."}},"required":["id","address","latitude","longitude"],"additionalProperties":false,"description":"One temporary address candidate.","example":{"id":"example","address":"example","latitude":0,"longitude":0}},"Problem":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requestedVersion":{"description":"The rejected Docket-Version assertion.","type":"string"},"supportedVersions":{"description":"The API contracts this deployment accepts.","type":"array","items":{"type":"string"}},"type":{"type":"string","description":"A URI reference identifying the problem type. Docket currently uses the RFC standard `about:blank`; the closed `code` field carries the machine-readable classification."},"title":{"type":"string","description":"A short application-owned summary derived from `code`; never a thrown diagnostic message."},"status":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The HTTP status code, duplicated here per RFC 9457."},"detail":{"description":"A human-readable explanation specific to this occurrence, when available.","type":"string"},"code":{"type":"string","enum":["unsupported_api_version","validation_error","unauthorized","insufficient_scope","forbidden","not_found","conflict","accepted_plan_requires_revision","cadence_changed","blueprint_limit","blueprint_loop","blueprint_prerequisite","blueprint_destination_required","blueprint_invalid","blueprint_incomplete_capture","blueprint_preview_stale","image_in_use","identity_in_use","external_identity_mismatch","account_selection_required","linear_workspace_already_connected","linear_write_scope_required","calendar_source_scope_required","calendar_source_protected","calendar_source_writes_pending","calendar_source_removal_failed","task_already_linked","idempotency_key_reuse","dependency_cycle","last_owner_guard","current_session","self_escalation","personal_org_no_invites","reauth_required","rate_limited","geocoding_unavailable","deletion_blocked","card_required","billing_frozen","billing_customer_missing","billing_unavailable","phone_verification_unavailable","checkout_pending","subscription_exists","discount_application_pending","discount_award_conflict","billing_provider_sync_failed","billing_grace_expired","product_required","agent_plan_required","domain_already_claimed","public_name_taken","method_not_allowed","not_acceptable","payload_too_large","precondition_failed","unsupported_media_type","lattice_unavailable","internal"],"description":"The closed machine-readable code clients branch on."},"requiredScope":{"description":"The OAuth capability scope required when `code` is `insufficient_scope`.","type":"string"},"fieldErrors":{"description":"Present on `validation_error` (422): a map of field path → the issues on that field; the path `_` holds form-level (non-field) errors. Branch on each issue `code`, never on its `message`.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_type","invalid_option","invalid_format","too_small","too_big","invalid_value"],"description":"Why a single field failed validation. Branch on this to select application-owned copy.\n\n- `invalid_type`: absent, or present with the wrong type; the wanted type is in `expected`. Note the validator reports a missing field and a wrong-typed field identically, so this code covers both.\n- `invalid_option`: not one of a closed set; the legal values are in `options`.\n- `invalid_format`: failed a string format (email, uri, date-time, regex); see `format`.\n- `too_small` / `too_big`: outside an allowed bound; see `minimum` / `maximum`.\n- `invalid_value`: failed a constraint with no more specific code."},"expected":{"description":"The expected type, on `invalid_type`.","type":"string"},"options":{"description":"The legal values, on `invalid_option`.","type":"array","items":{"type":"string"}},"format":{"description":"The string format that failed, on `invalid_format` (e.g. `email`, `date-time`).","type":"string"},"minimum":{"description":"The lower bound, on `too_small` (length for strings/arrays, value for numbers).","type":"number"},"maximum":{"description":"The upper bound, on `too_big` (length for strings/arrays, value for numbers).","type":"number"},"inclusive":{"description":"Whether the bound in `minimum`/`maximum` is itself allowed.","type":"boolean"}},"required":["code"],"additionalProperties":false}}}},"required":["type","title","status","code"],"additionalProperties":false,"example":{"type":"example","title":"example","status":0,"code":"unsupported_api_version"}},"ValidationErrorProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"validation_error","description":"The stable code to branch on."},"status":{"const":422,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":422,"code":"validation_error"}},"UnauthorizedProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"unauthorized","description":"The stable code to branch on."},"status":{"const":401,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":401,"code":"unauthorized"}},"InsufficientScopeProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"insufficient_scope","description":"The stable code to branch on."},"status":{"const":403,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":403,"code":"insufficient_scope"}},"ForbiddenProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"forbidden","description":"The stable code to branch on."},"status":{"const":403,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":403,"code":"forbidden"}},"NotFoundProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"not_found","description":"The stable code to branch on."},"status":{"const":404,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":404,"code":"not_found"}},"ConflictProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"conflict","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"conflict"}},"AcceptedPlanRequiresRevisionProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"accepted_plan_requires_revision","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"accepted_plan_requires_revision"}},"CadenceChangedProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"cadence_changed","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"cadence_changed"}},"BlueprintLimitProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"blueprint_limit","description":"The stable code to branch on."},"status":{"const":422,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":422,"code":"blueprint_limit"}},"BlueprintLoopProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"blueprint_loop","description":"The stable code to branch on."},"status":{"const":422,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":422,"code":"blueprint_loop"}},"BlueprintPrerequisiteProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"blueprint_prerequisite","description":"The stable code to branch on."},"status":{"const":422,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":422,"code":"blueprint_prerequisite"}},"BlueprintDestinationRequiredProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"blueprint_destination_required","description":"The stable code to branch on."},"status":{"const":422,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":422,"code":"blueprint_destination_required"}},"BlueprintInvalidProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"blueprint_invalid","description":"The stable code to branch on."},"status":{"const":422,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":422,"code":"blueprint_invalid"}},"BlueprintIncompleteCaptureProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"blueprint_incomplete_capture","description":"The stable code to branch on."},"status":{"const":422,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":422,"code":"blueprint_incomplete_capture"}},"BlueprintPreviewStaleProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"blueprint_preview_stale","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"blueprint_preview_stale"}},"ImageInUseProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"image_in_use","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"image_in_use"}},"IdentityInUseProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"identity_in_use","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"identity_in_use"}},"ExternalIdentityMismatchProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"external_identity_mismatch","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"external_identity_mismatch"}},"AccountSelectionRequiredProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"account_selection_required","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"account_selection_required"}},"LinearWorkspaceAlreadyConnectedProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"linear_workspace_already_connected","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"linear_workspace_already_connected"}},"LinearWriteScopeRequiredProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"linear_write_scope_required","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"linear_write_scope_required"}},"CalendarSourceScopeRequiredProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"calendar_source_scope_required","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"calendar_source_scope_required"}},"CalendarSourceProtectedProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"calendar_source_protected","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"calendar_source_protected"}},"CalendarSourceWritesPendingProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"calendar_source_writes_pending","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"calendar_source_writes_pending"}},"CalendarSourceRemovalFailedProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"calendar_source_removal_failed","description":"The stable code to branch on."},"status":{"const":503,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":503,"code":"calendar_source_removal_failed"}},"TaskAlreadyLinkedProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"task_already_linked","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"task_already_linked"}},"IdempotencyKeyReuseProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"idempotency_key_reuse","description":"The stable code to branch on."},"status":{"const":422,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":422,"code":"idempotency_key_reuse"}},"DependencyCycleProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"dependency_cycle","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"dependency_cycle"}},"LastOwnerGuardProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"last_owner_guard","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"last_owner_guard"}},"CurrentSessionProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"current_session","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"current_session"}},"SelfEscalationProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"self_escalation","description":"The stable code to branch on."},"status":{"const":403,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":403,"code":"self_escalation"}},"PersonalOrgNoInvitesProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"personal_org_no_invites","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"personal_org_no_invites"}},"ReauthRequiredProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"reauth_required","description":"The stable code to branch on."},"status":{"const":401,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":401,"code":"reauth_required"}},"RateLimitedProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"rate_limited","description":"The stable code to branch on."},"status":{"const":429,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":429,"code":"rate_limited"}},"GeocodingUnavailableProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"geocoding_unavailable","description":"The stable code to branch on."},"status":{"const":503,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":503,"code":"geocoding_unavailable"}},"DeletionBlockedProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"deletion_blocked","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"deletion_blocked"}},"CardRequiredProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"card_required","description":"The stable code to branch on."},"status":{"const":402,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":402,"code":"card_required"}},"BillingFrozenProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"billing_frozen","description":"The stable code to branch on."},"status":{"const":402,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":402,"code":"billing_frozen"}},"BillingCustomerMissingProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"billing_customer_missing","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"billing_customer_missing"}},"BillingUnavailableProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"billing_unavailable","description":"The stable code to branch on."},"status":{"const":503,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":503,"code":"billing_unavailable"}},"PhoneVerificationUnavailableProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"phone_verification_unavailable","description":"The stable code to branch on."},"status":{"const":503,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":503,"code":"phone_verification_unavailable"}},"CheckoutPendingProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"checkout_pending","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"checkout_pending"}},"SubscriptionExistsProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"subscription_exists","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"subscription_exists"}},"DiscountApplicationPendingProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"discount_application_pending","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"discount_application_pending"}},"DiscountAwardConflictProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"discount_award_conflict","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"discount_award_conflict"}},"BillingProviderSyncFailedProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"billing_provider_sync_failed","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"billing_provider_sync_failed"}},"BillingGraceExpiredProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"billing_grace_expired","description":"The stable code to branch on."},"status":{"const":402,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":402,"code":"billing_grace_expired"}},"ProductRequiredProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"product_required","description":"The stable code to branch on."},"status":{"const":402,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":402,"code":"product_required"}},"AgentPlanRequiredProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"agent_plan_required","description":"The stable code to branch on."},"status":{"const":402,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":402,"code":"agent_plan_required"}},"DomainAlreadyClaimedProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"domain_already_claimed","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"domain_already_claimed"}},"PublicNameTakenProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"public_name_taken","description":"The stable code to branch on."},"status":{"const":409,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":409,"code":"public_name_taken"}},"MethodNotAllowedProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"method_not_allowed","description":"The stable code to branch on."},"status":{"const":405,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":405,"code":"method_not_allowed"}},"NotAcceptableProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"not_acceptable","description":"The stable code to branch on."},"status":{"const":406,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":406,"code":"not_acceptable"}},"PayloadTooLargeProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"payload_too_large","description":"The stable code to branch on."},"status":{"const":413,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":413,"code":"payload_too_large"}},"PreconditionFailedProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"precondition_failed","description":"The stable code to branch on."},"status":{"const":412,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":412,"code":"precondition_failed"}},"UnsupportedMediaTypeProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"unsupported_media_type","description":"The stable code to branch on."},"status":{"const":415,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":415,"code":"unsupported_media_type"}},"LatticeUnavailableProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"lattice_unavailable","description":"The stable code to branch on."},"status":{"const":503,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":503,"code":"lattice_unavailable"}},"InternalProblem":{"allOf":[{"$ref":"#/components/schemas/Problem"},{"type":"object","required":["code","status"],"properties":{"code":{"const":"internal","description":"The stable code to branch on."},"status":{"const":500,"description":"The HTTP status returned with this problem."}}}],"example":{"type":"example","title":"example","status":500,"code":"internal"}},"OrgSummary":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable ULID identifier of the organization."},"name":{"type":"string","description":"The organization's display name, shown in the org switcher."},"slug":{"type":"string","description":"The workspace's one identifier — see `slug` for its full role."},"avatar":{"description":"URL of the org's avatar/logo; null when none uploaded.","anyOf":[{"type":"string"},{"type":"null"}]},"isPersonal":{"type":"boolean","description":"True for a personal space (org-of-one); false for a team org."}},"required":["id","name","slug","isPersonal"],"description":"A compact organization summary.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","slug":"example","isPersonal":false}},"OrgOut":{"type":"object","properties":{"workTemplateAuthoring":{"type":"string","enum":["contributors","admins"],"description":"Allowed work template authoring value."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable ULID identifier of the organization."},"name":{"type":"string","description":"The organization's display name."},"slug":{"$ref":"#/components/schemas/Sharedc9f1aaa7","description":"Slug for this record."},"purpose":{"description":"Free-text statement of what the org is for; null when never set.","anyOf":[{"type":"string"},{"type":"null"}]},"avatar":{"description":"URL of the org's avatar/logo image; null when none has been uploaded.","anyOf":[{"type":"string"},{"type":"null"}]},"isPersonal":{"type":"boolean","description":"True for a personal space (org-of-one); such orgs reject invitations and guests. False for a normal team org."},"vocabulary":{"$ref":"#/components/schemas/Shareda249b11e","description":"Vocabulary for this record."},"lifecycleState":{"$ref":"#/components/schemas/Shared994a403b","description":"Lifecycle state for this record."},"createdAt":{"type":"string","description":"ISO-8601 timestamp of when the org was created."}},"required":["id","name","slug","isPersonal","vocabulary","lifecycleState","createdAt"],"description":"An organization.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","slug":"example","isPersonal":false,"vocabulary":{"preset":"startup"},"lifecycleState":"example","createdAt":"2026-09-19T12:00:00.000Z"}},"DefaultTeamOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable ULID identifier of the seeded default team."},"name":{"type":"string","description":"The default team's display name (seeded as 'General')."},"key":{"type":"string","description":"The default team's short key, unique within the org (seeded as 'GEN')."}},"required":["id","name","key"],"description":"An org's default team.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","key":"example"}},"TeamOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable ULID identifier of the team."},"actorId":{"$ref":"#/components/schemas/Shareddbdf783c","description":"Identifies the referenced actor."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The organization this team belongs to."},"name":{"type":"string","description":"The team's display name."},"key":{"type":"string","description":"The team's short key, unique within the org."},"description":{"description":"Free-text description of the team; null when unset.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Plain-text summary, or `null` when none."},"workflowStates":{"description":"The team's ordered workflow states. Optional in this list shape; always present (required) in TeamDetail.","type":"array","items":{"$ref":"#/components/schemas/WorkflowState"}},"triageEnabled":{"type":"boolean","description":"Whether the team's Triage queue is enabled."},"cycleCadenceDays":{"description":"Native cycle length in days. Present on current API reads.","type":"integer","minimum":1,"maximum":365},"cycleCadenceAnchor":{"description":"Calendar-date anchor for native cycles. Present on current API reads.","type":"string","format":"date","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])))$"},"cycleCadenceRevision":{"description":"Cadence concurrency revision. Present on current API reads.","type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"agentGuidance":{"description":"Free-text guidance for AI agents operating in this team; null when unset.","anyOf":[{"type":"string"},{"type":"null"}]},"approvalRouting":{"description":"The team's agent-approval-routing policy; null when no override is set.","anyOf":[{"$ref":"#/components/schemas/ApprovalRouting"},{"type":"null"}]}},"required":["id","organizationId","name","key","summary","triageEnabled"],"description":"A team within an organization.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","key":"example","summary":"example","triageEnabled":false}},"WorkflowState":{"type":"object","properties":{"key":{"type":"string","minLength":1,"description":"Stable per-team identifier for this state, stored on `task.state`. There is no global FK — keys are scoped to the team's `workflow_states` array — so keys need only be unique within one team's workflow."},"name":{"type":"string","minLength":1,"description":"Human-readable label shown on the board column / status picker."},"type":{"type":"string","enum":["backlog","unstarted","started","completed","canceled"],"description":"The canonical category this state maps onto (backlog/unstarted/started/completed/canceled), used for icons and grouping."},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Integer sort order of this state within the team's workflow (ascending, left-to-right on the board)."}},"required":["key","name","type","position"],"description":"One state in a team's workflow.","example":{"key":"example","name":"example","type":"backlog","position":0}},"ApprovalRouting":{"type":"object","properties":{"mode":{"type":"string","enum":["assigner","fixed","role"],"description":"How the approver for this agent's gated actions is chosen: `assigner` — whoever assigned/initiated the work approves; `fixed` — a specific actor (`approverActorId`) approves; `role` — any holder of a role (`approverRoleId`) may approve."},"approverActorId":{"description":"The fixed approver's actor id; used only when `mode` is `fixed`.","type":"string"},"approverRoleId":{"description":"The role whose holders may approve; used only when `mode` is `role`.","type":"string"}},"required":["mode"],"description":"An agent's approval-routing config.","example":{"mode":"assigner"}},"TeamRosterEntry":{"type":"object","properties":{"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The team this membership belongs to."},"actorId":{"type":"string","description":"The member."},"displayName":{"type":"string","description":"The member's display name."},"avatar":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"URL of the member's avatar, or null."}},"required":["teamId","actorId","displayName","avatar"],"description":"One team membership, identity only.","example":{"teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","actorId":"example","displayName":"example","avatar":"example"}},"TeamMemberOut":{"type":"object","properties":{"actorId":{"type":"string","description":"The actor id of this member."},"displayName":{"type":"string","description":"The member's display name."},"title":{"$ref":"#/components/schemas/Shared36936e2c","description":"Human-readable title."},"avatar":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"URL of the member's avatar, or null."},"role":{"$ref":"#/components/schemas/Sharedbf6323eb","description":"Role for this record."},"openTaskCount":{"$ref":"#/components/schemas/Shared8801afe2","description":"Open task count."}},"required":["actorId","displayName","title","avatar","role","openTaskCount"],"description":"One member of a team.","example":{"actorId":"example","displayName":"example","title":"example","avatar":"example","role":"manager","openTaskCount":0}},"TeamCapacityBucket":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/Shared63ac0b06","description":"Selects the value type."},"taskCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many of the team’s open tasks sit in this bucket."},"estimate":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The summed `estimate` points of those tasks; unestimated tasks contribute 0. Zero across every bucket means the workspace does not estimate, which the chart says out loud rather than drawing a flat line."}},"required":["type","taskCount","estimate"],"description":"One workflow-state bucket of a team's work.","example":{"type":"backlog","taskCount":0,"estimate":0}},"TeamThroughputPoint":{"type":"object","properties":{"date":{"type":"string","description":"The ISO-8601 date (YYYY-MM-DD) this point covers."},"pending":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Cumulative tasks opened on or before this day and not yet closed."},"completed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Cumulative tasks completed on or before this day."}},"required":["date","pending","completed"],"description":"One day on a team's throughput line.","example":{"date":"2026-09-19","pending":0,"completed":0}},"EntityMention":{"type":"object","properties":{"ref":{"oneOf":[{"$ref":"#/components/schemas/Sharedfb2174e5"},{"$ref":"#/components/schemas/Sharedc6ff5293"}],"description":"What the reference points at."},"key":{"type":"string","description":"Stable identity, used to dedupe against manually attached resources."},"label":{"type":"string","description":"The link text as authored, shown until a live title resolves."},"href":{"type":"string","description":"Where following the reference goes."},"fields":{"type":"array","items":{"type":"string"},"description":"Which Markdown columns it appears in, e.g. `description`. Drives the \"in Description\" provenance line."},"occurrences":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"How many times it appears across those fields."},"resource":{"anyOf":[{"$ref":"#/components/schemas/ExternalResourceOut"},{"type":"null"}],"description":"The shared metadata row for an external reference; null for a reference to a Docket entity."}},"required":["ref","key","label","href","fields","occurrences","resource"],"description":"One reference derived from an entity's prose.","example":{"ref":{"kind":"entity","entityKind":"task","entityId":"example"},"key":"example","label":"example","href":"example","fields":["example"],"occurrences":1,"resource":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"web","canonicalKey":"example","canonicalUrl":"example","externalId":"example","resourceType":"document","title":"example","description":"example","siteName":"example","iconUrl":"example","thumbnailUrl":"example","mimeType":"example","ownerLabel":"example","externalUpdatedAt":"2026-09-19T12:00:00.000Z","unfurlStatus":"pending","fetchedAt":"2026-09-19T12:00:00.000Z"}}},"ExternalResourceOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque external-resource id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning org id (the tenant key)."},"provider":{"type":"string","enum":["web","google_drive","onedrive","sharepoint","notion","dropbox","box","figma","confluence"],"description":"Which system owns the resource: 'google_drive', or 'web' for a generic unfurled page."},"canonicalKey":{"type":"string","description":"Stable dedupe identity within the org — `google_drive:<fileId>` or `web:<hash of the normalized URL>`."},"canonicalUrl":{"type":"string","description":"The normalized URL the resource lives at."},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The provider's own id for the resource; null for generic web pages."},"resourceType":{"type":"string","enum":["document","spreadsheet","presentation","folder","pdf","image","video","file","issue","message","event","page","unknown"],"description":"What kind of thing it is, in Docket's own vocabulary; 'unknown' until an unfurl resolves it."},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Resolved title; null while the unfurl is pending or was refused. Never the URL as a stand-in."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Short summary or meta description; null when none."},"siteName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Publisher or app name (e.g. `Google Docs`); null when none."},"iconUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Favicon or file-type icon URL, served through the API image proxy; null when none."},"thumbnailUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Preview image URL; null when none."},"mimeType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider MIME type when one is known; null otherwise."},"ownerLabel":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the resource's owner; null when unknown."},"externalUpdatedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"When the resource last changed at the provider (ISO 8601); null when unreported."},"unfurlStatus":{"type":"string","enum":["pending","ok","forbidden","requires_connection","unsupported","failed"],"description":"How far metadata resolution got. Drives whether a card shows content, a pending state, or a reconnect prompt."},"fetchedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"When the metadata was last fetched (ISO 8601); null while never fetched."}},"required":["id","organizationId","provider","canonicalKey","canonicalUrl","externalId","resourceType","title","description","siteName","iconUrl","thumbnailUrl","mimeType","ownerLabel","externalUpdatedAt","unfurlStatus","fetchedAt"],"description":"A referenced resource outside Docket.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"web","canonicalKey":"example","canonicalUrl":"example","externalId":"example","resourceType":"document","title":"example","description":"example","siteName":"example","iconUrl":"example","thumbnailUrl":"example","mimeType":"example","ownerLabel":"example","externalUpdatedAt":"2026-09-19T12:00:00.000Z","unfurlStatus":"pending","fetchedAt":"2026-09-19T12:00:00.000Z"}},"MilestoneCreate":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable milestone label (e.g. \"Beta\", \"GA\"). Required, non-empty."},"description":{"description":"Optional long-form note for the milestone. Omit for none.","type":"string"},"targetDate":{"$ref":"#/components/schemas/Sharedffdc9929","description":"Target date in YYYY-MM-DD format."},"sort":{"$ref":"#/components/schemas/Sharedd2953dde","description":"Sort for this record."}},"required":["name"],"description":"Create a milestone within an organization.","example":{"name":"example"}},"ProjectOut":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"sourcePeople":{"$ref":"#/components/schemas/Sharedf273c5a8","description":"Source people for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable unique identifier of the project."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning organization (tenant)."},"name":{"type":"string","description":"Human-readable project name."},"summary":{"description":"Concise outcome summary, or `null`/absent when none.","anyOf":[{"type":"string"},{"type":"null"}]},"description":{"description":"Free-text description, or `null`/absent when none.","anyOf":[{"type":"string"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/Sharedcc64c4b8","description":"Current lifecycle state."},"priority":{"type":"string","enum":["none","urgent","high","medium","low"],"description":"Current work priority for ordering and attention treatment."},"health":{"$ref":"#/components/schemas/Sharedef8752d1","description":"Health for this record."},"leadId":{"$ref":"#/components/schemas/Sharedbe37ece3","description":"Identifies the referenced lead."},"teamId":{"$ref":"#/components/schemas/Shared8919b77a","description":"Identifies the referenced team."},"programId":{"$ref":"#/components/schemas/Shared55c87cd1","description":"Identifies the referenced program."},"startDate":{"description":"Planned start date (ISO-8601 string), or `null` when unscheduled.","anyOf":[{"type":"string"},{"type":"null"}]},"startDateResolution":{"$ref":"#/components/schemas/Sharedc12d1de4","description":"Start date resolution for this record."},"startDateFiscalYearStartMonth":{"anyOf":[{"type":"integer","minimum":0,"maximum":11},{"type":"null"}],"description":"Read-only saved zero-based fiscal basis for a broad start value."},"targetDate":{"description":"Planned target/end date (ISO-8601 string), or `null` when unscheduled.","anyOf":[{"type":"string"},{"type":"null"}]},"targetDateResolution":{"$ref":"#/components/schemas/Sharedf670bad8","description":"Target date resolution for this record."},"targetDateFiscalYearStartMonth":{"anyOf":[{"type":"integer","minimum":0,"maximum":11},{"type":"null"}],"description":"Read-only saved zero-based fiscal basis for a broad target value."},"createdAt":{"type":"string","description":"When the project was created (ISO-8601 timestamp)."},"updatedAt":{"type":"string","description":"Most-recent project update timestamp (ISO-8601 timestamp)."}},"required":["id","organizationId","name","status","priority","teamId","startDateResolution","startDateFiscalYearStartMonth","targetDateResolution","targetDateFiscalYearStartMonth","createdAt","updatedAt"],"description":"A project.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","priority":"none","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","startDateResolution":"month","startDateFiscalYearStartMonth":0,"targetDateResolution":"month","targetDateFiscalYearStartMonth":0,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"ProjectOverviewItem":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"sourcePeople":{"$ref":"#/components/schemas/Sharedf273c5a8","description":"Source people for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable unique identifier of the project."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning organization (tenant)."},"name":{"type":"string","description":"Human-readable project name."},"summary":{"description":"Concise outcome summary, or `null`/absent when none.","anyOf":[{"type":"string"},{"type":"null"}]},"description":{"description":"Free-text description, or `null`/absent when none.","anyOf":[{"type":"string"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/Sharedcc64c4b8","description":"Current lifecycle state."},"priority":{"type":"string","enum":["none","urgent","high","medium","low"],"description":"Current work priority for ordering and attention treatment."},"health":{"$ref":"#/components/schemas/Sharedef8752d1","description":"Health for this record."},"leadId":{"$ref":"#/components/schemas/Sharedbe37ece3","description":"Identifies the referenced lead."},"teamId":{"$ref":"#/components/schemas/Shared8919b77a","description":"Identifies the referenced team."},"programId":{"$ref":"#/components/schemas/Shared55c87cd1","description":"Identifies the referenced program."},"startDate":{"description":"Planned start date (ISO-8601 string), or `null` when unscheduled.","anyOf":[{"type":"string"},{"type":"null"}]},"startDateResolution":{"$ref":"#/components/schemas/Sharedc12d1de4","description":"Start date resolution for this record."},"startDateFiscalYearStartMonth":{"anyOf":[{"type":"integer","minimum":0,"maximum":11},{"type":"null"}],"description":"Read-only saved zero-based fiscal basis for a broad start value."},"targetDate":{"description":"Planned target/end date (ISO-8601 string), or `null` when unscheduled.","anyOf":[{"type":"string"},{"type":"null"}]},"targetDateResolution":{"$ref":"#/components/schemas/Sharedf670bad8","description":"Target date resolution for this record."},"targetDateFiscalYearStartMonth":{"anyOf":[{"type":"integer","minimum":0,"maximum":11},{"type":"null"}],"description":"Read-only saved zero-based fiscal basis for a broad target value."},"createdAt":{"type":"string","description":"When the project was created (ISO-8601 timestamp)."},"updatedAt":{"type":"string","description":"Most-recent project update timestamp (ISO-8601 timestamp)."},"labelIds":{"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"description":"Organization-global Labels attached to this Project."},"initiativeIds":{"type":"array","items":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"description":"Initiatives associated with this Project."},"display":{"type":"object","properties":{"subjectType":{"type":"string","enum":["initiative","program","project","task","cycle","milestone","team","label","workStatus"],"description":"Allowed subject type value."},"subjectId":{"type":"string","minLength":1,"description":"Identifies the referenced subject."},"glyph":{"$ref":"#/components/schemas/Shared544ce6a1","description":"Glyph for this record."},"iconKey":{"$ref":"#/components/schemas/Shared4d8111db","description":"Icon key for this record."},"colorKey":{"$ref":"#/components/schemas/Shared2b2b2565","description":"Color key for this record."},"customColor":{"anyOf":[{"type":"string","pattern":"^#[0-9a-f]{6}$"},{"type":"null"}],"description":"Custom color for this record."},"coverImage":{"$ref":"#/components/schemas/Shared961883a6","description":"Cover image for this record."},"customized":{"type":"boolean","description":"Customized for this record."}},"required":["subjectType","subjectId","glyph","iconKey","colorKey","customColor","coverImage","customized"],"description":"Presentation-only icon and semantic color metadata kept outside the Project record."},"milestones":{"type":"array","items":{"$ref":"#/components/schemas/ProjectOverviewMilestone"},"description":"Dated checkpoints plotted as markers along this Project timeline bar."},"taskCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Number of Tasks directly assigned to the Project."},"completedTaskCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Number of directly assigned Tasks that have been completed."},"blockedByIds":{"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"description":"Projects that must complete before this Project can proceed."},"blocksIds":{"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"description":"Projects whose progress depends on this Project."}},"required":["id","organizationId","name","status","priority","teamId","startDateResolution","startDateFiscalYearStartMonth","targetDateResolution","targetDateFiscalYearStartMonth","createdAt","updatedAt","labelIds","initiativeIds","display","milestones","taskCount","completedTaskCount","blockedByIds","blocksIds"],"description":"A Project with display, task-progress, milestone, and dependency context for portfolio views.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","priority":"none","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","startDateResolution":"month","startDateFiscalYearStartMonth":0,"targetDateResolution":"month","targetDateFiscalYearStartMonth":0,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","labelIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"initiativeIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"display":{"subjectType":"initiative","subjectId":"example","glyph":{"kind":"symbol","name":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"},"iconKey":"target","colorKey":"neutral","customColor":"#336699","coverImage":"example","customized":false},"milestones":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","targetDate":"2026-09-19"}],"taskCount":0,"completedTaskCount":0,"blockedByIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"blocksIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"ProjectOverviewMilestone":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The milestone id."},"name":{"type":"string","description":"The milestone name shown at its marker."},"targetDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The milestone's target date (ISO-8601) — where its marker sits on the timeline — or `null` when undated."}},"required":["id","name","targetDate"],"description":"A dated checkpoint marker on a Project timeline bar.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","targetDate":"2026-09-19"}},"DetailViewer":{"type":"object","properties":{"actorId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."}},"required":["actorId"],"additionalProperties":false,"description":"Authenticated actor identity for a bounded aggregate detail response.","example":{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"DetailCapabilities":{"type":"object","properties":{"comment":{"type":"boolean","description":"Comment for this record."},"contribute":{"type":"boolean","description":"Contribute for this record."},"assign":{"type":"boolean","description":"Assign for this record."},"manage":{"type":"boolean","description":"Manage for this record."}},"required":["comment","contribute","assign","manage"],"additionalProperties":false,"description":"Permission flags for controls visible in an aggregate entity detail response.","example":{"comment":false,"contribute":false,"assign":false,"manage":false}},"DetailActorReference":{"type":"object","properties":{"actorId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"displayName":{"type":"string","description":"Display name for this record."},"avatar":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Avatar for this record."}},"required":["actorId","displayName","avatar"],"additionalProperties":false,"description":"One actor named by an aggregate detail response, without an organization roster.","example":{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","displayName":"example","avatar":"example"}},"ProgramOut":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable unique identifier of the program."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning organization (tenant)."},"name":{"type":"string","description":"Human-readable program name."},"description":{"description":"Free-text description, or `null`/absent when none.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Plain-text summary, or `null` when none."},"ownerId":{"$ref":"#/components/schemas/Shared6fe9b234","description":"Identifies the referenced owner."},"status":{"type":"string","minLength":1,"description":"Current lifecycle status (`active`/`paused`/`archived`)."},"health":{"$ref":"#/components/schemas/Sharedef8752d1","description":"Health for this record."},"visibility":{"type":"string","enum":["public","private"],"description":"Access scope: `public` (all org members) or `private` (grant-only)."},"createdAt":{"type":"string","description":"When the program was created (ISO-8601 timestamp)."}},"required":["id","organizationId","name","summary","status","visibility","createdAt"],"description":"A program.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","summary":"example","status":"example","visibility":"public","createdAt":"2026-09-19T12:00:00.000Z"}},"ProjectInitiativeReference":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"name":{"type":"string","description":"Human-readable name."}},"required":["id","name"],"additionalProperties":false,"description":"A linked Initiative named by a Project detail aggregate.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}},"ProjectProgress":{"type":"object","properties":{"percent":{"$ref":"#/components/schemas/Shared47a94883","description":"Percent for this record."},"completedWeight":{"type":"number","minimum":0,"description":"Summed weight of completed tasks — the estimate sum of completed tasks in estimate mode, or the completed task count in count mode."},"totalWeight":{"$ref":"#/components/schemas/Shared4c96c279","description":"Total weight for this record."},"taskCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Number of tasks in the project, regardless of the progress weighting mode."},"completedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Raw number of completed tasks (those with a `completedAt`), regardless of weighting mode."}},"required":["percent","completedWeight","totalWeight","taskCount","completedCount"],"description":"Weighted completion roll-up for a project.","example":{"percent":0,"completedWeight":0,"totalWeight":0,"taskCount":0,"completedCount":0}},"ProjectRef":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable id of the referenced Project."},"name":{"type":"string","description":"Human-readable Project name."},"status":{"type":"string","minLength":1,"description":"Current Project lifecycle status."},"targetDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Target date when set, otherwise null."}},"required":["id","name","status","targetDate"],"description":"A compact Project reference.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","targetDate":"2026-09-19"}},"MilestoneOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable unique identifier of the milestone."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning organization (tenant) — milestones are org-scoped."},"projectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The Project this milestone belongs to. Immutable after creation."},"name":{"type":"string","description":"Human-readable milestone label."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Long-form note for the milestone, or `null` when none is set."},"targetDate":{"$ref":"#/components/schemas/Shared0802df44","description":"Target date in YYYY-MM-DD format."},"sort":{"$ref":"#/components/schemas/Shareddb291e2a","description":"Sort for this record."},"createdAt":{"type":"string","description":"When the milestone was created (ISO-8601 timestamp)."},"progress":{"$ref":"#/components/schemas/MilestoneProgress","description":"Progress for this record."}},"required":["id","organizationId","projectId","name","description","sort","createdAt","progress"],"description":"A milestone.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","projectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","description":"example","sort":0,"createdAt":"2026-09-19T12:00:00.000Z","progress":{"total":0,"completed":0}}},"MilestoneProgress":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Visible, non-archived Tasks on this milestone."},"completed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many of those Tasks are completed."}},"required":["total","completed"],"description":"A milestone's visible Task totals.","example":{"total":0,"completed":0}},"TaskOut":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"sourcePeople":{"$ref":"#/components/schemas/Sharedf273c5a8","description":"Source people for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque task id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning org id (the tenant key)."},"title":{"type":"string","description":"Task title."},"description":{"description":"Long-form body (markdown); null when unset.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"$ref":"#/components/schemas/Shared06c8907b","description":"Short plain-language summary."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning team, whose `workflow_states` define this task's allowed states."},"state":{"type":"string","description":"Current workflow-state key, one of the owning team's `workflow_states` keys (e.g. `backlog`, `in_progress`, `done`)."},"priority":{"type":"string","enum":["none","urgent","high","medium","low"],"description":"Task priority: 'none' | 'low' | 'medium' | 'high' | 'urgent'. Drives sorting and badges."},"assigneeId":{"$ref":"#/components/schemas/Shared47934cc3","description":"Identifies the referenced assignee."},"delegateId":{"$ref":"#/components/schemas/Sharedb4e8f07e","description":"Identifies the referenced delegate."},"projectId":{"$ref":"#/components/schemas/Sharede940eb5b","description":"Identifies the referenced project."},"programId":{"$ref":"#/components/schemas/Shared5804df99","description":"Identifies the referenced program."},"parentTaskId":{"$ref":"#/components/schemas/Shared699a7fc5","description":"Identifies the referenced parent task."},"templateId":{"$ref":"#/components/schemas/Shared4584bd07","description":"Identifies the referenced template."},"autoCompletedBySubtasks":{"type":"boolean","description":"Whether the system completed this task after every direct child ended."},"estimateMinutes":{"description":"Time estimate in minutes; null when unestimated.","anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"startDate":{"$ref":"#/components/schemas/Shared9ff11aa3","description":"Start date in YYYY-MM-DD format."},"dueDate":{"description":"Target due date (ISO date string); null when unset.","anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"$ref":"#/components/schemas/TaskProvenance","description":"Provenance for this record."},"labels":{"$ref":"#/components/schemas/Shared163ef838","description":"Labels for this record."},"createdAt":{"type":"string","description":"Creation timestamp (ISO 8601)."},"updatedAt":{"type":"string","description":"Most-recent task update timestamp (ISO 8601)."}},"required":["id","organizationId","title","teamId","state","priority","autoCompletedBySubtasks","provenance","labels","createdAt","updatedAt"],"description":"A task.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","state":"example","priority":"none","autoCompletedBySubtasks":false,"provenance":{"source":"native"},"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"TaskProvenance":{"type":"object","properties":{"source":{"type":"string","enum":["native","linked"],"description":"Where the task originated: 'native' for a task created in Docket or 'linked' for a task synchronized from an external integration."},"sourceIntegrationId":{"description":"Id of the integration the task was linked from; null for native tasks.","anyOf":[{"type":"string"},{"type":"null"}]},"externalId":{"description":"The task's id in the external system (e.g. the GitHub issue number); null for native tasks.","anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"description":"Deep link to the task in the external system; null for native tasks.","anyOf":[{"type":"string"},{"type":"null"}]},"syncMode":{"description":"How a linked task stays in sync: 'import' (one-time copy, edits diverge) or 'mirror' (kept in continuous sync). Null for native tasks.","anyOf":[{"type":"string","enum":["import","mirror"]},{"type":"null"}]}},"required":["source"],"description":"A task's provenance.","example":{"source":"native"}},"LabelRef":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque label id."},"name":{"type":"string","description":"Label text."},"color":{"type":"string","description":"Palette token key; may be a legacy hex on a mirrored label."}},"required":["id","name","color"],"description":"A label as carried inline on a labeled entity.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}},"LabelOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque label id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning org id (the tenant key)."},"name":{"type":"string","description":"Label text."},"color":{"$ref":"#/components/schemas/Sharedc530595f","description":"Color for this record."},"groupId":{"$ref":"#/components/schemas/Shared322d4ec6","description":"Identifies the referenced group."},"teamId":{"$ref":"#/components/schemas/Shared8bdc6d1a","description":"Identifies the referenced team."},"usageCount":{"$ref":"#/components/schemas/Sharedea9039fd","description":"Usage count."},"external":{"description":"True when this label was mirrored from a connected tool rather than created here.","type":"boolean"},"createdAt":{"type":"string","description":"Creation timestamp (ISO 8601)."}},"required":["id","organizationId","name","color","createdAt"],"description":"A label.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example","createdAt":"2026-09-19T12:00:00.000Z"}},"AttachmentOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque attachment id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning org id (the tenant key)."},"subjectType":{"type":"string","enum":["task","initiative","project"],"description":"Kind of subject the attachment hangs off."},"subjectId":{"type":"string","description":"Id of the subject (the host task) the attachment belongs to."},"kind":{"type":"string","enum":["email","url","calendar_event","file","athena_email"],"description":"Resource kind: 'url', 'email', 'calendar_event', or 'file'."},"title":{"type":"string","description":"Human label for the attachment."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Link target for a `url` attachment; null for integration-backed kinds."},"sourceIntegrationId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Backing integration id for an `email` attachment; null for other kinds."},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"External resource id (e.g. Gmail thread id or Google event id); null for `url`."},"metadata":{"$ref":"#/components/schemas/Shared637f8ff8","description":"Structured metadata supplied with the record."},"fileName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Original filename of a `file` attachment; null for other kinds."},"mimeType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"MIME type of a `file` attachment (drives content-typed download); null otherwise."},"byteSize":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Size in bytes of a `file` attachment; null for other kinds."},"createdAt":{"type":"string","description":"Creation timestamp (ISO 8601); attachments list oldest-first."}},"required":["id","organizationId","subjectType","subjectId","kind","title","url","sourceIntegrationId","externalId","metadata","fileName","mimeType","byteSize","createdAt"],"description":"An attachment on a subject.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectType":"task","subjectId":"example","kind":"email","title":"example","url":"example","sourceIntegrationId":"example","externalId":"example","metadata":{},"fileName":"example","mimeType":"example","byteSize":0,"createdAt":"2026-09-19T12:00:00.000Z"}},"TaskDetail":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"sourcePeople":{"$ref":"#/components/schemas/Sharedf273c5a8","description":"Source people for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque task id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning org id (the tenant key)."},"title":{"type":"string","description":"Task title."},"description":{"description":"Long-form body (markdown); null when unset.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"$ref":"#/components/schemas/Shared06c8907b","description":"Short plain-language summary."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning team, whose `workflow_states` define this task's allowed states."},"state":{"type":"string","description":"Current workflow-state key, one of the owning team's `workflow_states` keys (e.g. `backlog`, `in_progress`, `done`)."},"priority":{"type":"string","enum":["none","urgent","high","medium","low"],"description":"Task priority: 'none' | 'low' | 'medium' | 'high' | 'urgent'. Drives sorting and badges."},"assigneeId":{"$ref":"#/components/schemas/Shared47934cc3","description":"Identifies the referenced assignee."},"delegateId":{"$ref":"#/components/schemas/Sharedb4e8f07e","description":"Identifies the referenced delegate."},"projectId":{"$ref":"#/components/schemas/Sharede940eb5b","description":"Identifies the referenced project."},"programId":{"$ref":"#/components/schemas/Shared5804df99","description":"Identifies the referenced program."},"parentTaskId":{"$ref":"#/components/schemas/Shared2a1294fa","description":"Identifies the referenced parent task."},"templateId":{"$ref":"#/components/schemas/Shared4584bd07","description":"Identifies the referenced template."},"autoCompletedBySubtasks":{"type":"boolean","description":"Whether the system completed this task after every direct child ended."},"estimateMinutes":{"description":"Time estimate in minutes; null when unestimated.","anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"startDate":{"$ref":"#/components/schemas/Shared9ff11aa3","description":"Start date in YYYY-MM-DD format."},"dueDate":{"description":"Target due date (ISO date string); null when unset.","anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"$ref":"#/components/schemas/TaskProvenance","description":"Provenance for this record."},"labels":{"$ref":"#/components/schemas/Shared163ef838","description":"Labels for this record."},"createdAt":{"type":"string","description":"Creation timestamp (ISO 8601)."},"updatedAt":{"type":"string","description":"Most-recent task update timestamp (ISO 8601)."},"milestoneId":{"$ref":"#/components/schemas/Sharedae01e774","description":"Identifies the referenced milestone."},"cycleId":{"$ref":"#/components/schemas/Shared32e28b84","description":"Identifies the referenced cycle."},"estimate":{"description":"Point estimate (integer); null when unestimated.","anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"completedAt":{"description":"When the task entered a completed state (ISO 8601, server-derived); null unless completed.","anyOf":[{"type":"string"},{"type":"null"}]},"canceledAt":{"description":"When the task entered a canceled state (ISO 8601, server-derived); null unless canceled.","anyOf":[{"type":"string"},{"type":"null"}]},"blocking":{"type":"array","items":{"$ref":"#/components/schemas/TaskRef"},"description":"Tasks THIS task blocks (this task is the blocking side of each edge)."},"blockedBy":{"type":"array","items":{"$ref":"#/components/schemas/TaskRef"},"description":"Tasks that block THIS task (this task is the blocked side of each edge)."},"subtasks":{"type":"array","items":{"$ref":"#/components/schemas/TaskRef"},"description":"Active direct children of this task."},"relatedTasks":{"type":"array","items":{"$ref":"#/components/schemas/TaskRef"},"description":"Tasks linked to this task without dependency direction."}},"required":["id","organizationId","title","teamId","state","priority","autoCompletedBySubtasks","provenance","labels","createdAt","updatedAt","blocking","blockedBy","subtasks","relatedTasks"],"description":"A task with its dependencies and subtasks.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","state":"example","priority":"none","autoCompletedBySubtasks":false,"provenance":{"source":"native"},"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","blocking":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}],"blockedBy":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}],"subtasks":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}],"relatedTasks":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}]}},"TaskRef":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Referenced task id."},"title":{"type":"string","description":"Referenced task title, for display without a second fetch."},"state":{"type":"string","description":"Referenced task’s current workflow-state key."},"projectId":{"description":"Referenced task’s project; null when project-less. Lets the UI render cross-project links.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}]}},"required":["id","title","state"],"description":"A task reference with its project.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}},"TaskActivityOut":{"type":"object","properties":{"id":{"type":"string","description":"Stable entry id: a ULID for a recorded change (also the tiebreak for ordering within a millisecond), or the synthetic `created:<taskId>` for the creation entry, which is projected from the task row rather than stored."},"taskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The task this entry belongs to."},"actorId":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}],"description":"WHO made the change; null when the change was system- or automation-generated with no attributable actor."},"actorKind":{"description":"Server-resolved actor kind when legacy activity has no provenance; recorded origin remains authoritative.","type":"string","enum":["human","agent","team"]},"actorName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The acting actor's display name, resolved server-side so the client never resolves an id; null for system/automation entries."},"type":{"$ref":"#/components/schemas/TaskActivityType","description":"Selects the value type."},"category":{"$ref":"#/components/schemas/TaskActivityCategory","description":"Category for this record."},"change":{"anyOf":[{"$ref":"#/components/schemas/TaskActivityChange"},{"type":"null"}],"description":"The field that changed; null when the entry is a comment, timer, session update, or creation."},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display-safe comment text or application-owned event text; null for field changes."},"subjectTaskId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"description":"The child or dependency task responsible for a propagated entry; null for a direct task entry."},"subjectTaskTitle":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The title of `subjectTaskId` at read time; null for direct task entries."},"createdAt":{"type":"string","description":"Exact ISO-8601 timestamp the change was recorded — the ascending sort key."},"origin":{"anyOf":[{"$ref":"#/components/schemas/ActivityOrigin"},{"type":"null"}],"description":"Where the change came from: its channel and who performed it. Null when the source did not record provenance."},"agentIconUrl":{"description":"Server-resolved registered agent avatar or authenticated client logo; absent when no artwork is available.","anyOf":[{"type":"string"},{"type":"null"}]},"sessionEvent":{"description":"Session contribution role: authored update, historical question/error, or mechanical execution detail.","type":"string","enum":["update","question","error","change"]},"session":{"description":"Explicitly recorded agent correlation; absent for uncorrelated activity and human comments.","anyOf":[{"$ref":"#/components/schemas/TaskActivitySession"},{"type":"null"}]},"commentEdit":{"description":"The last editor of a comment body; null for unedited comments.","anyOf":[{"type":"object","properties":{"at":{"type":"string","description":"At for this record."},"actorId":{"$ref":"#/components/schemas/Sharedd3cc5dd4","description":"Identifies the referenced actor."},"actorName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Actor name for this record."},"origin":{"anyOf":[{"$ref":"#/components/schemas/ActivityOrigin"},{"type":"null"}],"description":"Origin for this record."}},"required":["at","actorId","actorName","origin"]},{"type":"null"}]}},"required":["id","taskId","actorId","actorName","type","category","change","body","subjectTaskId","subjectTaskTitle","createdAt","origin"],"description":"An entry in a task's metadata activity log.","example":{"id":"example","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","actorName":"example","type":"created","category":"task","change":{"field":"example","label":"example","from":"example","to":"example"},"body":"example","subjectTaskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectTaskTitle":"example","createdAt":"2026-09-19T12:00:00.000Z","origin":{"channel":"app","surface":"home","performerKind":"person","performerName":"example","clientName":"example","provider":"example"}}},"TaskActivityType":{"type":"string","enum":["created","updated","comment","timer","session","child","dependency"],"description":"The durable source shape for a task Activity entry. It lets a client render content without splitting the record into comment, history, timer, or session surfaces.","example":"created"},"TaskActivityCategory":{"type":"string","enum":["task","comment","time","resource","relationship","subtask","automation"],"description":"A filter category within one task Activity history. Categories narrow one chronological list and never select a separate feed.","example":"task"},"TaskActivityChange":{"type":"object","properties":{"field":{"type":"string","description":"Stable machine key for the changed field (e.g. `state`, `assigneeId`, `startDate`) — safe to branch on; never rendered."},"label":{"type":"string","description":"Display label for the changed field, such as \"Status\", \"Assignee\", or \"Anticipated start\"."},"from":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display-ready previous value, resolved at write time; null when it was unset."},"to":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display-ready new value, resolved at write time; null when the field was cleared."}},"required":["field","label","from","to"],"description":"A single before/after field change on a task.","example":{"field":"example","label":"example","from":"example","to":"example"}},"ActivityOrigin":{"type":"object","properties":{"channel":{"$ref":"#/components/schemas/ProvenanceChannel","description":"Channel for this record."},"surface":{"anyOf":[{"$ref":"#/components/schemas/ProvenanceSurface"},{"type":"null"}],"description":"Surface for this record."},"performerKind":{"$ref":"#/components/schemas/Sharedefee25e6","description":"Performer kind for this record."},"performerName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the performer. Null when the performer is the member who acted."},"clientName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The MCP or API client, when there is one."},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The connected tool behind a `sync` or `import` change."}},"required":["channel","surface","performerKind","performerName","clientName","provider"],"description":"Where an activity entry’s change came from.","example":{"channel":"app","surface":"home","performerKind":"person","performerName":"example","clientName":"example","provider":"example"}},"ProvenanceChannel":{"type":"string","enum":["app","athena","mcp","api","email","sync","import","rule"],"description":"How the change entered Docket: `app` (the Docket app), `athena` (Docket’s assistant), `mcp` (an MCP client), `api` (the REST API), `email` (mail accepted as work), `sync` (a connected tool’s ongoing sync), `import` (a one-time import), or `rule` (a schedule or rule Docket runs).","example":"app"},"ProvenanceSurface":{"type":"string","enum":["home","inbox","detail","list","canvas","plan","calendar","capture","settings","chat","session","phone","recurrence","routing","cycle_roll","calendar_link","time_anchor"],"description":"Where inside the channel the change happened, when the channel has places.","example":"home"},"TaskActivitySession":{"type":"object","properties":{"id":{"type":"string","description":"Opaque task- and caller-qualified correlation identity."},"kind":{"type":"string","enum":["native","work","connection"],"description":"Durable native session, explicit integration work key, or legacy MCP connection."},"title":{"type":"string","description":"Application-owned performer and session label; never implies delegation."}},"required":["id","kind","title"],"example":{"id":"example","kind":"native","title":"example"}},"TaskGraphNode":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Task id; also the node id referenced by graph edges."},"title":{"type":"string","description":"Task title, for the node card label."},"state":{"type":"string","description":"Current workflow-state key, for node coloring/status."},"priority":{"type":"string","enum":["none","urgent","high","medium","low"],"description":"Priority: 'none' | 'low' | 'medium' | 'high' | 'urgent', for node emphasis."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning team id."},"projectId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}],"description":"Project identifier, or null when the task does not belong to a project. This field is always present."},"programId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}],"description":"Program id, or null when the Task is not filed in one. Always present."},"labelIds":{"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"description":"Organization-global Labels attached to this Task."},"assigneeId":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}],"description":"Assignee id, or null when unassigned. Always present (never omitted)."},"parentTaskId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"description":"Parent task id, or null for a top-level task. Drives `subtask` edges. Always present."},"startDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO start date, or null. For schedule-aware layout/overlays. Always present."},"dueDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO due date, or null. Drives overdue/at-risk styling. Always present."},"estimate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Effort points, or null. Weights the critical-path computation. Always present."},"milestoneId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Milestone — a dated checkpoint within a Project."},{"type":"null"}],"description":"Milestone id, or null. For milestone swimlanes. Always present."},"cycleId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Cycle — a time-boxed iteration (sprint) Tasks can be scheduled into."},{"type":"null"}],"description":"Cycle id, or null. For cycle swimlanes. Always present."}},"required":["id","title","state","priority","teamId","projectId","programId","labelIds","assigneeId","parentTaskId","startDate","dueDate","estimate","milestoneId","cycleId"],"description":"A task node in the dependency graph.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example","priority":"none","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","projectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","programId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","labelIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"assigneeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentTaskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","startDate":"2026-09-19","dueDate":"2026-09-19","estimate":0,"milestoneId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","cycleId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"TaskGraphEdge":{"type":"object","properties":{"id":{"type":"string","description":"Stable synthetic edge key: `dep:<source>:<target>` for dependencies, `sub:<parent>:<child>` for subtasks."},"source":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Source node id. For `dependency` the blocking task; for `subtask` the parent task."},"target":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Target node id. For `dependency` the blocked task; for `subtask` the child task."},"kind":{"type":"string","enum":["dependency","subtask"],"description":"Edge type: 'dependency' (`source` blocks `target`) or 'subtask' (`source` is the parent of `target`)."}},"required":["id","source","target","kind"],"description":"A directed dependency or subtask edge.","example":{"id":"example","source":"01ARZ3NDEKTSV4RRFFQ69G5FAV","target":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"dependency"}},"InitiativeOverviewItem":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable unique identifier of the initiative."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning organization (tenant)."},"name":{"type":"string","description":"Human-readable initiative name."},"description":{"description":"Free-text description, or `null`/absent when none.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Plain-text summary, or `null` when none."},"ownerId":{"$ref":"#/components/schemas/Shared6fe9b234","description":"Identifies the referenced owner."},"leadTeamId":{"$ref":"#/components/schemas/Shared95b2fc3a","description":"Identifies the referenced lead team."},"status":{"type":"string","minLength":1,"description":"The manually owned lifecycle status."},"priority":{"type":"string","enum":["none","low","medium","high"],"description":"The Initiative priority."},"updateCadence":{"type":"string","enum":["weekly","biweekly","monthly","quarterly","none"],"description":"The expected narrative update interval."},"targetDate":{"description":"Planned completion date (ISO-8601 string), or `null` when undated.","anyOf":[{"type":"string"},{"type":"null"}]},"targetDateResolution":{"$ref":"#/components/schemas/Sharedf670bad8","description":"Target date resolution for this record."},"targetDateFiscalYearStartMonth":{"anyOf":[{"type":"integer","minimum":0,"maximum":11},{"type":"null"}],"description":"Read-only saved zero-based fiscal basis for a broad target value."},"health":{"$ref":"#/components/schemas/Shared46791df6","description":"Health for this record."},"createdAt":{"type":"string","description":"When the initiative was created (ISO-8601 timestamp)."},"display":{"type":"object","properties":{"subjectType":{"type":"string","enum":["initiative","program","project","task","cycle","milestone","team","label","workStatus"],"description":"Allowed subject type value."},"subjectId":{"type":"string","minLength":1,"description":"Identifies the referenced subject."},"glyph":{"$ref":"#/components/schemas/Shared544ce6a1","description":"Glyph for this record."},"iconKey":{"$ref":"#/components/schemas/Shared4d8111db","description":"Icon key for this record."},"colorKey":{"$ref":"#/components/schemas/Shared2b2b2565","description":"Color key for this record."},"customColor":{"anyOf":[{"type":"string","pattern":"^#[0-9a-f]{6}$"},{"type":"null"}],"description":"Custom color for this record."},"coverImage":{"$ref":"#/components/schemas/Shared961883a6","description":"Cover image for this record."},"customized":{"type":"boolean","description":"Customized for this record."}},"required":["subjectType","subjectId","glyph","iconKey","colorKey","customColor","coverImage","customized"],"description":"Display for this record."},"organizationName":{"type":"string","description":"Organization name for this record."},"parentInitiativeId":{"$ref":"#/components/schemas/Sharedc8d25964","description":"Identifies the referenced parent initiative."},"parentLinkId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"A 26-char Crockford base-32 ULID matching `^[0-9A-HJKMNP-TV-Z]{26}$`.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},{"type":"null"}],"description":"Id of the hierarchy edge tying this row to its parent, or null at the root. The client uses it to move (PATCH) or remove (DELETE) the edge when reparenting."},"depth":{"type":"integer","minimum":1,"maximum":5,"description":"Depth for this record."},"childCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Child count."},"ownerName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Owner name for this record."},"lastUpdateAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Last update time as an ISO 8601 instant."}},"required":["id","organizationId","name","summary","status","priority","updateCadence","targetDateResolution","targetDateFiscalYearStartMonth","createdAt","display","organizationName","parentInitiativeId","parentLinkId","depth","childCount","ownerName","lastUpdateAt"],"description":"One Initiative in the hierarchy overview.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","summary":"example","status":"example","priority":"none","updateCadence":"weekly","targetDateResolution":"month","targetDateFiscalYearStartMonth":0,"createdAt":"2026-09-19T12:00:00.000Z","display":{"subjectType":"initiative","subjectId":"example","glyph":{"kind":"symbol","name":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"},"iconKey":"target","colorKey":"neutral","customColor":"#336699","coverImage":"example","customized":false},"organizationName":"example","parentInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentLinkId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","depth":1,"childCount":0,"ownerName":"example","lastUpdateAt":"2026-09-19T12:00:00.000Z"}},"InitiativeDirectParentReference":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"name":{"type":"string","description":"Human-readable name."}},"required":["id","organizationId","name"],"additionalProperties":false,"description":"The visible direct parent named by an Initiative detail aggregate.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}},"InitiativeDetail":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable unique identifier of the initiative."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning organization (tenant)."},"name":{"type":"string","description":"Human-readable initiative name."},"description":{"description":"Free-text description, or `null`/absent when none.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Plain-text summary, or `null` when none."},"ownerId":{"$ref":"#/components/schemas/Shared6fe9b234","description":"Identifies the referenced owner."},"leadTeamId":{"$ref":"#/components/schemas/Shared95b2fc3a","description":"Identifies the referenced lead team."},"status":{"type":"string","minLength":1,"description":"The manually owned lifecycle status."},"priority":{"type":"string","enum":["none","low","medium","high"],"description":"The Initiative priority."},"updateCadence":{"type":"string","enum":["weekly","biweekly","monthly","quarterly","none"],"description":"The expected narrative update interval."},"targetDate":{"description":"Planned completion date (ISO-8601 string), or `null` when undated.","anyOf":[{"type":"string"},{"type":"null"}]},"targetDateResolution":{"$ref":"#/components/schemas/Sharedf670bad8","description":"Target date resolution for this record."},"targetDateFiscalYearStartMonth":{"anyOf":[{"type":"integer","minimum":0,"maximum":11},{"type":"null"}],"description":"Read-only saved zero-based fiscal basis for a broad target value."},"health":{"$ref":"#/components/schemas/Shared46791df6","description":"Health for this record."},"createdAt":{"type":"string","description":"When the initiative was created (ISO-8601 timestamp)."},"childMix":{"$ref":"#/components/schemas/InitiativeChildMix","description":"Child mix for this record."},"distribution":{"$ref":"#/components/schemas/InitiativeHealthDistribution","description":"Distribution for this record."},"rolledUpHealth":{"$ref":"#/components/schemas/Sharedd614fa55","description":"Rolled up health for this record."}},"required":["id","organizationId","name","summary","status","priority","updateCadence","targetDateResolution","targetDateFiscalYearStartMonth","createdAt","childMix","distribution","rolledUpHealth"],"description":"An initiative with its child roll-up.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","summary":"example","status":"example","priority":"none","updateCadence":"weekly","targetDateResolution":"month","targetDateFiscalYearStartMonth":0,"createdAt":"2026-09-19T12:00:00.000Z","childMix":{"programs":0,"projects":0},"distribution":{"onTrack":0,"atRisk":0,"offTrack":0,"unknown":0},"rolledUpHealth":"on_track"}},"InitiativeChildMix":{"type":"object","properties":{"programs":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Number of associated Programs (via `initiative_program` edges)."},"projects":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Number of associated Projects (via `initiative_project` edges)."}},"required":["programs","projects"],"description":"An initiative's program/project counts.","example":{"programs":0,"projects":0}},"InitiativeHealthDistribution":{"type":"object","properties":{"onTrack":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count of associated children (Projects + Programs) whose `health` is `on_track`."},"atRisk":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count of associated children whose `health` is `at_risk`."},"offTrack":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count of associated children whose `health` is `off_track`."},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count of associated children that carry no `health` verdict yet (counted here rather than silently treated as on-track)."}},"required":["onTrack","atRisk","offTrack","unknown"],"description":"Counts of an initiative's children per health bucket.","example":{"onTrack":0,"atRisk":0,"offTrack":0,"unknown":0}},"UpdateOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque update id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning org id (the tenant key)."},"authorId":{"$ref":"#/components/schemas/Shared0ba48a6e","description":"Identifies the referenced author."},"origin":{"description":"The recorded performer; null for older updates.","anyOf":[{"$ref":"#/components/schemas/ActivityOrigin"},{"type":"null"}]},"subjectType":{"type":"string","enum":["project","program","initiative"],"description":"Kind of subject: 'project' | 'program' | 'initiative'."},"subjectId":{"type":"string","description":"Id of the subject the update is about."},"health":{"$ref":"#/components/schemas/Shared67c1b2ee","description":"Health for this record."},"body":{"type":"string","description":"The update narrative (markdown)."},"createdAt":{"type":"string","description":"Creation timestamp (ISO 8601); updates list newest-first."}},"required":["id","organizationId","subjectType","subjectId","body","createdAt"],"description":"A status update.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectType":"project","subjectId":"example","body":"example","createdAt":"2026-09-19T12:00:00.000Z"}},"InitiativeHierarchyCandidate":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"organizationName":{"type":"string","description":"Organization name for this record."},"name":{"type":"string","description":"Human-readable name."},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Short plain-language summary."},"status":{"$ref":"#/components/schemas/Sharedaa937908","description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared87b03b06","description":"Health for this record."},"crossWorkspace":{"type":"boolean","description":"Cross workspace for this record."},"appearsInContext":{"type":"boolean","description":"Appears in context for this record."},"parentInitiativeId":{"$ref":"#/components/schemas/Sharedc8d25964","description":"Identifies the referenced parent initiative."},"parentLinkId":{"$ref":"#/components/schemas/Shared5981f796","description":"Identifies the referenced parent link."}},"required":["id","organizationId","organizationName","name","summary","status","health","crossWorkspace","appearsInContext","parentInitiativeId","parentLinkId"],"description":"An accessible Initiative option projected into one route hierarchy context.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationName":"example","name":"example","summary":"example","status":"example","health":"on_track","crossWorkspace":false,"appearsInContext":false,"parentInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentLinkId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"InitiativeOut":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable unique identifier of the initiative."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning organization (tenant)."},"name":{"type":"string","description":"Human-readable initiative name."},"description":{"description":"Free-text description, or `null`/absent when none.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Plain-text summary, or `null` when none."},"ownerId":{"$ref":"#/components/schemas/Shared6fe9b234","description":"Identifies the referenced owner."},"leadTeamId":{"$ref":"#/components/schemas/Shared95b2fc3a","description":"Identifies the referenced lead team."},"status":{"type":"string","minLength":1,"description":"The manually owned lifecycle status."},"priority":{"type":"string","enum":["none","low","medium","high"],"description":"The Initiative priority."},"updateCadence":{"type":"string","enum":["weekly","biweekly","monthly","quarterly","none"],"description":"The expected narrative update interval."},"targetDate":{"description":"Planned completion date (ISO-8601 string), or `null` when undated.","anyOf":[{"type":"string"},{"type":"null"}]},"targetDateResolution":{"$ref":"#/components/schemas/Sharedf670bad8","description":"Target date resolution for this record."},"targetDateFiscalYearStartMonth":{"anyOf":[{"type":"integer","minimum":0,"maximum":11},{"type":"null"}],"description":"Read-only saved zero-based fiscal basis for a broad target value."},"health":{"$ref":"#/components/schemas/Shared46791df6","description":"Health for this record."},"createdAt":{"type":"string","description":"When the initiative was created (ISO-8601 timestamp)."}},"required":["id","organizationId","name","summary","status","priority","updateCadence","targetDateResolution","targetDateFiscalYearStartMonth","createdAt"],"description":"An initiative.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","summary":"example","status":"example","priority":"none","updateCadence":"weekly","targetDateResolution":"month","targetDateFiscalYearStartMonth":0,"createdAt":"2026-09-19T12:00:00.000Z"}},"InitiativeTimelineLane":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The associated Program this lane represents."},"name":{"type":"string","description":"The Program’s display name."},"status":{"type":"string","description":"The Program’s status (`active`/`paused`/`archived`)."},"health":{"anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda","description":"Health for this record."},{"type":"null"}],"description":"The Program’s health verdict, or `null` when unset."}},"required":["id","name","status","health"],"description":"A program lane on an initiative timeline.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","health":"on_track"}},"InitiativeTimelineBar":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The associated Project this bar represents."},"name":{"type":"string","description":"The Project’s display name."},"status":{"type":"string","description":"The Project’s lifecycle status (`planned`/`active`/`completed`/`canceled`)."},"health":{"anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda","description":"Health for this record."},{"type":"null"}],"description":"The Project’s health verdict, or `null` when unset."},"startDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO start date (the bar’s left edge), or `null` when the Project is unscheduled."},"startDateResolution":{"anyOf":[{"type":"string","enum":["month","quarter","halfYear","year"]},{"type":"null"}],"description":"Broad start resolution, or `null` when the start is a precise day or unset."},"startDateFiscalYearStartMonth":{"anyOf":[{"type":"integer","minimum":0,"maximum":11},{"type":"null"}],"description":"Saved zero-based fiscal basis for a broad start value."},"targetDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO target/end date (the bar’s right edge), or `null` when unscheduled."},"targetDateResolution":{"anyOf":[{"type":"string","enum":["month","quarter","halfYear","year"]},{"type":"null"}],"description":"Broad target resolution, or `null` when the target is a precise day or unset."},"targetDateFiscalYearStartMonth":{"anyOf":[{"type":"integer","minimum":0,"maximum":11},{"type":"null"}],"description":"Saved zero-based fiscal basis for a broad target value."}},"required":["id","name","status","health","startDate","startDateResolution","startDateFiscalYearStartMonth","targetDate","targetDateResolution","targetDateFiscalYearStartMonth"],"description":"A project bar on an initiative timeline.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","health":"on_track","startDate":"2026-09-19","startDateResolution":"month","startDateFiscalYearStartMonth":0,"targetDate":"2026-09-19","targetDateResolution":"month","targetDateFiscalYearStartMonth":0}},"ProgramDetail":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable unique identifier of the program."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning organization (tenant)."},"name":{"type":"string","description":"Human-readable program name."},"description":{"description":"Free-text description, or `null`/absent when none.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Plain-text summary, or `null` when none."},"ownerId":{"$ref":"#/components/schemas/Shared6fe9b234","description":"Identifies the referenced owner."},"status":{"type":"string","minLength":1,"description":"Current lifecycle status (`active`/`paused`/`archived`)."},"health":{"$ref":"#/components/schemas/Sharedef8752d1","description":"Health for this record."},"visibility":{"type":"string","enum":["public","private"],"description":"Access scope: `public` (all org members) or `private` (grant-only)."},"createdAt":{"type":"string","description":"When the program was created (ISO-8601 timestamp)."},"rollup":{"$ref":"#/components/schemas/ProgramRollup","description":"Rollup for this record."}},"required":["id","organizationId","name","summary","status","visibility","createdAt","rollup"],"description":"A program with its child-work roll-up.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","summary":"example","status":"example","visibility":"public","createdAt":"2026-09-19T12:00:00.000Z","rollup":{"projects":0,"tasks":0}}},"ProgramRollup":{"type":"object","properties":{"projects":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Number of Projects whose `program_id` is this Program."},"tasks":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Number of active (non-archived) Tasks under this Program — attached directly via `task.program_id` OR belonging to one of the Program’s Projects (the union, de-duplicated)."}},"required":["projects","tasks"],"description":"A program's child-work counts.","example":{"projects":0,"tasks":0}},"ProgramWorkGroup":{"type":"object","properties":{"cycle":{"$ref":"#/components/schemas/ProgramCycleRef","description":"Cycle for this record."},"segments":{"type":"array","items":{"$ref":"#/components/schemas/ProgramWorkSegment"},"description":"The per-project segments of work within this cycle."}},"required":["cycle","segments"],"description":"A cycle group of a program work view.","example":{"cycle":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"segments":[{"project":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"tasks":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","state":"example","priority":"none","autoCompletedBySubtasks":false,"provenance":{"source":"native"},"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}]}},"ProgramCycleRef":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Cycle — a time-boxed iteration (sprint) Tasks can be scheduled into."},{"type":"null"}],"description":"The cycle id, or `null` for the \"no cycle\" group (unscheduled tasks)."},"name":{"description":"The cycle’s author-set name, when it has one (cycles may be unnamed).","anyOf":[{"type":"string"},{"type":"null"}]},"displayName":{"description":"The name to render for this cycle — the author-set `name`, else the cycle’s window dates. Present only when grouped under a real cycle.","anyOf":[{"type":"string"},{"type":"null"}]},"number":{"description":"The cycle’s auto-roll sequence key, present only when grouped under a real cycle. Internal ordering key — never render it.","anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["id"],"description":"A cycle reference within a program work view.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"ProgramWorkSegment":{"type":"object","properties":{"project":{"$ref":"#/components/schemas/ProgramProjectRef","description":"Project for this record."},"tasks":{"type":"array","items":{"$ref":"#/components/schemas/TaskOut"},"description":"The tasks in this project within the enclosing cycle group, newest-first."}},"required":["project","tasks"],"description":"A project segment of a program work group.","example":{"project":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"tasks":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","state":"example","priority":"none","autoCompletedBySubtasks":false,"provenance":{"source":"native"},"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}},"ProgramProjectRef":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}],"description":"The project id, or `null` for the \"no project\" segment (tasks attached straight to the Program)."},"name":{"description":"The project’s display name, present when segmented under a real project.","anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"description":"A project reference within a program work view.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"UpdateAuthorReference":{"type":"object","properties":{"actorId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"displayName":{"type":"string","description":"Display name for this record."},"avatar":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Avatar for this record."},"kind":{"type":"string","enum":["human","agent","team"],"description":"Selects the value variant."}},"required":["actorId","displayName","avatar","kind"],"additionalProperties":false,"description":"Named author for a deferred update feed.","example":{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","displayName":"example","avatar":"example","kind":"human"}},"CycleDetail":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable unique identifier of the cycle."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning organization (tenant)."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The team this cycle belongs to. Immutable after creation."},"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Team-local sequence number (unique per team)."},"name":{"description":"Display name, or `null`/absent when the cycle is unnamed.","anyOf":[{"type":"string"},{"type":"null"}]},"displayName":{"type":"string","description":"Human-readable name to render: the author-set `name`, else the cycle window dates."},"startsAt":{"type":"string","description":"Window start (ISO-8601 timestamp)."},"endsAt":{"type":"string","description":"Window end (ISO-8601 timestamp)."},"status":{"type":"string","enum":["upcoming","active","completed"],"description":"Current status (`upcoming`/`active`/`completed`)."},"isCurrent":{"$ref":"#/components/schemas/Shared6ef9223a","description":"Whether current."},"createdAt":{"type":"string","description":"When the cycle was created, as an ISO 8601 timestamp."},"stats":{"$ref":"#/components/schemas/CycleStats","description":"Stats for this record."}},"required":["id","organizationId","teamId","number","displayName","startsAt","endsAt","status","createdAt","stats"],"description":"A cycle with its rolled-up stats.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":0,"displayName":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","status":"upcoming","createdAt":"2026-09-19T12:00:00.000Z","stats":{"committed":0,"completed":0,"capacity":0,"completedCapacity":0,"scopeChange":0,"carryover":0}}},"CycleStats":{"type":"object","properties":{"committed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Count of active tasks currently committed to the cycle."},"completed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Count of committed tasks whose workflow state is terminal-completed (`completed_at` is set)."},"capacity":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Planned effort: the sum of the committed tasks’ `estimate` points (unestimated tasks contribute 0)."},"completedCapacity":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The estimate sum of the completed subset — the burndown’s \"done\" weight."},"scopeChange":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Count of tasks added to the cycle after `starts_at` (mid-cycle scope creep), inferred from `task.created_at > cycle.starts_at`."},"carryover":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Count of still-incomplete committed tasks — what would roll over if the cycle closed now."}},"required":["committed","completed","capacity","completedCapacity","scopeChange","carryover"],"description":"A cycle's rolled-up pace stats.","example":{"committed":0,"completed":0,"capacity":0,"completedCapacity":0,"scopeChange":0,"carryover":0}},"CycleOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable unique identifier of the cycle."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning organization (tenant)."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The team this cycle belongs to. Immutable after creation."},"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Team-local sequence number (unique per team)."},"name":{"description":"Display name, or `null`/absent when the cycle is unnamed.","anyOf":[{"type":"string"},{"type":"null"}]},"displayName":{"type":"string","description":"Human-readable name to render: the author-set `name`, else the cycle window dates."},"startsAt":{"type":"string","description":"Window start (ISO-8601 timestamp)."},"endsAt":{"type":"string","description":"Window end (ISO-8601 timestamp)."},"status":{"type":"string","enum":["upcoming","active","completed"],"description":"Current status (`upcoming`/`active`/`completed`)."},"isCurrent":{"$ref":"#/components/schemas/Shared6ef9223a","description":"Whether current."},"createdAt":{"type":"string","description":"When the cycle was created, as an ISO 8601 timestamp."}},"required":["id","organizationId","teamId","number","displayName","startsAt","endsAt","status","createdAt"],"description":"A cycle.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":0,"displayName":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","status":"upcoming","createdAt":"2026-09-19T12:00:00.000Z"}},"CycleTaskGroup":{"type":"object","properties":{"projectId":{"description":"The grouping Project id when `groupBy=project` (the request axis), or `null` for the \"no project\" bucket. Present only on project-grouped responses.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}]},"programId":{"description":"The grouping Program id when `groupBy=program`, or `null` for the \"no program\" bucket. Present only on program-grouped responses. Exactly one of `projectId`/`programId` is populated per response, matching the request.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}]},"tasks":{"type":"array","items":{"$ref":"#/components/schemas/TaskOut"},"description":"The committed tasks in this group."}},"required":["tasks"],"description":"A group of a cycle’s committed tasks.","example":{"tasks":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","state":"example","priority":"none","autoCompletedBySubtasks":false,"provenance":{"source":"native"},"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}},"CycleBurnupPoint":{"type":"object","properties":{"date":{"type":"string","description":"The calendar day (`YYYY-MM-DD`, UTC) this point covers."},"planned":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Cumulative planned effort (capacity) known as of this day — rises as scope is added mid-cycle."},"completed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Cumulative completed effort whose `completed_at` falls on or before the end of this day."},"remaining":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"`planned - completed` as of this day — the open distance to the plan line."}},"required":["date","planned","completed","remaining"],"description":"One day on a cycle burn-up line.","example":{"date":"2026-09-19","planned":0,"completed":0,"remaining":0}},"CycleScopeChange":{"type":"object","properties":{"taskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The task that was added to the cycle after it started."},"addedAt":{"type":"string","description":"When it joined the cycle — its `created_at` (ISO-8601 timestamp)."},"estimate":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The effort it added to the plan — its estimate, or 0 if unestimated."}},"required":["taskId","addedAt","estimate"],"description":"A mid-cycle scope addition.","example":{"taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","addedAt":"2026-09-19T12:00:00.000Z","estimate":0}},"CycleCarryoverDecision":{"type":"object","properties":{"taskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The incomplete committed task this decision applies to. Must be an incomplete task currently on the cycle being closed (a completed/unrelated/cross-tenant id is rejected with 422)."},"action":{"type":"string","enum":["keep","move","triage"],"description":"What to do with the task (`keep`/`move`/`triage`)."},"targetCycleId":{"description":"Required when `action` is `move`: the destination cycle. Must be a DIFFERENT cycle on the SAME team within the org (never the cycle being closed, never cross-team). Ignored for `keep`/`triage`.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"}},"required":["taskId","action"],"description":"A per-task carryover decision.","example":{"taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","action":"keep"}},"WorkStatusSetOut":{"type":"object","properties":{"entityType":{"$ref":"#/components/schemas/Shared61cc11ea","description":"Entity type for this record."},"teamId":{"$ref":"#/components/schemas/Shared31176f59","description":"Identifies the referenced team."},"forked":{"type":"boolean","description":"Whether this team keeps its own Task statuses. False means the team follows the workspace set and changes to it apply here."},"statuses":{"type":"array","items":{"$ref":"#/components/schemas/WorkStatusOut"},"description":"The set in board order."}},"required":["entityType","teamId","forked","statuses"],"description":"A resolved status set, in board order.","example":{"entityType":"task","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","forked":false,"statuses":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","entityType":"task","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","key":"example","name":"example","description":"example","category":"backlog","position":0,"isDefault":false}]}},"WorkStatusOut":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Shared934224b5","description":"The stable identifier for this resource."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"entityType":{"$ref":"#/components/schemas/Shared61cc11ea","description":"Entity type for this record."},"teamId":{"$ref":"#/components/schemas/Sharedc94bd3a5","description":"Identifies the referenced team."},"key":{"$ref":"#/components/schemas/Sharedfea4a7bf","description":"Stable machine-readable key."},"name":{"type":"string","minLength":1,"maxLength":60,"description":"Display name shown on work items, pickers, and group headers."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What this status means, shown when choosing between statuses."},"category":{"$ref":"#/components/schemas/Shared63ac0b06","description":"Selects the value type."},"position":{"$ref":"#/components/schemas/Sharedc7a97878","description":"Stable position in the current ordering."},"isDefault":{"type":"boolean","description":"Whether new work of this kind starts in this status. Exactly one per set."}},"required":["id","organizationId","entityType","teamId","key","name","description","category","position","isDefault"],"description":"One status in a workspace’s set.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","entityType":"task","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","key":"example","name":"example","description":"example","category":"backlog","position":0,"isDefault":false}},"LabelGroupOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque label group id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning org id (the tenant key)."},"name":{"type":"string","description":"Group name."},"exclusive":{"type":"boolean","description":"True when applying one member releases the others (a single-select dimension)."},"sortOrder":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Manual display order within the org."},"teamId":{"$ref":"#/components/schemas/Sharede288c4b1","description":"Identifies the referenced team."},"createdAt":{"type":"string","description":"Creation timestamp (ISO 8601)."}},"required":["id","organizationId","name","exclusive","sortOrder","createdAt"],"description":"A label group.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","exclusive":false,"sortOrder":0,"createdAt":"2026-09-19T12:00:00.000Z"}},"CommentOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque comment id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning org id (the tenant key)."},"authorId":{"$ref":"#/components/schemas/Shared3e18fdc4","description":"Identifies the referenced author."},"origin":{"description":"The recorded performer; null for older comments.","anyOf":[{"$ref":"#/components/schemas/ActivityOrigin"},{"type":"null"}]},"subjectType":{"$ref":"#/components/schemas/Sharedba45ed03","description":"Subject type for this record."},"subjectId":{"type":"string","description":"Id of the subject the comment is attached to."},"body":{"type":"string","description":"Comment text (markdown)."},"parentCommentId":{"$ref":"#/components/schemas/Sharedbb767d1b","description":"Identifies the referenced parent comment."},"editedAt":{"description":"When the body was last edited (ISO 8601); null if never edited.","anyOf":[{"type":"string"},{"type":"null"}]},"editedById":{"$ref":"#/components/schemas/Sharedc46f25d2","description":"Identifies the referenced edited by."},"editedOrigin":{"description":"The recorded performer of the last body edit; null for older comments.","anyOf":[{"$ref":"#/components/schemas/ActivityOrigin"},{"type":"null"}]},"createdAt":{"type":"string","description":"Creation timestamp (ISO 8601); the thread sort key (ascending)."}},"required":["id","organizationId","subjectType","subjectId","body","createdAt"],"description":"A comment.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectType":"task","subjectId":"example","body":"example","createdAt":"2026-09-19T12:00:00.000Z"}},"ViewFilter":{"type":"object","properties":{"field":{"type":"string","description":"Task field the predicate tests (e.g. `state`, `assigneeId`, `priority`, `labels`)."},"op":{"type":"string","enum":["eq","neq","in","nin","gt","lt","contains"],"description":"Comparison operator: 'eq' (=), 'neq' (≠), 'in' (in set), 'nin' (not in set), 'gt' (>), 'lt' (<), 'contains' (substring/membership)."},"value":{"description":"Operand to compare against — a scalar for `eq`/`neq`/`gt`/`lt`/`contains`, an array for `in`/`nin`. Shape depends on `field` and `op`."}},"required":["field","op","value"],"description":"A saved-view filter predicate.","example":{"field":"example","op":"eq","value":null}},"ViewGrouping":{"type":"object","properties":{"by":{"type":"string","description":"Primary grouping field (e.g. `state` for a board, `assigneeId`, `priority`)."},"subBy":{"description":"Optional secondary grouping field nested within each primary group.","type":"string"}},"required":["by"],"description":"A saved-view grouping config.","example":{"by":"example"}},"ViewSort":{"type":"object","properties":{"field":{"type":"string","description":"Task field to sort by (e.g. `priority`, `dueDate`, `createdAt`)."},"order":{"type":"string","enum":["asc","desc"],"description":"Sort direction: 'asc' (ascending) or 'desc' (descending)."}},"required":["field","order"],"description":"A saved-view sort term.","example":{"field":"example","order":"asc"}},"__schema0":{"anyOf":[{"$ref":"#/components/schemas/Shared977cd481"},{"type":"object","properties":{"kind":{"type":"string","enum":["all","any"],"description":"Selects the value variant."},"children":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema0"},"description":"Children, in order."}},"required":["kind","children"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"not","description":"Selects the value variant."},"child":{"$ref":"#/components/schemas/__schema0","description":"Child for this record."}},"required":["kind","child"],"additionalProperties":false}],"example":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"__schema1":{"anyOf":[{"$ref":"#/components/schemas/Sharedf93dfd5e"},{"$ref":"#/components/schemas/Shared82868ad7"},{"$ref":"#/components/schemas/Sharedb5abe84b"}],"example":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"__schema2":{"anyOf":[{"$ref":"#/components/schemas/Shared96f519fe"},{"$ref":"#/components/schemas/Sharedf9597dcc"},{"$ref":"#/components/schemas/Shareda084d0f0"}],"example":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"__schema3":{"anyOf":[{"$ref":"#/components/schemas/Shared4aa4c274"},{"$ref":"#/components/schemas/Shared11eb2185"},{"$ref":"#/components/schemas/Shared8d0905c1"}],"example":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"__schema4":{"anyOf":[{"$ref":"#/components/schemas/Shared96f519fe"},{"type":"object","properties":{"kind":{"type":"string","enum":["all","any"],"description":"Selects the value variant."},"children":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema4"},"description":"Children, in order."}},"required":["kind","children"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"not","description":"Selects the value variant."},"child":{"$ref":"#/components/schemas/__schema4","description":"Child for this record."}},"required":["kind","child"],"additionalProperties":false}],"example":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"__schema5":{"anyOf":[{"$ref":"#/components/schemas/Shared96f519fe"},{"type":"object","properties":{"kind":{"type":"string","enum":["all","any"],"description":"Selects the value variant."},"children":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema5"},"description":"Children, in order."}},"required":["kind","children"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"not","description":"Selects the value variant."},"child":{"$ref":"#/components/schemas/__schema5","description":"Child for this record."}},"required":["kind","child"],"additionalProperties":false}],"example":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"__schema6":{"anyOf":[{"$ref":"#/components/schemas/Shared4aa4c274"},{"type":"object","properties":{"kind":{"type":"string","enum":["all","any"],"description":"Selects the value variant."},"children":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema6"},"description":"Children, in order."}},"required":["kind","children"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"not","description":"Selects the value variant."},"child":{"$ref":"#/components/schemas/__schema6","description":"Child for this record."}},"required":["kind","child"],"additionalProperties":false}],"example":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"__schema7":{"anyOf":[{"$ref":"#/components/schemas/Shared4aa4c274"},{"type":"object","properties":{"kind":{"type":"string","enum":["all","any"],"description":"Selects the value variant."},"children":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema7"},"description":"Children, in order."}},"required":["kind","children"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"not","description":"Selects the value variant."},"child":{"$ref":"#/components/schemas/__schema7","description":"Child for this record."}},"required":["kind","child"],"additionalProperties":false}],"example":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"TaskCreate":{"type":"object","properties":{"blueprint":{"$ref":"#/components/schemas/Shareda0719e23","description":"Blueprint for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"title":{"type":"string","minLength":1,"description":"Task title. Required, non-empty; the primary human label for the work."},"description":{"description":"Optional long-form body for the task (markdown). Omit for a title-only task.","type":"string"},"summary":{"$ref":"#/components/schemas/Shared07587a46","description":"Short plain-language summary."},"teamId":{"$ref":"#/components/schemas/Sharedfb2f898b","description":"Identifies the referenced team."},"state":{"$ref":"#/components/schemas/Shared77d6ca21","description":"Current lifecycle state."},"priority":{"$ref":"#/components/schemas/Shared0a69add3","description":"Priority for this record."},"assigneeId":{"$ref":"#/components/schemas/Sharede072e2ca","description":"Identifies the referenced assignee."},"projectId":{"$ref":"#/components/schemas/Shared492417fa","description":"Identifies the referenced project."},"milestoneId":{"description":"Milestone this task is targeted at. Must belong to the caller's org (and conventionally the same project).","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"cycleId":{"description":"Cycle (sprint/iteration) this task is committed to. Must be a cycle in the caller's org.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"parentTaskId":{"$ref":"#/components/schemas/Shared864646a2","description":"Identifies the referenced parent task."},"templateId":{"description":"Task template this task was created from. Must be a caller-visible task template in the caller’s org.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"relatedTaskIds":{"$ref":"#/components/schemas/Shared315e4946","description":"Related task ids for this record."},"estimate":{"description":"Coarse effort estimate in abstract points (integer). Distinct from `estimateMinutes`.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"estimateMinutes":{"$ref":"#/components/schemas/Shareda9e3bb2c","description":"Estimate minutes for this record."},"startDate":{"$ref":"#/components/schemas/Shared361a2cef","description":"Start date in YYYY-MM-DD format."},"dueDate":{"$ref":"#/components/schemas/Shared6f407f35","description":"Due date in YYYY-MM-DD format."},"labels":{"$ref":"#/components/schemas/Sharedfc14ef4d","description":"Labels for this record."}},"required":["title","teamId"],"description":"Create a task within an organization.","example":{"title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"ProjectCreate":{"type":"object","properties":{"blueprint":{"$ref":"#/components/schemas/Shareda0719e23","description":"Blueprint for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"name":{"type":"string","minLength":1,"description":"Human-readable project name. Required, non-empty."},"summary":{"description":"Optional concise outcome summary, limited to 280 characters.","type":"string","maxLength":280},"description":{"description":"Optional free-text description of the project’s goal/scope.","type":"string"},"leadId":{"description":"Optional project lead (the accountable Actor). Must reference an Actor in the caller’s org (404 otherwise).","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"teamId":{"description":"Optional owning Team. Must reference a Team in the caller’s org (404 otherwise).","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"programId":{"$ref":"#/components/schemas/Shared56ed1e4a","description":"Identifies the referenced program."},"status":{"description":"Optional initial lifecycle status. Defaults to `planned` when omitted.","type":"string","minLength":1},"health":{"$ref":"#/components/schemas/Shared9bfe6c6d","description":"Health for this record."},"priority":{"description":"Optional initial Project priority.","type":"string","enum":["none","urgent","high","medium","low"]},"startDate":{"$ref":"#/components/schemas/Shared2019a908","description":"Start date in YYYY-MM-DD format."},"startDateResolution":{"$ref":"#/components/schemas/Sharedefce9048","description":"Start date resolution for this record."},"targetDate":{"$ref":"#/components/schemas/Sharedcf6c140f","description":"Target date in YYYY-MM-DD format."},"targetDateResolution":{"$ref":"#/components/schemas/Shared4b81d561","description":"Target date resolution for this record."},"initiativeIds":{"$ref":"#/components/schemas/Shared1e29eb5a","description":"Initiative ids for this record."},"labelIds":{"$ref":"#/components/schemas/Shared3582b72f","description":"Label ids for this record."},"milestones":{"$ref":"#/components/schemas/Shared5ca83c16","description":"Milestones for this record."}},"required":["name"],"description":"Create a project within an organization.","example":{"name":"example"}},"InitiativeCreate":{"type":"object","properties":{"blueprint":{"$ref":"#/components/schemas/Shareda0719e23","description":"Blueprint for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"name":{"type":"string","minLength":1,"description":"Human-readable initiative (theme) name. Required, non-empty."},"description":{"description":"Optional free-text description of the theme.","type":"string"},"summary":{"description":"Optional plain-text summary, limited to 280 characters.","type":"string","maxLength":280},"ownerId":{"$ref":"#/components/schemas/Shared49fb329e","description":"Identifies the referenced owner."},"status":{"description":"Initial status. Defaults to `active` when omitted.","type":"string","minLength":1},"priority":{"description":"Initial priority. Defaults to `none` when omitted.","type":"string","enum":["none","low","medium","high"]},"updateCadence":{"description":"Expected update interval. Defaults to `monthly` when omitted.","type":"string","enum":["weekly","biweekly","monthly","quarterly","none"]},"targetDate":{"$ref":"#/components/schemas/Shared523ce5a8","description":"Target date in YYYY-MM-DD format."},"targetDateResolution":{"$ref":"#/components/schemas/Shared4b81d561","description":"Target date resolution for this record."},"health":{"$ref":"#/components/schemas/Shared82c40679","description":"Health for this record."},"labelIds":{"$ref":"#/components/schemas/Shared54fa266a","description":"Label ids for this record."}},"required":["name"],"description":"Create an initiative within an organization.","example":{"name":"example"}},"ProgramCreate":{"type":"object","properties":{"blueprint":{"$ref":"#/components/schemas/Shareda0719e23","description":"Blueprint for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"name":{"type":"string","minLength":1,"description":"Human-readable program name. Required, non-empty."},"description":{"description":"Optional free-text description of the program’s mission/scope.","type":"string"},"summary":{"description":"Optional plain-text summary, limited to 280 characters.","type":"string","maxLength":280},"ownerId":{"description":"Optional owning Actor (the accountable person). Must reference an Actor in the caller’s org.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"status":{"description":"Initial status. Defaults to `active` when omitted.","type":"string","minLength":1},"health":{"$ref":"#/components/schemas/Shared94a73fe8","description":"Health for this record."},"visibility":{"$ref":"#/components/schemas/Shared53fb2ed9","description":"Visibility for this record."}},"required":["name"],"description":"Create a program within an organization.","example":{"name":"example"}},"TemplateOut":{"type":"object","properties":{"workTypeVersionId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},{"type":"null"}],"description":"Identifies the referenced work type version."},"publicationState":{"type":"string","enum":["draft","published","archived"],"description":"Allowed publication state value."},"isBase":{"type":"boolean","description":"Whether base."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque template id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning org id (the tenant key)."},"targetType":{"type":"string","enum":["task","project","initiative","program"],"description":"The kind this template creates."},"name":{"type":"string","description":"The template’s name, shown in the picker."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"One-line description; null when unset."},"scope":{"type":"string","enum":["personal","team","organization"],"description":"Sharing scope: 'personal' | 'team' | 'organization'."},"ownerActorId":{"$ref":"#/components/schemas/Shared1a5d5c88","description":"Identifies the referenced owner actor."},"teamId":{"$ref":"#/components/schemas/Shared11048b9d","description":"Identifies the referenced team."},"payload":{"$ref":"#/components/schemas/Shared554b0d3e","description":"Payload for this record."},"isSeed":{"$ref":"#/components/schemas/Shared57f21d8e","description":"Whether seed."},"createdAt":{"type":"string","description":"Creation timestamp (ISO 8601)."}},"required":["id","organizationId","targetType","name","description","scope","ownerActorId","teamId","payload","isSeed","createdAt"],"description":"A template.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetType":"task","name":"example","description":"example","scope":"personal","ownerActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","payload":{"targetType":"task"},"isSeed":false,"createdAt":"2026-09-19T12:00:00.000Z"}},"TaskTemplateDraft":{"type":"object","properties":{"targetType":{"type":"string","const":"task","description":"Target type for this record."},"title":{"type":"string","description":"Human-readable title."},"description":{"type":"string","description":"Longer plain-language description."},"priority":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."},"labelIds":{"$ref":"#/components/schemas/Shared871ac7bd","description":"Label ids for this record."}},"required":["targetType"],"description":"The reusable starting draft for Task work.","example":{"targetType":"task"}},"ProjectTemplateDraft":{"type":"object","properties":{"targetType":{"type":"string","const":"project","description":"Target type for this record."},"name":{"type":"string","description":"Human-readable name."},"summary":{"type":"string","maxLength":280,"description":"Short plain-language summary."},"description":{"type":"string","description":"Longer plain-language description."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared6a2f1dda","description":"Health for this record."}},"required":["targetType"],"description":"The reusable starting draft for Project work.","example":{"targetType":"project"}},"InitiativeTemplateDraft":{"type":"object","properties":{"targetType":{"type":"string","const":"initiative","description":"Discriminant; must equal the template’s `targetType`."},"name":{"description":"Pre-filled initiative name.","type":"string"},"summary":{"description":"Pre-filled one-line summary.","type":"string","maxLength":280},"description":{"description":"Pre-filled markdown body.","type":"string"},"status":{"description":"Pre-filled lifecycle status.","type":"string","minLength":1},"priority":{"description":"Pre-filled priority.","type":"string","enum":["none","low","medium","high"]},"updateCadence":{"description":"Pre-filled expected update interval — the cadence the template’s framing implies.","type":"string","enum":["weekly","biweekly","monthly","quarterly","none"]},"health":{"description":"Pre-filled health verdict.","type":"string","enum":["on_track","at_risk","off_track"]}},"required":["targetType"],"description":"The draft an Initiative template pre-fills.","example":{"targetType":"initiative"}},"ProgramTemplateDraft":{"type":"object","properties":{"targetType":{"type":"string","const":"program","description":"Target type for this record."},"name":{"type":"string","description":"Human-readable name."},"summary":{"type":"string","maxLength":280,"description":"Short plain-language summary."},"description":{"type":"string","description":"Longer plain-language description."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared6a2f1dda","description":"Health for this record."},"visibility":{"$ref":"#/components/schemas/Shareddbc0dc97","description":"Visibility for this record."}},"required":["targetType"],"description":"The reusable starting draft for Program work.","example":{"targetType":"program"}},"AutomationEventMatch":{"type":"object","properties":{"kind":{"type":"string","minLength":1,"description":"Selects the value variant."},"subjectType":{"type":"string","minLength":1,"description":"Subject type for this record."},"source":{"type":"string","minLength":1,"description":"Source for this record."},"entityKind":{"type":"string","minLength":1,"description":"Entity kind for this record."}},"description":"Event match for an automation rule.","example":{}},"ReferencingRecord":{"type":"object","properties":{"subjectType":{"type":"string","description":"Subject type for this record."},"subjectId":{"type":"string","description":"Identifies the referenced subject."},"title":{"type":"string","description":"Human-readable title."},"href":{"type":"string","description":"URL a client can open."}},"required":["subjectType","subjectId","title","href"],"description":"A record whose prose references the subject.","example":{"subjectType":"example","subjectId":"example","title":"example","href":"example"}},"MemberOut":{"type":"object","properties":{"actorId":{"$ref":"#/components/schemas/Shared1eca808f","description":"Identifies the referenced actor."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The organization this membership belongs to."},"displayName":{"type":"string","description":"The member's display name (seeded from the user's name or email at join time)."},"avatar":{"description":"URL of the member's avatar image; null when none is set.","anyOf":[{"type":"string"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/Shared9000651c","description":"Current lifecycle state."},"roleId":{"$ref":"#/components/schemas/Shared3f0da12e","description":"Identifies the referenced role."},"userId":{"$ref":"#/components/schemas/Shared58935c08","description":"Identifies the referenced user."},"createdAt":{"type":"string","description":"ISO-8601 timestamp of when the member joined the org."}},"required":["actorId","organizationId","displayName","status","createdAt"],"description":"A human member of an organization.","example":{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","displayName":"example","status":"active","createdAt":"2026-09-19T12:00:00.000Z"}},"InvitationOut":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Shared9e08c9da","description":"The stable identifier for this resource."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The organization the invitation grants access to."},"email":{"type":"string","description":"The invitee's email address the accept link was sent to."},"roleId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The id of the org role the invitee will hold once they accept."},"asGuest":{"type":"boolean","description":"True when this is a guest-seat invitation (grant-only access). The opaque token itself is intentionally NOT exposed in this representation."},"status":{"$ref":"#/components/schemas/Sharedfd41399f","description":"Current lifecycle state."},"invitedBy":{"$ref":"#/components/schemas/Sharedb2b67821","description":"Invited by for this record."},"expiresAt":{"$ref":"#/components/schemas/Shared22c59c0c","description":"Expires time as an ISO 8601 instant."},"createdAt":{"type":"string","description":"ISO-8601 timestamp of when the invitation was issued."},"acceptedAt":{"description":"ISO-8601 timestamp of when the invitation was redeemed; null while still pending.","anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","organizationId","email","roleId","asGuest","status","expiresAt","createdAt"],"description":"An organization invitation.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","email":"developer@example.com","roleId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","asGuest":false,"status":"pending","expiresAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z"}},"PersonProfileTask":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The assigned task id."},"title":{"type":"string","description":"The task's title."},"state":{"type":"string","description":"The task's workflow-state key."},"priority":{"type":"string","enum":["none","urgent","high","medium","low"],"description":"The task's priority."},"dueDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 due date, or null when undated."},"projectId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}],"description":"The owning project id, or null."}},"required":["id","title","state","priority","dueDate","projectId"],"description":"A task assigned to a person.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example","priority":"none","dueDate":"2026-09-19","projectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"PersonProfileProject":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The led project id."},"name":{"type":"string","description":"The project's name."},"status":{"type":"string","minLength":1,"description":"The project's lifecycle status."},"health":{"anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda","description":"Health for this record."},{"type":"null"}],"description":"The project's health verdict, or null when unreported."}},"required":["id","name","status","health"],"description":"A project a person leads.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","health":"on_track"}},"PersonProfileInitiative":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owned initiative id."},"name":{"type":"string","description":"The initiative's name."},"status":{"type":"string","minLength":1,"description":"The initiative's lifecycle status."}},"required":["id","name","status"],"description":"An initiative a person owns.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example"}},"RoleOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable ULID identifier of the role."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The organization this role belongs to."},"key":{"type":"string","description":"Immutable, org-unique identifier for the role. The system roles use `owner`/`admin`/`member`/`guest`; custom roles use their chosen slug."},"name":{"type":"string","description":"Human-readable display name (honors the org vocabulary skin)."},"isSystem":{"type":"boolean","description":"True for the four seeded system roles (Owner/Admin/Member/Guest), which cannot be deleted and keep an immutable key. False for custom roles."},"capabilities":{"$ref":"#/components/schemas/Sharedf2064ab3","description":"Capabilities for this record."},"baseCapability":{"$ref":"#/components/schemas/Shared4fab2ea2","description":"Base capability for this record."},"defaultVisibility":{"$ref":"#/components/schemas/Sharedb339226b","description":"Default visibility for this record."},"createdAt":{"type":"string","description":"ISO-8601 timestamp of when the role was created."}},"required":["id","organizationId","key","name","isSystem","capabilities","defaultVisibility","createdAt"],"description":"A role.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","key":"example","name":"example","isSystem":false,"capabilities":["view"],"defaultVisibility":"public","createdAt":"2026-09-19T12:00:00.000Z"}},"GrantOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable ULID identifier of the grant. Used to delete it (`DELETE /:grantId`)."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The organization this grant belongs to."},"subjectKind":{"type":"string","enum":["actor","role"],"description":"Whether the subject is an individual 'actor' or a 'role' bundle."},"subjectId":{"type":"string","description":"Id of the subject — an Actor id or a Role id, per `subjectKind`."},"resourceKind":{"type":"string","enum":["organization","team","initiative","program","project","cycle","task"],"description":"The kind of containment node the grant is attached to."},"resourceId":{"type":"string","description":"Id of the specific resource instance the grant targets."},"capabilities":{"$ref":"#/components/schemas/Shared9da1c030","description":"Capabilities for this record."},"effect":{"$ref":"#/components/schemas/Shared347cf550","description":"Effect for this record."},"cascades":{"$ref":"#/components/schemas/Shared0b3b62fd","description":"Cascades for this record."},"visibilityOverride":{"$ref":"#/components/schemas/Shared0a721ac4","description":"Visibility override for this record."},"visibility":{"type":"string","enum":["public","private"],"description":"The visibility saved on this grant ('public' or 'private')."},"expiresAt":{"description":"ISO-8601 expiry; once past, the grant is inert and ignored by the resolver. Null when the grant never expires.","anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"string","description":"ISO-8601 timestamp of when the grant was created."}},"required":["id","organizationId","subjectKind","subjectId","resourceKind","resourceId","capabilities","effect","cascades","visibility","createdAt"],"description":"A capability grant.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectKind":"actor","subjectId":"example","resourceKind":"organization","resourceId":"example","capabilities":["view"],"effect":"allow","cascades":false,"visibility":"public","createdAt":"2026-09-19T12:00:00.000Z"}},"AgentOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The agent registration id (distinct from the backing Actor id)."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The organization this agent is registered in."},"actorId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The `agent`-kind Actor that backs this agent — the identity it acts and is audited as."},"connection":{"$ref":"#/components/schemas/Shared353dcbfa","description":"Connection for this record."},"approvalPolicy":{"type":"string","enum":["suggest","act_with_approval","autonomous"],"description":"The agent's current autonomy level over its proposed mutations."},"accountableOwnerId":{"$ref":"#/components/schemas/Sharedf35d7214","description":"Identifies the referenced accountable owner."},"guidance":{"description":"Freeform operating guidance threaded to the agent at run time; null when none.","anyOf":[{"type":"string"},{"type":"null"}]},"approvalRouting":{"$ref":"#/components/schemas/Shared70f1e3b9","description":"Approval routing for this record."},"createdAt":{"type":"string","description":"ISO-8601 timestamp the agent was registered."}},"required":["id","organizationId","actorId","approvalPolicy","createdAt"],"description":"A registered agent.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","approvalPolicy":"suggest","createdAt":"2026-09-19T12:00:00.000Z"}},"AgentConnection":{"type":"object","properties":{"endpoint":{"type":"string","description":"The agent runtime's address — the MCP/A2A server URL or the webhook endpoint Docket calls."},"protocol":{"type":"string","enum":["mcp","a2a","webhook"],"description":"Which wire protocol that endpoint speaks."},"credentialsRef":{"description":"An opaque reference to the stored credential used to authenticate to the endpoint; Docket never stores the raw secret, only this pointer.","type":"string"}},"required":["endpoint","protocol"],"description":"An agent runtime's connection metadata.","example":{"endpoint":"example","protocol":"mcp"}},"AgentSessionOut":{"anyOf":[{"$ref":"#/components/schemas/Sharedb8726fc1"},{"$ref":"#/components/schemas/Shared457d7769"}],"description":"A Docket-hosted agent session.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","trigger":"assignment","status":"pending","createdAt":"2026-09-19T12:00:00.000Z","executorKind":"athena","organizationId":null,"agentId":null,"ownerUserId":"example"}},"SessionActivityOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The activity entry id — also the SSE event id on `GET /:id/stream`, usable as `Last-Event-ID` to resume."},"sessionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The session this entry belongs to."},"organizationId":{"$ref":"#/components/schemas/Shared14d27f55","description":"Identifies the referenced organization."},"type":{"type":"string","enum":["thought","action","response","elicitation","error"],"description":"The kind of entry (thought/action/response/elicitation/error)."},"body":{"$ref":"#/components/schemas/Shared9f14798f","description":"Body for this record."},"approvalStatus":{"$ref":"#/components/schemas/Shared2e6df07a","description":"Approval status for this record."},"createdAt":{"type":"string","description":"ISO-8601 timestamp the entry was appended — the stream sort key (ascending)."}},"required":["id","sessionId","organizationId","type","body","createdAt"],"description":"An entry in a session's Activity stream.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sessionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","type":"thought","body":{},"createdAt":"2026-09-19T12:00:00.000Z"}},"ProposalGroupOut":{"type":"object","properties":{"proposalGroupId":{"type":"string","description":"The group id every member shares."},"sessionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning session."},"items":{"type":"array","items":{"$ref":"#/components/schemas/ProposalItemOut"},"description":"The still-`proposed` members, oldest-first."}},"required":["proposalGroupId","sessionId","items"],"description":"A pending agent proposal group.","example":{"proposalGroupId":"example","sessionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","items":[{"activityId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sessionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","proposalGroupId":"example","tool":"example","connection":"example","summary":"example","input":{},"mode":"proposal","ghost":{"title":"example","teamId":"example","projectId":"example","dueDate":"2026-09-19"},"createdAt":"2026-09-19T12:00:00.000Z"}]}},"ProposalItemOut":{"type":"object","properties":{"activityId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The gated `action` activity this proposal lives on."},"sessionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning session."},"proposalGroupId":{"type":"string","description":"The batch this proposal belongs to (one per turn)."},"tool":{"type":"string","description":"The raw tool the proposal would execute (e.g. `create_task`)."},"connection":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The connector; null for Docket's own tools."},"summary":{"type":"string","description":"The human-readable one-line headline."},"input":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The tool input (the ghost-edit target)."},"mode":{"type":"string","enum":["proposal","suggestion"],"description":"`proposal` pauses the session until decided; `suggestion` (suggest-only dial) was recorded without pausing."},"ghost":{"anyOf":[{"$ref":"#/components/schemas/GhostTaskOut"},{"type":"null"}],"description":"The workspace ghost projection when the proposal has a spatial home (a `create_task`); null falls back to the session proposal card."},"createdAt":{"type":"string","description":"ISO-8601 creation instant (group order)."}},"required":["activityId","sessionId","proposalGroupId","tool","connection","summary","input","mode","ghost","createdAt"],"description":"A pending agent proposal, projected for review.","example":{"activityId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sessionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","proposalGroupId":"example","tool":"example","connection":"example","summary":"example","input":{},"mode":"proposal","ghost":{"title":"example","teamId":"example","projectId":"example","dueDate":"2026-09-19"},"createdAt":"2026-09-19T12:00:00.000Z"}},"GhostTaskOut":{"type":"object","properties":{"title":{"type":"string","description":"The proposed task title (editable until approved)."},"teamId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The proposed team, when the input names one."},"projectId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The proposed project, when the input names one."},"dueDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The proposed due date (ISO date), when set."}},"required":["title","teamId","projectId","dueDate"],"description":"The ghost-task projection of a proposal.","example":{"title":"example","teamId":"example","projectId":"example","dueDate":"2026-09-19"}},"ApprovalDecision":{"type":"string","enum":["approved","rejected"],"description":"Approve or reject a gated action.","example":"approved"},"ScheduleComparisonPersonOut":{"type":"object","properties":{"actorId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Workspace actor whose schedule is represented."},"displayName":{"type":"string","description":"Display name for the comparison lane header."},"avatar":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Avatar URL, or null when the actor has none."},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Actor's calendar timezone, when known."},"items":{"type":"array","items":{"$ref":"#/components/schemas/ScheduleComparisonItemOut"},"description":"Visible details or redacted busy windows."}},"required":["actorId","displayName","avatar","timezone","items"],"description":"One workspace member's permission-filtered schedule.","example":{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","displayName":"example","avatar":"example","timezone":"example","items":[{"startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allDayStartDate":"2026-09-19","allDayEndDate":"2026-09-19","access":"busy"}]}},"ScheduleComparisonItemOut":{"oneOf":[{"type":"object","properties":{"startsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Timed start; null for an all-day item."},"endsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Timed end; null for an all-day item."},"allDayStartDate":{"$ref":"#/components/schemas/Sharedaf28c63e","description":"All day start date in YYYY-MM-DD format."},"allDayEndDate":{"$ref":"#/components/schemas/Shared3770e495","description":"All day end date in YYYY-MM-DD format."},"access":{"type":"string","const":"busy","description":"Access for this record."}},"required":["startsAt","endsAt","allDayStartDate","allDayEndDate","access"]},{"type":"object","properties":{"startsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Timed start; null for an all-day item."},"endsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Timed end; null for an all-day item."},"allDayStartDate":{"$ref":"#/components/schemas/Sharedaf28c63e","description":"All day start date in YYYY-MM-DD format."},"allDayEndDate":{"$ref":"#/components/schemas/Shared3770e495","description":"All day end date in YYYY-MM-DD format."},"access":{"type":"string","const":"details","description":"Access for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Visible calendar item id."},"layerId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Visible calendar layer id."},"kind":{"$ref":"#/components/schemas/CalendarItemKind","description":"Selects the value variant."},"title":{"type":"string","description":"Visible item title."}},"required":["startsAt","endsAt","allDayStartDate","allDayEndDate","access","itemId","layerId","kind","title"]}],"description":"A schedule item that structurally omits ids, kind, and title when access is busy-only.","example":{"startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allDayStartDate":"2026-09-19","allDayEndDate":"2026-09-19","access":"busy"}},"CalendarItemKind":{"type":"string","enum":["provider_event","native_event","native_block","timebox","task_timebox","availability_block"],"description":"The kind of time object a calendar item represents: provider events, Docket-native events, legacy native blocks, first-class timeboxes, legacy task timeboxes, or computed availability blocks.","example":"provider_event"},"EmailSuggestionOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an EmailSuggestion — an Athena-synthesized task proposal drawn from an email thread."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"integrationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Integration — a connected external provider/account (calendar, source control, etc.)."},"externalThreadId":{"type":"string","description":"Identifies the referenced external thread."},"title":{"type":"string","description":"Human-readable title."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Longer plain-language description."},"dueDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Due date in YYYY-MM-DD format."},"priority":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."},"suggestedProjectId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced suggested project."},"suggestedProgramId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced suggested program."},"confidence":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Confidence for this record."},"status":{"type":"string","enum":["pending","accepted","dismissed","expired"],"description":"Current lifecycle state."},"emailMeta":{"anyOf":[{"$ref":"#/components/schemas/EmailSuggestionMeta"},{"type":"null"}],"description":"Email meta for this record."},"createdTaskId":{"$ref":"#/components/schemas/Shared61b1abe0","description":"Identifies the referenced created task."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."}},"required":["id","organizationId","integrationId","externalThreadId","title","description","dueDate","priority","suggestedProjectId","suggestedProgramId","confidence","status","emailMeta","createdTaskId","createdAt"],"description":"An Athena-synthesized email task suggestion.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","integrationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","externalThreadId":"example","title":"example","description":"example","dueDate":"2026-09-19","priority":"none","suggestedProjectId":"example","suggestedProgramId":"example","confidence":0,"status":"pending","emailMeta":{},"createdTaskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z"}},"EmailSuggestionMeta":{"type":"object","properties":{"sender":{"type":"string","description":"Sender for this record."},"subject":{"type":"string","description":"Subject for this record."},"snippet":{"type":"string","description":"Snippet for this record."},"receivedAt":{"type":"string","description":"Received time as an ISO 8601 instant."},"rfc822MessageId":{"type":"string","description":"Identifies the referenced rfc822 message."},"externalUrl":{"type":"string","description":"External url for this record."}},"description":"Snapshot of the source email.","example":{}},"EmailThreadMessageOut":{"type":"object","properties":{"id":{"type":"string","description":"The message's external id."},"from":{"type":"string","description":"The sender (display form)."},"to":{"type":"array","items":{"type":"string"},"description":"Recipients."},"subject":{"type":"string","description":"Subject line."},"snippet":{"type":"string","description":"Short preview snippet."},"sentAt":{"type":"string","description":"When the message was sent (RFC3339)."},"rfc822MessageId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"RFC 5322 Message-ID, when the provider surfaces it."},"bodyHtml":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The rendered body when the provider returned one — served live, never stored."}},"required":["id","from","to","subject","snippet","sentAt","rfc822MessageId","bodyHtml"],"description":"One message of a source-email thread.","example":{"id":"example","from":"example","to":["example"],"subject":"example","snippet":"example","sentAt":"2026-09-19T12:00:00.000Z","rfc822MessageId":"example","bodyHtml":"example"}},"SuggestionAcceptBody":{"type":"object","properties":{"title":{"type":"string","minLength":1,"description":"Human-readable title."},"description":{"type":"string","description":"Longer plain-language description."},"priority":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."},"dueDate":{"type":"string","description":"Due date in YYYY-MM-DD format."}},"description":"Optional overrides applied when accepting.","example":{}},"AutomationRuleOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an AutomationRule — a configured rule that triggers actions when matching events occur."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"name":{"type":"string","description":"Human-readable name."},"enabled":{"type":"boolean","description":"Whether this behavior is enabled."},"on":{"$ref":"#/components/schemas/AutomationEventMatch","description":"On for this record."},"when":{"$ref":"#/components/schemas/__schema0","description":"When for this record."},"then":{"type":"array","items":{"$ref":"#/components/schemas/ActionSpec"},"description":"Then, in order."},"isSeed":{"type":"boolean","description":"Whether seed."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."}},"required":["id","organizationId","name","enabled","on","when","then","isSeed","createdAt"],"description":"An automation rule.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","enabled":false,"on":{},"when":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"then":[{"type":"example"}],"isSeed":false,"createdAt":"2026-09-19T12:00:00.000Z"}},"ActionSpec":{"type":"object","properties":{"type":{"type":"string","minLength":1,"description":"Selects the value type."},"params":{"default":{},"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Params for this record."}},"required":["type"],"description":"An automation action command.","example":{"type":"example"}},"NotionMirrorDatabaseOut":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"entityType":{"$ref":"#/components/schemas/NotionMirrorEntity","description":"Entity type for this record."},"title":{"type":"string","description":"The database title in Notion."},"enabled":{"type":"boolean","description":"Whether this entity is projected at all."},"direction":{"$ref":"#/components/schemas/NotionMirrorDirection","description":"Direction for this record."},"propertyMap":{"$ref":"#/components/schemas/NotionPropertyMap","description":"Property map for this record."},"content":{"$ref":"#/components/schemas/NotionMirrorContentStatus","description":"Content for this record."},"externalDatabaseId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Null until the database has actually been created in Notion."},"externalDataSourceId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced external data source."},"externalUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"External url for this record."},"rowCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Row count."},"provisionedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provisioned time as an ISO 8601 instant."},"lastPushedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Last pushed time as an ISO 8601 instant."},"lastPulledAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Last pulled time as an ISO 8601 instant."}},"required":["id","entityType","title","enabled","direction","propertyMap","content","externalDatabaseId","externalDataSourceId","externalUrl","rowCount","provisionedAt","lastPushedAt","lastPulledAt"],"description":"One Docket-designed Notion database and its current provisioning state.","example":{"id":"example","entityType":"task","title":"example","enabled":false,"direction":"two_way","propertyMap":{},"content":{"state":"complete","unknownBlockCount":0},"externalDatabaseId":"example","externalDataSourceId":"example","externalUrl":"example","rowCount":0,"provisionedAt":"2026-09-19T12:00:00.000Z","lastPushedAt":"2026-09-19T12:00:00.000Z","lastPulledAt":"2026-09-19T12:00:00.000Z"}},"NotionMirrorEntity":{"type":"string","enum":["task","project","initiative","program","team","cycle","milestone","label","person"],"description":"A Docket entity kind that can be projected into a Notion database.","example":"task"},"NotionMirrorDirection":{"type":"string","enum":["two_way","push"],"description":"Whether a mirrored entity accepts edits from Notion or is projection-only.","example":"two_way"},"NotionPropertyMap":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/NotionColumnBinding"},"description":"The columns of a designed Notion database, keyed by Docket field key.","example":{}},"NotionColumnBinding":{"type":"object","properties":{"field":{"type":"string","description":"The Docket field key this column carries, e.g. `title`, `assignee`, `dueDate`. Unique within a database."},"title":{"type":"string","minLength":1,"description":"The column title shown in Notion. Chosen by the user."},"kind":{"$ref":"#/components/schemas/NotionPropertyKind","description":"Selects the value variant."},"order":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The column's position from left to right."},"propertyId":{"description":"Notion's own id for the provisioned property. Absent before provisioning. Authoritative for all reads and writes, because it survives a rename on either side.","type":"string"},"representation":{"$ref":"#/components/schemas/NotionPersonRepresentation","description":"Representation for this record."},"relationDataSourceId":{"$ref":"#/components/schemas/Shared77778108","description":"Identifies the referenced relation data source."}},"required":["field","title","kind","order"],"description":"A Docket field bound to one Notion property.","example":{"field":"example","title":"example","kind":"title","order":0}},"NotionPropertyKind":{"type":"string","enum":["title","rich_text","number","select","multi_select","status","date","checkbox","url","email","people","relation"],"description":"A Notion property type Docket can provision and write.","example":"title"},"NotionPersonRepresentation":{"type":"string","enum":["text","notion_person","docket_people_table","existing_table"],"description":"How a person-valued Docket field is represented in a Notion database.","example":"text"},"NotionMirrorContentStatus":{"type":"object","properties":{"state":{"type":"string","enum":["complete","truncated","inaccessible","not_applicable"],"description":"Whether Docket could read complete page bodies for this database."},"unknownBlockCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many page blocks Notion could not represent as enhanced Markdown."}},"required":["state","unknownBlockCount"],"description":"The safe aggregate content state for one Docket-designed Notion database.","example":{"state":"complete","unknownBlockCount":0}},"NotionMirrorFieldOut":{"type":"object","properties":{"field":{"type":"string","description":"Field the rule evaluates."},"label":{"type":"string","description":"The default column title, resolved through the org vocabulary."},"kind":{"$ref":"#/components/schemas/NotionPropertyKind","description":"Selects the value variant."},"personValued":{"type":"boolean","description":"Whether this field offers a `NotionPersonRepresentation` choice."},"required":{"type":"boolean","description":"Title fields cannot be removed — Notion requires exactly one per database."}},"required":["field","label","kind","personValued","required"],"description":"A Docket field available as a column in a designed Notion database.","example":{"field":"example","label":"example","kind":"title","personValued":false,"required":false}},"NotionMirrorPreviewRow":{"type":"object","properties":{"cells":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":"Cells for this record."}},"required":["cells"],"description":"One formatted preview row for the table designer.","example":{"cells":{}}},"NotionParentPageOut":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"title":{"type":"string","description":"The page's title, or `Untitled` when it has none."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"A deep link to the page in Notion."},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The page emoji. Image icons are omitted."},"lastEditedTime":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601. Also the field the search results are ordered by."},"parentKind":{"anyOf":[{"type":"string","enum":["workspace","page","database"]},{"type":"null"}],"description":"Where the page sits, as far as one search result can say."}},"required":["id","title","url","icon","lastEditedTime","parentKind"],"description":"A Notion page Docket may build its designed databases under.","example":{"id":"example","title":"example","url":"example","icon":"example","lastEditedTime":"example","parentKind":"workspace"}},"NotionWorkspacePerson":{"type":"object","properties":{"externalId":{"type":"string","description":"Identifies the referenced external."},"name":{"type":"string","description":"Human-readable name."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Absent for guests Notion does not expose an email for."},"avatarUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Avatar url for this record."},"actorId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Null is an explicit unmatched state, never a fallback."},"matchedBy":{"anyOf":[{"type":"string","enum":["email","manual"]},{"type":"null"}],"description":"Matched by for this record."},"ignoredAt":{"$ref":"#/components/schemas/Shared6aaeb8f1","description":"Ignored time as an ISO 8601 instant."}},"required":["externalId","name","email","avatarUrl","actorId","matchedBy","ignoredAt"],"description":"A Notion workspace member and its current Docket actor match.","example":{"externalId":"example","name":"example","email":"developer@example.com","avatarUrl":"example","actorId":"example","matchedBy":"email","ignoredAt":"2026-09-19T12:00:00.000Z"}},"McpIntegrationOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The stable identifier for this integration."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning organization."},"url":{"type":"string","description":"The remote MCP server URL."},"label":{"type":"string","description":"Display name."},"alias":{"type":"string","description":"The tool namespace (`<alias>__<name>`)."},"authMode":{"type":"string","enum":["oauth","bearer","none"],"description":"Authentication method for this server."},"status":{"type":"string","enum":["pending","connected","error","disconnected"],"description":"Connection health: only a live `tools/list` promotes to `connected`."},"toolCount":{"$ref":"#/components/schemas/Shared5d71394e","description":"Tool count."},"lastError":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Why the last check failed; null when healthy."},"createdAt":{"type":"string","description":"ISO-8601 timestamp the server was connected."},"oauthScope":{"$ref":"#/components/schemas/Shared06c1c229","description":"Oauth scope for this record."}},"required":["id","organizationId","url","label","alias","authMode","status","toolCount","lastError","createdAt","oauthScope"],"description":"A connected remote MCP server.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","url":"example","label":"example","alias":"example","authMode":"oauth","status":"pending","toolCount":0,"lastError":"example","createdAt":"2026-09-19T12:00:00.000Z","oauthScope":"example"}},"ExternalActorOut":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this provider-user mapping."},"externalId":{"type":"string","description":"The provider's native user id (e.g. a Linear user UUID) — stable across syncs."},"email":{"$ref":"#/components/schemas/Shared92bffece","description":"Email for this record."},"displayName":{"type":"string","description":"The provider user's display name as of the last sync, refreshed every time."},"avatarUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"URL to the avatar image, refreshed every sync; null when unavailable."},"actorId":{"$ref":"#/components/schemas/Shared62e7b18a","description":"Identifies the referenced actor."},"matchedBy":{"$ref":"#/components/schemas/Sharede0ac589c","description":"Matched by for this record."},"ignoredAt":{"$ref":"#/components/schemas/Shareda05dac85","description":"Ignored time as an ISO 8601 instant."},"createdAt":{"type":"string","description":"ISO 8601 timestamp when this mapping was created."},"updatedAt":{"type":"string","description":"ISO-8601 timestamp the mapping was last refreshed and/or re-matched."}},"required":["id","externalId","email","displayName","avatarUrl","actorId","matchedBy","ignoredAt","createdAt","updatedAt"],"description":"A provider-user → Docket-Actor identity mapping.","example":{"id":"example","externalId":"example","email":"developer@example.com","displayName":"example","avatarUrl":"example","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","matchedBy":"email","ignoredAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"IntegrationOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The integration id; also each mirrored task's `sourceIntegrationId`, kept stable across reconnects."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The organization that owns this integration."},"provider":{"type":"string","description":"The connected provider id (e.g. `gtasks`, `linear`, `github`)."},"pattern":{"type":"string","enum":["migration","connector","agent"],"description":"Whether this is a `migration` or a `connector`."},"roles":{"$ref":"#/components/schemas/Shared92cab41b","description":"Roles for this record."},"connection":{"$ref":"#/components/schemas/IntegrationConnection","description":"Connection for this record."},"status":{"$ref":"#/components/schemas/Shared69023bd3","description":"Current lifecycle state."},"config":{"$ref":"#/components/schemas/Shared06a96c8e","description":"Config for this record."},"externalAccountId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The bound provider account (e.g. Google `sub`); null for single-account/legacy integrations."},"syncMode":{"type":"string","enum":["import","mirror"],"description":"Sync depth (`import` one-time vs `mirror` continuous)."},"writeBack":{"type":"boolean","description":"Whether this connector also writes Docket changes back to the provider (two-way sync)."},"lastSyncStatus":{"$ref":"#/components/schemas/Sharedf762603f","description":"Last sync status for this record."},"lastSyncedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 timestamp of the last SUCCESSFUL sync; null = never succeeded."},"lastError":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Why the connection/last-sync is unhealthy; null = healthy. Paired with `status` of `error`."},"lastErrorAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 timestamp `lastError` was recorded; null when there is no error."},"lastErrorKind":{"$ref":"#/components/schemas/Shared8896f40d","description":"Last error kind for this record."},"syncCadenceMinutes":{"$ref":"#/components/schemas/Sharedd9f01acf","description":"Sync cadence minutes for this record."},"createdAt":{"type":"string","description":"ISO-8601 timestamp the integration was first connected."}},"required":["id","organizationId","provider","pattern","roles","connection","status","config","externalAccountId","syncMode","writeBack","lastSyncStatus","lastSyncedAt","lastError","lastErrorAt","lastErrorKind","syncCadenceMinutes","createdAt"],"description":"An external integration.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"example","pattern":"migration","roles":["work"],"connection":{},"status":"pending","config":{},"externalAccountId":"example","syncMode":"import","writeBack":false,"lastSyncStatus":"running","lastSyncedAt":"2026-09-19T12:00:00.000Z","lastError":"example","lastErrorAt":"2026-09-19T12:00:00.000Z","lastErrorKind":"auth","syncCadenceMinutes":1,"createdAt":"2026-09-19T12:00:00.000Z"}},"IntegrationConnection":{"type":"object","properties":{"account":{"description":"A human label for the linked account — typically the identity email resolved at verify time; shown in the UI so a user recognizes which account is connected.","type":"string"},"credentialsRef":{"description":"An opaque reference to the integration credential. The raw secret is never returned.","type":"string"},"externalWorkspaceId":{"description":"Identifier of the provider workspace or organization linked to this integration, when the provider supports more than one.","type":"string"},"externalWorkspaceSlug":{"description":"Provider workspace URL slug used to build external links, when available.","type":"string"},"externalWorkspaceName":{"description":"Provider workspace display name shown in settings, when available.","type":"string"},"appActorId":{"description":"The provider-side app actor id used for echo suppression and attribution.","type":"string"}},"description":"An integration's connection metadata.","example":{}},"IntegrationDirectoryProvider":{"type":"object","properties":{"provider":{"type":"string","enum":["gmail","gtasks","calendar","drive","github","linear","notion"],"description":"The provider id to pass as `provider` when connecting (e.g. `gtasks`)."},"name":{"type":"string","description":"The provider's human-readable display name shown in the connect wizard."},"pattern":{"type":"string","enum":["migration","connector","agent"],"description":"Whether connecting this provider yields a `migration` or a `connector`."},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Shared6738611b"},"description":"The roles this provider can contribute (work/context/signal/time/code)."},"category":{"type":"string","description":"A grouping label for the connect wizard (e.g. the provider's product category)."},"syncable":{"type":"boolean","description":"Whether the provider supports import/sync through the Connector port."}},"required":["provider","name","pattern","roles","category","syncable"],"description":"An available integration provider with its pattern, roles, and category.","example":{"provider":"gmail","name":"example","pattern":"migration","roles":["work"],"category":"example","syncable":false}},"ConnectorResourceRef":{"type":"object","properties":{"id":{"type":"string","description":"The external container's native id in the provider (e.g. a Google Tasks list id) — the value stored in `config.listIds`/`defaultListId`."},"title":{"type":"string","description":"The container's display name as shown in the config picker."}},"required":["id","title"],"description":"A selectable external container (task list).","example":{"id":"example","title":"example"}},"SyncRunOut":{"type":"object","properties":{"id":{"type":"string","description":"The sync-run id."},"integrationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The integration this run belongs to."},"status":{"type":"string","enum":["running","succeeded","failed"],"description":"Outcome of the run (running/succeeded/failed)."},"trigger":{"type":"string","enum":["manual","scheduled"],"description":"What started the run (manual/scheduled)."},"purpose":{"type":"string","enum":["task_sync","email_ingest","notion_mirror","activity_pull"],"description":"What the run pulled (task mirror / email ingest)."},"processed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count of items processed so far (advances during a `running` run)."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Total items the run intends to process (0 when unknown/empty)."},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The failure reason when `status` is `failed`; null otherwise."},"errorKind":{"$ref":"#/components/schemas/Sharedae907dc8","description":"Error kind for this record."},"startedAt":{"type":"string","description":"ISO-8601 instant the run began — the list sort key (descending)."},"finishedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 instant the run ended; null while still `running`."}},"required":["id","integrationId","status","trigger","purpose","processed","total","error","errorKind","startedAt","finishedAt"],"description":"The result of one integration sync run.","example":{"id":"example","integrationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","status":"running","trigger":"manual","purpose":"task_sync","processed":0,"total":0,"error":"example","errorKind":"auth","startedAt":"2026-09-19T12:00:00.000Z","finishedAt":"2026-09-19T12:00:00.000Z"}},"PublicationOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for this brief publication.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning workspace."},"subjectKind":{"$ref":"#/components/schemas/Sharedf0afa86a","description":"Subject kind for this record."},"subjectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The published record.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"The last path segment of the public URL."},"published":{"type":"boolean","description":"Whether the brief is currently readable by the public. Withdrawing a brief reserves its URL so publishing it again restores the same link."},"publishedAt":{"$ref":"#/components/schemas/Sharedcd8f1112","description":"Published time as an ISO 8601 instant."},"unpublishedAt":{"$ref":"#/components/schemas/Sharedd31ed1cc","description":"Unpublished time as an ISO 8601 instant."},"path":{"$ref":"#/components/schemas/Shared4808d1df","description":"Canonical path for this resource."},"urls":{"$ref":"#/components/schemas/Shared4e4c94cb","description":"Urls for this record."}},"required":["id","organizationId","subjectKind","subjectId","slug","published","publishedAt","unpublishedAt","path","urls"],"description":"One record's publication state.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectKind":"initiative","subjectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","slug":"123e4567-e89b-42d3-a456-426614174000","published":false,"publishedAt":"2026-09-19T12:00:00.000Z","unpublishedAt":"2026-09-19T12:00:00.000Z","path":"example","urls":["example"]}},"WorkspaceDomainOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for this custom-domain claim.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The claiming workspace."},"host":{"type":"string","description":"The normalized hostname (no scheme, no port, no `www.`)."},"verified":{"type":"boolean","description":"Whether ownership is proved. An unverified domain never serves briefs."},"verifiedAt":{"$ref":"#/components/schemas/Shared4cc6a762","description":"Verified time as an ISO 8601 instant."},"lastCheckedAt":{"$ref":"#/components/schemas/Sharedc57a21de","description":"Last checked time as an ISO 8601 instant."},"lastFailure":{"$ref":"#/components/schemas/Shared4b41ad47","description":"Last failure for this record."},"verificationRecord":{"$ref":"#/components/schemas/DnsRecordOut","description":"Verification record for this record."},"routingRecord":{"$ref":"#/components/schemas/Sharedb637927e","description":"Routing record for this record."},"createdAt":{"$ref":"#/components/schemas/Sharedb14894b7","description":"The record creation time as an ISO 8601 instant."}},"required":["id","organizationId","host","verified","verifiedAt","lastCheckedAt","lastFailure","verificationRecord","routingRecord","createdAt"],"description":"A workspace-owned custom domain.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","host":"example","verified":false,"verifiedAt":"2026-09-19T12:00:00.000Z","lastCheckedAt":"2026-09-19T12:00:00.000Z","lastFailure":"lookup-failed","verificationRecord":{"type":"TXT","name":"example","value":"example","ttlSeconds":0},"routingRecord":{"type":"TXT","name":"example","value":"example","ttlSeconds":0},"createdAt":"2026-09-19T12:00:00.000Z"}},"DnsRecordOut":{"type":"object","properties":{"type":{"type":"string","enum":["TXT","CNAME"],"description":"Record type."},"name":{"type":"string","description":"Fully-qualified record name."},"value":{"type":"string","description":"Record value."},"ttlSeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Suggested TTL, in seconds."}},"required":["type","name","value","ttlSeconds"],"description":"One DNS record to publish, shown verbatim.","example":{"type":"TXT","name":"example","value":"example","ttlSeconds":0}},"AuditEventOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The audit-event id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The organization whose feed this event belongs to."},"actorId":{"description":"WHO performed the action — for an agent action this is the agent's Actor, for a human action the human's Actor; null when system-generated.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}]},"initiatorId":{"description":"WHO is accountable for triggering it — present (the human) on agent actions so the feed shows both the acting agent and the authorizing human; null/omitted for direct human actions.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}]},"subjectType":{"type":"string","enum":["organization","team","initiative","program","project","cycle","task","actor","agent","agent_session","comment","update","integration","role","grant","membership"],"description":"The kind of entity acted upon — what `subjectId` references."},"subjectId":{"type":"string","description":"The id of the subject entity the event is about."},"type":{"type":"string","enum":["created","updated","state_changed","assigned","commented","archived","deleted","moved","linked","member_added","member_removed","role_changed","grant_changed","approved","rejected"],"description":"What action was recorded."},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Event-specific detail — e.g. for `approved`/`rejected` the decided `activityId` and the `approverActorId`; for `state_changed` the before/after states."},"createdAt":{"type":"string","description":"ISO-8601 timestamp the event was recorded — the feed sort key (descending)."}},"required":["id","organizationId","subjectType","subjectId","type","metadata","createdAt"],"description":"An entry in an organization activity feed.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectType":"organization","subjectId":"example","type":"created","metadata":{},"createdAt":"2026-09-19T12:00:00.000Z"}},"ProvenanceEvent":{"type":"object","properties":{"at":{"type":"string","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))$","description":"When the change was recorded."},"channel":{"$ref":"#/components/schemas/ProvenanceChannel","description":"Channel for this record."},"surface":{"anyOf":[{"$ref":"#/components/schemas/ProvenanceSurface"},{"type":"null"}],"description":"Surface for this record."},"performerKind":{"$ref":"#/components/schemas/Sharedefee25e6","description":"Performer kind for this record."},"performerName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the performer. Null when the performer is the authorizing person."},"authorityActorId":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}],"description":"The member whose permissions the change ran under."},"authorityName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of that member."},"clientName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The MCP or API client, when there is one."},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The connected tool behind a `sync` or `import` change."},"sessionId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Athena or MCP session the change arrived on."},"planId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The plan the change confirmed."}},"required":["at","channel","surface","performerKind","performerName","authorityActorId","authorityName","clientName","provider","sessionId","planId"],"description":"One recorded change and where it came from.","example":{"at":"2026-09-19T12:00:00.000Z","channel":"app","surface":"home","performerKind":"person","performerName":"example","authorityActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","authorityName":"example","clientName":"example","provider":"example","sessionId":"example","planId":"example"}},"StreamEventOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Event — a row in the canonical cross-tool activity log (internal or external)."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"kind":{"$ref":"#/components/schemas/Shared15cb991c","description":"Selects the value variant."},"occurredAt":{"type":"string","description":"Occurred time as an ISO 8601 instant."},"title":{"type":"string","description":"Human-readable title."},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Short plain-language summary."},"permalink":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Permalink for this record."},"source":{"$ref":"#/components/schemas/SourceSystem","description":"Source for this record."},"actor":{"anyOf":[{"$ref":"#/components/schemas/ActorRef"},{"type":"null"}],"description":"Actor for this record."},"entity":{"anyOf":[{"$ref":"#/components/schemas/EntityRef"},{"type":"null"}],"description":"Entity for this record."},"participants":{"type":"array","items":{"$ref":"#/components/schemas/ActorRef"},"description":"Participants, in order."},"detail":{"anyOf":[{"$ref":"#/components/schemas/EventDetail"},{"type":"null"}],"description":"Detail for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"actorIsViewer":{"type":"boolean","description":"Actor is viewer for this record."},"relevance":{"anyOf":[{"type":"string","enum":["mention","assignment","owned","followed","participant","awaiting_you"]},{"type":"null"}],"description":"Relevance for this record."},"rendering":{"$ref":"#/components/schemas/StreamRendering","description":"Rendering for this record."}},"required":["id","organizationId","kind","occurredAt","title","summary","permalink","source","actor","entity","participants","detail","createdAt","actorIsViewer","relevance","rendering"],"description":"One event in the unified activity feed.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"message","occurredAt":"2026-09-19T12:00:00.000Z","title":"example","summary":"example","permalink":"example","source":{"system":"docket","integrationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","externalUrl":"example"},"actor":{"source":"docket","externalId":"example","displayName":"example","avatarUrl":"example","docketActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"entity":{"kind":"work_item","source":"docket","externalId":"example","title":"example","url":"example","docketEntityId":"example"},"participants":[{"source":"docket","externalId":"example","displayName":"example","avatarUrl":"example","docketActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"detail":{"schema":"docket.state_change","fromState":"example","toState":"example"},"createdAt":"2026-09-19T12:00:00.000Z","actorIsViewer":false,"relevance":"mention","rendering":{"icon":"example","category":"example"}}},"SourceSystem":{"type":"object","properties":{"system":{"type":"string","enum":["docket","linear","github","slack","discord","google_calendar","gmail","google_drive","outlook"],"description":"Allowed system value."},"integrationId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Integration — a connected external provider/account (calendar, source control, etc.)."},{"type":"null"}],"description":"Identifies the referenced integration."},"externalUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"External url for this record."}},"required":["system","integrationId","externalUrl"],"description":"Typed source attribution for an event.","example":{"system":"docket","integrationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","externalUrl":"example"}},"ActorRef":{"type":"object","properties":{"source":{"type":"string","enum":["docket","linear","github","slack","discord","google_calendar","gmail","google_drive","outlook"],"description":"Allowed source value."},"externalId":{"type":"string","description":"Identifies the referenced external."},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name for this record."},"avatarUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Avatar url for this record."},"docketActorId":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}],"description":"Identifies the referenced docket actor."}},"required":["source","externalId","displayName","avatarUrl","docketActorId"],"description":"The person behind an event, in any source.","example":{"source":"docket","externalId":"example","displayName":"example","avatarUrl":"example","docketActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"EntityRef":{"type":"object","properties":{"kind":{"type":"string","enum":["work_item","project","program","initiative","cycle","thread","message","document","calendar_event","person","organization","agent_session"],"description":"Selects the value variant."},"source":{"type":"string","enum":["docket","linear","github","slack","discord","google_calendar","gmail","google_drive","outlook"],"description":"Allowed source value."},"externalId":{"type":"string","description":"Identifies the referenced external."},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Human-readable title."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Absolute URL for this resource."},"docketEntityId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced docket entity."}},"required":["kind","source","externalId","title","url","docketEntityId"],"description":"Canonical reference to the thing an event is about.","example":{"kind":"work_item","source":"docket","externalId":"example","title":"example","url":"example","docketEntityId":"example"}},"EventDetail":{"oneOf":[{"type":"object","properties":{"schema":{"type":"string","const":"docket.state_change","description":"Schema for this record."},"fromState":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"From state for this record."},"toState":{"type":"string","description":"To state for this record."}},"required":["schema","fromState","toState"]},{"type":"object","properties":{"schema":{"type":"string","const":"linear.issue","description":"Schema for this record."},"stateName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"State name for this record."},"priority":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Priority for this record."}},"required":["schema","stateName","priority"]},{"type":"object","properties":{"schema":{"type":"string","const":"github.pull_request","description":"Schema for this record."},"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Number for this record."},"merged":{"type":"boolean","description":"Merged for this record."},"draft":{"type":"boolean","description":"Draft for this record."}},"required":["schema","number","merged","draft"]},{"type":"object","properties":{"schema":{"type":"string","const":"slack.message","description":"Schema for this record."},"channelId":{"type":"string","description":"Identifies the referenced channel."},"threadTs":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Thread ts for this record."},"text":{"type":"string","description":"Text for this record."},"channelType":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Channel type for this record."}},"required":["schema","channelId","threadTs","text"]},{"type":"object","properties":{"schema":{"type":"string","const":"discord.message","description":"Schema for this record."},"channelId":{"type":"string","description":"Identifies the referenced channel."},"guildId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced guild."},"text":{"type":"string","description":"Text for this record."}},"required":["schema","channelId","guildId","text"]},{"type":"object","properties":{"schema":{"type":"string","const":"docket.email_suggestion","description":"Schema for this record."},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Category for this record."},"confidence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Confidence for this record."},"subject":{"type":"string","description":"Subject for this record."},"sender":{"type":"string","description":"Sender for this record."},"snippet":{"type":"string","description":"Snippet for this record."}},"required":["schema","category","confidence","subject","sender","snippet"]},{"type":"object","properties":{"schema":{"type":"string","const":"docket.timer","description":"Schema for this record."},"timeRecordId":{"type":"string","description":"Identifies the referenced time record."},"previousTimeRecordId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced previous time record."},"elapsedMs":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Elapsed ms for this record."},"trackedLabel":{"type":"string","description":"Tracked label for this record."}},"required":["schema","timeRecordId","previousTimeRecordId","elapsedMs","trackedLabel"]},{"type":"object","properties":{"schema":{"type":"string","const":"docket.inbound_email","description":"Schema for this record."},"messageId":{"type":"string","description":"Identifies the referenced message."},"threadId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced thread."},"fromAddress":{"type":"string","description":"From address for this record."},"fromName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"From name for this record."},"subject":{"type":"string","description":"Subject for this record."},"snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Snippet for this record."},"hasAttachments":{"type":"boolean","description":"Whether attachments."},"capturedEntityKind":{"anyOf":[{"type":"string","enum":["work_item","project","program","initiative","cycle","thread","message","document","calendar_event","person","organization","agent_session"]},{"type":"null"}],"description":"Captured entity kind for this record."},"capturedEntityId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced captured entity."}},"required":["schema","messageId","threadId","fromAddress","fromName","subject","snippet","hasAttachments","capturedEntityKind","capturedEntityId"]},{"type":"object","properties":{"schema":{"type":"string","const":"docket.elicitation","description":"Schema for this record."},"elicitationId":{"type":"string","description":"Identifies the referenced elicitation."},"sessionId":{"type":"string","description":"Identifies the referenced session."},"question":{"type":"string","description":"Question for this record."},"answer":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Answer for this record."},"autoResolvedValue":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Auto resolved value for this record."},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Expires time as an ISO 8601 instant."}},"required":["schema","elicitationId","sessionId","question","answer","autoResolvedValue","expiresAt"]},{"type":"object","properties":{"schema":{"type":"string","const":"docket.agent_milestone","description":"Schema for this record."},"sessionId":{"type":"string","description":"Identifies the referenced session."},"executionId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced execution."},"parentSessionId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced parent session."},"agentName":{"type":"string","description":"Agent name for this record."},"milestone":{"type":"string","description":"Milestone for this record."},"progress":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}],"description":"Progress for this record."},"reasonCode":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Reason code for this record."}},"required":["schema","sessionId","executionId","parentSessionId","agentName","milestone","progress","reasonCode"]},{"type":"object","properties":{"schema":{"type":"string","const":"docket.field_change","description":"Schema for this record."},"changes":{"minItems":1,"maxItems":50,"type":"array","items":{"$ref":"#/components/schemas/TaskActivityChange"},"description":"Changes, in order."},"fields":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"string"},"description":"Fields, in order."}},"required":["schema","changes","fields"]},{"type":"object","properties":{"schema":{"type":"string","const":"google_calendar.meeting","description":"Schema for this record."},"startsAt":{"type":"string","description":"Starts time as an ISO 8601 instant."},"endsAt":{"type":"string","description":"Ends time as an ISO 8601 instant."},"durationMinutes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Duration minutes for this record."},"attendeeCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Attendee count."},"organizerEmail":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Organizer email for this record."},"recurring":{"type":"boolean","description":"Recurring for this record."}},"required":["schema","startsAt","endsAt","durationMinutes","attendeeCount","organizerEmail","recurring"]},{"type":"object","properties":{"schema":{"type":"string","const":"gmail.message","description":"Schema for this record."},"threadId":{"type":"string","description":"Identifies the referenced thread."},"subject":{"type":"string","description":"Subject for this record."},"recipientCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Recipient count."},"isReply":{"type":"boolean","description":"Whether reply."}},"required":["schema","threadId","subject","recipientCount","isReply"]},{"type":"object","properties":{"schema":{"type":"string","const":"generic","description":"Schema for this record."},"title":{"type":"string","description":"Human-readable title."},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Short plain-language summary."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Absolute URL for this resource."}},"required":["schema","title","summary","url"]}],"description":"Typed, tool-specific detail for an event.","example":{"schema":"docket.state_change","fromState":"example","toState":"example"}},"StreamRendering":{"type":"object","properties":{"icon":{"type":"string","description":"Icon for this record."},"category":{"type":"string","description":"Category for this record."}},"required":["icon","category"],"description":"Source-agnostic rendering hints for an event.","example":{"icon":"example","category":"example"}},"AgendaOut":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/Shared466a8095","description":"Date for this record."},"entries":{"$ref":"#/components/schemas/Sharedd084be6b","description":"Entries for this record."}},"required":["date","entries"],"description":"Combined agenda for a single day.","example":{"date":"2026-09-19","entries":[{"kind":"task_timebox","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example","priority":"none","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z"}]}},"TaskTimeboxAgendaEntry":{"type":"object","properties":{"kind":{"type":"string","const":"task_timebox","description":"Entry discriminator for a Docket task timebox."},"taskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The timeboxed task id."},"sessionId":{"description":"Accepted planning session, when this timebox comes from a daily plan.","type":"string"},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The organization that owns the task."},"title":{"type":"string","description":"Task title."},"state":{"type":"string","description":"Task workflow state."},"priority":{"type":"string","enum":["none","urgent","high","medium","low"],"description":"Task priority."},"startsAt":{"type":"string","description":"Timebox start timestamp."},"endsAt":{"type":"string","description":"Timebox end timestamp."}},"required":["kind","taskId","organizationId","title","state","priority","startsAt","endsAt"],"description":"A Docket task timebox in an agenda.","example":{"kind":"task_timebox","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example","priority":"none","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z"}},"CalendarAgendaEventOut":{"type":"object","properties":{"kind":{"type":"string","const":"google_calendar_event","description":"Entry discriminator for a Google Calendar event."},"event":{"$ref":"#/components/schemas/CalendarEventOut","description":"Event for this record."},"connection":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Linked account id."},"accountEmail":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"null"}],"description":"Linked account email."},"accountName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Linked account display name."}},"required":["id","accountEmail","accountName"],"description":"Minimal linked-account display context."},"calendar":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Calendar id."},"title":{"type":"string","description":"Calendar title."},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Calendar color."},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Calendar timezone."}},"required":["id","title","color","timezone"],"description":"Minimal calendar display context."}},"required":["kind","event","connection","calendar"],"description":"A Google Calendar event in an agenda.","example":{"kind":"google_calendar_event","event":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","calendarId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","externalCalendarId":"example","externalEventId":"example","status":"example","title":"example","description":"example","location":"example","htmlLink":"https://api.clearthedocket.com/v1/example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allDayStartDate":"2026-09-19","allDayEndDate":"2026-09-19","organizer":{},"attendees":[{}],"updatedExternalAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"},"connection":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","accountEmail":"developer@example.com","accountName":"example"},"calendar":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","color":"example","timezone":"example"}}},"CalendarEventOrganizer":{"type":"object","properties":{"email":{"description":"Organizer email, if available.","anyOf":[{"type":"string"},{"type":"null"}]},"displayName":{"description":"Organizer display name, if available.","anyOf":[{"type":"string"},{"type":"null"}]},"self":{"description":"Whether the organizer is the linked account.","type":"boolean"}},"description":"Google Calendar event organizer.","example":{}},"CalendarEventAttendee":{"type":"object","properties":{"email":{"description":"Attendee email, if available.","anyOf":[{"type":"string"},{"type":"null"}]},"displayName":{"description":"Attendee display name, if available.","anyOf":[{"type":"string"},{"type":"null"}]},"responseStatus":{"description":"Provider response status.","anyOf":[{"type":"string"},{"type":"null"}]},"optional":{"description":"Whether the attendee is optional.","type":"boolean"},"self":{"description":"Whether the attendee is the linked account.","type":"boolean"}},"description":"Google Calendar event attendee.","example":{}},"CalendarEventOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Calendar event id."},"connectionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning linked Google account."},"calendarId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The selected calendar that contains this event."},"externalCalendarId":{"type":"string","description":"Provider calendar id."},"externalEventId":{"type":"string","description":"Provider event id."},"status":{"type":"string","description":"Provider event status, e.g. confirmed/cancelled."},"blocksTime":{"description":"Whether this item reserves time.","type":"boolean"},"title":{"type":"string","description":"Event summary/title."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Event description/body, if present."},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Event location, if present."},"htmlLink":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}],"description":"Provider deep link to the event."},"startsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Timed event start timestamp; null for all-day."},"endsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Timed event end timestamp; null for all-day."},"allDayStartDate":{"anyOf":[{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},{"type":"null"}],"description":"All-day start date; null for timed events."},"allDayEndDate":{"anyOf":[{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},{"type":"null"}],"description":"All-day exclusive end date; null for timed events."},"organizer":{"anyOf":[{"$ref":"#/components/schemas/CalendarEventOrganizer"},{"type":"null"}],"description":"Event organizer details."},"attendees":{"type":"array","items":{"$ref":"#/components/schemas/CalendarEventAttendee"},"description":"Event attendees copied from Google."},"updatedExternalAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider updated timestamp, if present."},"createdAt":{"type":"string","description":"Local creation timestamp."},"updatedAt":{"type":"string","description":"Local update timestamp."}},"required":["id","connectionId","calendarId","externalCalendarId","externalEventId","status","title","description","location","htmlLink","startsAt","endsAt","allDayStartDate","allDayEndDate","organizer","attendees","updatedExternalAt","createdAt","updatedAt"],"description":"A cached Google Calendar event.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","calendarId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","externalCalendarId":"example","externalEventId":"example","status":"example","title":"example","description":"example","location":"example","htmlLink":"https://api.clearthedocket.com/v1/example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allDayStartDate":"2026-09-19","allDayEndDate":"2026-09-19","organizer":{},"attendees":[{}],"updatedExternalAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"DailyPlanItemOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The daily-plan item's stable unique id (the handle for update/delete)."},"refOrganizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The org that owns the referenced Task (the item's org chip)."},"refTaskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The referenced Task id. With `refOrganizationId` it forms the cross-org pointer to the underlying Task."},"date":{"type":"string","description":"The calendar day (ISO `YYYY-MM-DD`) this item is planned for."},"sort":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The item's ordering position within its day, ascending."},"status":{"type":"string","enum":["planned","done"],"description":"The item's completion state (`planned`/`done`)."},"timeboxStartsAt":{"description":"ISO-8601 start of the calendar timebox, or null when the item is unscheduled.","anyOf":[{"type":"string"},{"type":"null"}]},"timeboxEndsAt":{"description":"ISO-8601 end of the calendar timebox, or null when the item is unscheduled.","anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"string","description":"ISO-8601 instant the item was added to the plan."}},"required":["id","refOrganizationId","refTaskId","date","sort","status","createdAt"],"description":"A Hub daily-plan item.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","refOrganizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","refTaskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","date":"2026-09-19","sort":0,"status":"planned","createdAt":"2026-09-19T12:00:00.000Z"}},"WorkShapeProfile":{"type":"object","properties":{"shape":{"$ref":"#/components/schemas/WorkShape","description":"Shape for this record."},"label":{"type":"string","description":"Application-owned display name for this shape."},"placement":{"$ref":"#/components/schemas/WorkShapePlacement","description":"Placement for this record."},"windowKind":{"$ref":"#/components/schemas/AvailabilityWindowKind","description":"Window kind for this record."},"fallbackWindowKinds":{"type":"array","items":{"$ref":"#/components/schemas/AvailabilityWindowKind"},"description":"Window kinds this shape will settle for when its preferred kind is exhausted. Empty for shapes whose whole identity is the kind of time they occupy — a shoot is not a shoot at a desk, and reading placed anywhere but travel time is the desk block you skip."},"minMinutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Below this the block is not worth placing."},"defaultMinutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Planned length when the Time Ledger has no actuals to learn from."},"maxMinutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Longest single session worth scheduling."},"splittable":{"type":"boolean","description":"Whether a session may be broken across windows. False for anything whose value comes from being unbroken."},"requires":{"type":"array","items":{"$ref":"#/components/schemas/WorkShapeRequirement"},"description":"Preconditions for a well-formed block."},"bufferAfterMinutes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Protected minutes the planner leaves after the block (teardown, travel, reset)."},"backfillEligible":{"type":"boolean","description":"Whether leftover availability may be absorbed by this shape when the user opts into backfill."}},"required":["shape","label","placement","windowKind","fallbackWindowKinds","minMinutes","defaultMinutes","maxMinutes","splittable","requires","bufferAfterMinutes","backfillEligible"],"description":"Placement constraints for one work shape.","example":{"shape":"filming_session","label":"example","placement":"contiguous","windowKind":"desk","fallbackWindowKinds":["desk"],"minMinutes":1,"defaultMinutes":1,"maxMinutes":1,"splittable":false,"requires":["location"],"bufferAfterMinutes":0,"backfillEligible":false}},"WorkShape":{"type":"string","enum":["filming_session","community_meeting","deep_writing","interstitial_reading","reflection_debrief","architecture_brainstorm"],"description":"The kind of time a scheduled block represents. Each value is placed by a different rule: filming sessions need a contiguous field window and a location; community meetings need attendees; deep writing needs an unfragmented desk window; reading is interstitial and only fills travel/waiting gaps; reflection is anchored after a source event; architecture brainstorming is a mid-length exploratory desk block.","example":"filming_session"},"WorkShapePlacement":{"type":"string","enum":["contiguous","interstitial","anchored_after"],"description":"How a work shape finds its place in the week.","example":"contiguous"},"AvailabilityWindowKind":{"type":"string","enum":["desk","field","transit","personal"],"description":"What a window offers: 'desk' (focused seated work), 'field' (out in the world — shoots, in-person meetings), 'transit' (travel and waiting, where only interstitial shapes may go), or 'personal' (protected; the scheduler never places work here).","example":"desk"},"WorkShapeRequirement":{"type":"string","enum":["location","attendees","source_event"],"description":"A precondition a shape needs before it can be scheduled: a physical location, at least one attendee, or a source event to anchor to.","example":"location"},"AvailabilityWindow":{"type":"object","properties":{"weekday":{"type":"integer","minimum":0,"maximum":6,"description":"Day of week, 0 = Sunday, in the Hub timezone."},"startMinute":{"type":"integer","minimum":0,"maximum":1440,"description":"Minutes from local midnight (0–1440)."},"endMinute":{"type":"integer","minimum":0,"maximum":1440,"description":"Minutes from local midnight (0–1440)."},"kind":{"$ref":"#/components/schemas/AvailabilityWindowKind","description":"Selects the value variant."},"label":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"description":"Optional human label, e.g. \"Morning pages\"."}},"required":["weekday","startMinute","endMinute","kind","label"],"description":"One recurring weekly availability window.","example":{"weekday":0,"startMinute":0,"endMinute":0,"kind":"desk","label":"example"}},"SchedulingCommitment":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The stable identifier for this resource."},"shape":{"$ref":"#/components/schemas/WorkShape","description":"Shape for this record."},"title":{"type":"string","minLength":1,"maxLength":200,"description":"Human-readable title."},"organizationId":{"$ref":"#/components/schemas/Shared671b9489","description":"Identifies the referenced organization."},"taskId":{"$ref":"#/components/schemas/Shared974a2697","description":"Identifies the referenced task."},"sessionsPerWeek":{"type":"integer","minimum":0,"maximum":21,"description":"Sessions per week for this record."},"minutesPerSession":{"anyOf":[{"type":"integer","minimum":5,"maximum":600},{"type":"null"}],"description":"Requested session length; null uses the shape's profile default."},"location":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"description":"Location for this record."},"workPlaceId":{"$ref":"#/components/schemas/Shared91f4fd6f","description":"Identifies the referenced work place."},"attendees":{"maxItems":50,"type":"array","items":{"type":"string","maxLength":200},"description":"Community members or collaborators expected at this block."},"active":{"type":"boolean","description":"Active for this record."}},"required":["id","shape","title","organizationId","taskId","sessionsPerWeek","minutesPerSession","location","attendees","active"],"description":"A standing weekly ask the planner turns into blocks without further input.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","shape":"filming_session","title":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sessionsPerWeek":0,"minutesPerSession":5,"location":"example","attendees":["example"],"active":false}},"ScheduledBlockOut":{"type":"object","properties":{"calendarItemId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a CalendarItem — one visible time object on a layer."},{"type":"null"}],"description":"The persisted calendar item; null in a dry-run preview."},"shape":{"$ref":"#/components/schemas/WorkShape","description":"Shape for this record."},"shapeLabel":{"type":"string","description":"Application-owned label for the shape."},"title":{"type":"string","description":"Human-readable title."},"startsAt":{"type":"string","description":"ISO-8601 start instant."},"endsAt":{"type":"string","description":"ISO-8601 end instant."},"date":{"type":"string","format":"date","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])))$","description":"Local date the block falls on, in the Hub timezone.","example":"2026-06-29"},"minutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Minutes for this record."},"organizationId":{"$ref":"#/components/schemas/Shared9471a220","description":"Identifies the referenced organization."},"organizationName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Organization name for this record."},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Location for this record."},"workPlaceId":{"default":null,"description":"Canonical saved place copied from the commitment or source block.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned saved place used in work-location schedules and evidence."},{"type":"null"}]},"attendees":{"type":"array","items":{"type":"string"},"description":"Attendees, in order."},"origin":{"$ref":"#/components/schemas/ScheduleOrigin","description":"Origin for this record."},"anchorCalendarItemId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a CalendarItem — one visible time object on a layer."},{"type":"null"}],"description":"The source event a reflection block is anchored to and linked from."},"commitmentId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The standing commitment this block satisfies."},"durationSource":{"type":"string","enum":["measured","requested","shape_default","fitted"],"description":"Where this block's length came from: 'measured' (the Time Ledger's own actuals for this work), 'requested' (the commitment asked for it), 'shape_default' (the shape's profile), or 'fitted' (shortened to fit the window that was left)."}},"required":["calendarItemId","shape","shapeLabel","title","startsAt","endsAt","date","minutes","organizationId","organizationName","location","attendees","origin","anchorCalendarItemId","commitmentId","durationSource"],"description":"One block placed by the weekly planner.","example":{"calendarItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","shape":"filming_session","shapeLabel":"example","title":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","date":"2026-09-19","minutes":1,"organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationName":"example","location":"example","attendees":["example"],"origin":"user","anchorCalendarItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","commitmentId":"example","durationSource":"measured"}},"ScheduleOrigin":{"type":"string","enum":["user","scheduler","agent","provider"],"description":"What created a calendar block: 'user' (a manual gesture — drag, quick-create, a hand-entered time), 'scheduler' (the weekly planner), 'agent' (Athena acting on the day), or 'provider' (synced in from a linked external calendar).","example":"user"},"UnplacedDemandOut":{"type":"object","properties":{"commitmentId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced commitment."},"shape":{"$ref":"#/components/schemas/WorkShape","description":"Shape for this record."},"title":{"type":"string","description":"Human-readable title."},"requestedSessions":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Requested sessions for this record."},"placedSessions":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Placed sessions for this record."},"reason":{"type":"string","enum":["no_matching_window","window_too_short","missing_location","missing_attendees","no_source_event","week_full"],"description":"A stable machine code; the UI owns the sentence shown to the person."}},"required":["commitmentId","shape","title","requestedSessions","placedSessions","reason"],"example":{"commitmentId":"example","shape":"filming_session","title":"example","requestedSessions":0,"placedSessions":0,"reason":"no_matching_window"}},"WeekCoverageOut":{"type":"object","properties":{"availableMinutes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Total minutes inside declared desk/field/transit windows for the week."},"scheduledMinutes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Minutes inside those windows carrying a block (planned or pre-existing)."},"coveragePercent":{"type":"number","minimum":0,"maximum":100,"description":"scheduledMinutes / availableMinutes, rounded to one decimal."},"protectedMinutes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Minutes inside declared `personal` windows. Docket never schedules work in them."},"largestGapMinutes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The longest contiguous run of unassigned available time."},"gaps":{"type":"array","items":{"$ref":"#/components/schemas/CoverageGapOut"},"description":"Every remaining gap above the configured threshold."},"withinThreshold":{"type":"boolean","description":"Whether `largestGapMinutes` is at or under `maxUnplannedGapMinutes`."}},"required":["availableMinutes","scheduledMinutes","coveragePercent","protectedMinutes","largestGapMinutes","gaps","withinThreshold"],"description":"The generated week's time-coverage report.","example":{"availableMinutes":0,"scheduledMinutes":0,"coveragePercent":0,"protectedMinutes":0,"largestGapMinutes":0,"gaps":[{"date":"2026-09-19","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","minutes":1,"windowKind":"desk"}],"withinThreshold":false}},"CoverageGapOut":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},"startsAt":{"type":"string","description":"Starts time as an ISO 8601 instant."},"endsAt":{"type":"string","description":"Ends time as an ISO 8601 instant."},"minutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Minutes for this record."},"windowKind":{"$ref":"#/components/schemas/AvailabilityWindowKind","description":"Window kind for this record."}},"required":["date","startsAt","endsAt","minutes","windowKind"],"example":{"date":"2026-09-19","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","minutes":1,"windowKind":"desk"}},"DirectiveAgendaReadiness":{"type":"string","enum":["ready","not_generated","empty_week"],"description":"Whether today's agenda can be presented: 'ready', 'not_generated' (no planning run covers today), or 'empty_week' (a run covers today but placed nothing).","example":"ready"},"DirectivePlanItemOut":{"type":"object","properties":{"taskId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"description":"The task this item tracks; null for a plain time block."},"calendarItemId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced calendar item."},"organizationId":{"$ref":"#/components/schemas/Shared9471a220","description":"Identifies the referenced organization."},"title":{"type":"string","description":"Human-readable title."},"shape":{"anyOf":[{"$ref":"#/components/schemas/WorkShape"},{"type":"null"}],"description":"The work shape, when this block was shaped by the planner."},"status":{"type":"string","enum":["planned","done"],"description":"The plan item's current status. Deferred items are removed from this plan instead of receiving a `deferred` status."},"startsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Starts time as an ISO 8601 instant."},"endsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ends time as an ISO 8601 instant."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Deep link into the Docket web app for this item."}},"required":["taskId","calendarItemId","organizationId","title","shape","status","startsAt","endsAt","url"],"example":{"taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","calendarItemId":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","shape":"filming_session","status":"planned","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","url":"example"}},"DirectivePosture":{"type":"string","enum":["on_track","attention_needed","intervention_recommended"],"description":"The current schedule status for the day, ordered from on track to intervention recommended. A client decides how each status affects its own controls.","example":"on_track"},"DirectiveRecommendedAction":{"type":"object","properties":{"kind":{"type":"string","const":"narrow_focus","description":"Selects the value variant."},"taskId":{"$ref":"#/components/schemas/Shared557aedf0","description":"Identifies the referenced task."},"calendarItemId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced calendar item."},"title":{"type":"string","description":"Human-readable title."}},"required":["kind","taskId","calendarItemId","title"],"description":"A narrowing recommendation — never an enforcement instruction.","example":{"kind":"narrow_focus","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","calendarItemId":"example","title":"example"}},"DirectiveGateOut":{"type":"object","properties":{"kind":{"$ref":"#/components/schemas/DirectiveGateKind","description":"Selects the value variant."},"state":{"type":"string","enum":["open","holding"],"description":"Current lifecycle state."},"outstandingSteps":{"type":"array","items":{"$ref":"#/components/schemas/DirectiveGateStep"},"description":"Outstanding steps, in order."},"releasedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Released time as an ISO 8601 instant."}},"required":["kind","state","outstandingSteps","releasedAt"],"description":"A condition the day is waiting on. Never an enforcement instruction.","example":{"kind":"day_start","state":"open","outstandingSteps":["agenda_reviewed"],"releasedAt":"2026-09-19T12:00:00.000Z"}},"DirectiveGateKind":{"type":"string","enum":["day_start","day_end"],"example":"day_start"},"DirectiveGateStep":{"type":"string","enum":["agenda_reviewed","day_reconciled","day_reflected","tomorrow_confirmed"],"description":"A step that must be completed before a gate releases. Stable machine codes — the consuming client owns whatever sentence it shows.","example":"agenda_reviewed"},"MorningProposalOut":{"type":"object","properties":{"key":{"type":"string","description":"The proposal's stable key — the block's calendar item id."},"calendarItemId":{"type":"string","description":"Identifies the referenced calendar item."},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced task."},"organizationId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced organization."},"title":{"type":"string","description":"Human-readable title."},"shape":{"anyOf":[{"$ref":"#/components/schemas/WorkShape"},{"type":"null"}],"description":"Shape for this record."},"startsAt":{"type":"string","description":"Starts time as an ISO 8601 instant."},"endsAt":{"type":"string","description":"Ends time as an ISO 8601 instant."},"decision":{"$ref":"#/components/schemas/MorningDecision","description":"Decision for this record."},"deferredTo":{"anyOf":[{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},{"type":"null"}],"description":"The local date a deferred block was moved to; null while it is proposed or kept."},"deferable":{"type":"boolean","description":"Whether Docket may move this block at all. False for anything a person placed by hand or that arrived from an external calendar — those are theirs to move, not ours."}},"required":["key","calendarItemId","taskId","organizationId","title","shape","startsAt","endsAt","decision","deferredTo","deferable"],"example":{"key":"example","calendarItemId":"example","taskId":"example","organizationId":"example","title":"example","shape":"filming_session","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","decision":"proposed","deferredTo":"2026-09-19","deferable":false}},"MorningDecision":{"type":"string","enum":["proposed","kept","deferred"],"description":"`proposed` is Docket's opening position on a block and the state every block starts in; `kept` and `deferred` are the person's answer to it.","example":"proposed"},"MorningConfirmOut":{"type":"object","properties":{"available":{"type":"boolean","description":"True once every proposal has an answer, so confirming means something."},"outstanding":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Proposals still awaiting a decision."},"confirmedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Confirmed time as an ISO 8601 instant."}},"required":["available","outstanding","confirmedAt"],"example":{"available":false,"outstanding":0,"confirmedAt":"2026-09-19T12:00:00.000Z"}},"DayCheckInOut":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"date":{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},"scheduledAt":{"type":"string","description":"Scheduled time as an ISO 8601 instant."},"firedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Fired time as an ISO 8601 instant."},"respondedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Responded time as an ISO 8601 instant."},"response":{"anyOf":[{"$ref":"#/components/schemas/CheckInResponse"},{"type":"null"}],"description":"Response for this record."},"missed":{"type":"boolean","description":"True when the check-in came due, went unanswered, and its window has closed."},"blockCalendarItemId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced block calendar item."},"blockTitle":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The block this check-in is about, if any."},"outstandingGoals":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many of the day's blocks were still unfinished when this check-in came due."},"prompt":{"type":"string","description":"Application-owned question copy."}},"required":["id","date","scheduledAt","firedAt","respondedAt","response","missed","blockCalendarItemId","blockTitle","outstandingGoals","prompt"],"example":{"id":"example","date":"2026-09-19","scheduledAt":"2026-09-19T12:00:00.000Z","firedAt":"2026-09-19T12:00:00.000Z","respondedAt":"2026-09-19T12:00:00.000Z","response":"on_track","missed":false,"blockCalendarItemId":"example","blockTitle":"example","outstandingGoals":0,"prompt":"example"}},"CheckInResponse":{"type":"string","enum":["on_track","behind","switched","done"],"description":"The person's own answer to a check-in: on track, behind on the current block, switched to something else, or already done.","example":"on_track"},"ReviewStepOut":{"type":"object","properties":{"key":{"$ref":"#/components/schemas/ReviewStepKey","description":"Stable machine-readable key."},"title":{"type":"string","description":"Human-readable title."},"complete":{"type":"boolean","description":"Complete for this record."},"outstanding":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many things inside this step still need an answer."}},"required":["key","title","complete","outstanding"],"example":{"key":"reconcile","title":"example","complete":false,"outstanding":0}},"ReviewStepKey":{"type":"string","enum":["reconcile","reflect","prepare_tomorrow"],"example":"reconcile"},"ReviewItemOut":{"type":"object","properties":{"key":{"type":"string","description":"Stable key of the calendar item or plan item under review."},"calendarItemId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced calendar item."},"taskId":{"$ref":"#/components/schemas/Shared557aedf0","description":"Identifies the referenced task."},"organizationId":{"$ref":"#/components/schemas/Shared9471a220","description":"Identifies the referenced organization."},"title":{"type":"string","description":"Human-readable title."},"shape":{"anyOf":[{"$ref":"#/components/schemas/WorkShape"},{"type":"null"}],"description":"Shape for this record."},"startsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Starts time as an ISO 8601 instant."},"endsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ends time as an ISO 8601 instant."},"disposition":{"anyOf":[{"$ref":"#/components/schemas/ReconcileDisposition"},{"type":"null"}],"description":"Disposition for this record."},"rescheduledTo":{"$ref":"#/components/schemas/Sharedece9b779","description":"Rescheduled to for this record."},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The person's own words when an item is dropped."}},"required":["key","calendarItemId","taskId","organizationId","title","shape","startsAt","endsAt","disposition","rescheduledTo","reason"],"example":{"key":"example","calendarItemId":"example","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","shape":"filming_session","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","disposition":"completed","rescheduledTo":"2026-09-19","reason":"example"}},"ReconcileDisposition":{"type":"string","enum":["completed","rescheduled","dropped"],"description":"The decision on one unfinished item: it actually got done, it moves to another day, or it is dropped (which requires a reason).","example":"completed"},"ReviewAnswerOut":{"type":"object","properties":{"key":{"$ref":"#/components/schemas/ReviewPromptKey","description":"Stable machine-readable key."},"prompt":{"type":"string","description":"Application-owned question copy."},"answer":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Answer for this record."},"required":{"type":"boolean","description":"Required for this record."}},"required":["key","prompt","answer","required"],"example":{"key":"what_moved","prompt":"example","answer":"example","required":false}},"ReviewPromptKey":{"type":"string","enum":["what_moved","what_blocked","what_changes_tomorrow"],"description":"The fixed structured questions of the end-of-day review. A defined set, not a free-text box.","example":"what_moved"},"TomorrowProposalOut":{"type":"object","properties":{"key":{"type":"string","description":"Stable machine-readable key."},"title":{"type":"string","description":"Human-readable title."},"shape":{"anyOf":[{"$ref":"#/components/schemas/WorkShape"},{"type":"null"}],"description":"Shape for this record."},"startsAt":{"type":"string","description":"Starts time as an ISO 8601 instant."},"endsAt":{"type":"string","description":"Ends time as an ISO 8601 instant."},"organizationId":{"$ref":"#/components/schemas/Shared9471a220","description":"Identifies the referenced organization."},"carriedFromKey":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The reconciled item this came from, if any."}},"required":["key","title","shape","startsAt","endsAt","organizationId","carriedFromKey"],"example":{"key":"example","title":"example","shape":"filming_session","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","carriedFromKey":"example"}},"TimeRecordOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeRecord — a Hub-owned semantic container for exact human and agent effort."},"hubId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Hub — the personal cross-workspace ownership boundary for user-owned data."},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced task."},"organizationId":{"$ref":"#/components/schemas/Shared9471a220","description":"Identifies the referenced organization."},"title":{"type":"string","description":"Human-readable title."},"outcomeNote":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Outcome note for this record."},"status":{"type":"string","enum":["open","paused","closed","submitted","superseded"],"description":"Current lifecycle state."},"categoryId":{"$ref":"#/components/schemas/Shared61455fed","description":"Identifies the referenced category."},"captureSource":{"type":"string","enum":["live","manual","reconstructed","agent"],"description":"Allowed capture source value."},"startedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Started time as an ISO 8601 instant."},"endedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ended time as an ISO 8601 instant."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."},"closedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Closed time as an ISO 8601 instant."},"intervals":{"type":"array","items":{"$ref":"#/components/schemas/TimeIntervalOut"},"description":"Intervals, in order."},"contexts":{"type":"array","items":{"$ref":"#/components/schemas/TimeContextOut"},"description":"Contexts, in order."},"allocations":{"type":"array","items":{"$ref":"#/components/schemas/TimeAllocationOut"},"description":"Allocations, in order."},"measures":{"$ref":"#/components/schemas/TimeMeasuresOut","description":"Measures for this record."}},"required":["id","hubId","taskId","organizationId","title","outcomeNote","status","categoryId","captureSource","startedAt","endedAt","createdAt","updatedAt","closedAt","intervals","contexts","allocations","measures"],"description":"A Hub-owned unit of tracked work.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","hubId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","outcomeNote":"example","status":"open","categoryId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","captureSource":"live","startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","closedAt":"2026-09-19T12:00:00.000Z","intervals":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timeRecordId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"example","actorKind":"human","userId":"example","agentExecutionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","mode":"human_active","source":"user_timer","startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","supersededById":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z","closedAt":"2026-09-19T12:00:00.000Z"}],"contexts":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timeRecordId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","role":"primary","entityRef":{"kind":"work_item","source":"docket","externalId":"example","title":"example","url":"example","docketEntityId":"example"},"organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z"}],"allocations":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timeRecordId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetKind":"task","targetId":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","basisPoints":0,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}],"measures":{"elapsedMs":0,"humanEffortMs":0,"agentEffortMs":0,"combinedEffortMs":0,"operationalWaitMs":0}}},"TimeIntervalOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeInterval — one bounded, actor-attributed measurement of time."},"timeRecordId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeRecord — a Hub-owned semantic container for exact human and agent effort."},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced task."},"actorKind":{"type":"string","enum":["human","agent"],"description":"Allowed actor kind value."},"userId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced user."},"agentExecutionId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an AgentExecution — one exact runtime lifecycle beneath an AgentSession."},{"type":"null"}],"description":"Identifies the referenced agent execution."},"mode":{"type":"string","enum":["human_active","agent_active","tool_wait","awaiting_human"],"description":"Allowed mode value."},"source":{"type":"string","enum":["user_timer","manual_entry","reconstructed_entry","agent_runtime"],"description":"Allowed source value."},"startedAt":{"type":"string","description":"Started time as an ISO 8601 instant."},"endedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ended time as an ISO 8601 instant."},"supersededById":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeInterval — one bounded, actor-attributed measurement of time."},{"type":"null"}],"description":"Identifies the referenced superseded by."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"closedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Closed time as an ISO 8601 instant."}},"required":["id","timeRecordId","taskId","actorKind","userId","agentExecutionId","mode","source","startedAt","endedAt","supersededById","createdAt","closedAt"],"description":"One exact measured Time Ledger interval.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timeRecordId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"example","actorKind":"human","userId":"example","agentExecutionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","mode":"human_active","source":"user_timer","startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","supersededById":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z","closedAt":"2026-09-19T12:00:00.000Z"}},"TimeContextOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeContext — a typed relationship between a TimeRecord and a Docket context."},"timeRecordId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeRecord — a Hub-owned semantic container for exact human and agent effort."},"role":{"type":"string","enum":["primary","related","calendar_context","planning_context","agent_context"],"description":"Allowed role value."},"entityRef":{"$ref":"#/components/schemas/EntityRef","description":"Entity ref for this record."},"organizationId":{"$ref":"#/components/schemas/Shared9471a220","description":"Identifies the referenced organization."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."}},"required":["id","timeRecordId","role","entityRef","organizationId","createdAt"],"description":"A typed non-counting Time Record context.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timeRecordId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","role":"primary","entityRef":{"kind":"work_item","source":"docket","externalId":"example","title":"example","url":"example","docketEntityId":"example"},"organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z"}},"TimeAllocationOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeAllocation — an explicit reportable attribution of a TimeRecord."},"timeRecordId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeRecord — a Hub-owned semantic container for exact human and agent effort."},"targetKind":{"type":"string","enum":["task","workspace","project","category"],"description":"Allowed target kind value."},"targetId":{"type":"string","description":"Identifies the referenced target."},"organizationId":{"$ref":"#/components/schemas/Shared9471a220","description":"Identifies the referenced organization."},"basisPoints":{"type":"integer","minimum":0,"maximum":10000,"description":"Basis points for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."}},"required":["id","timeRecordId","targetKind","targetId","organizationId","basisPoints","createdAt","updatedAt"],"description":"An explicit reportable Time Record allocation.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timeRecordId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetKind":"task","targetId":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","basisPoints":0,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"TimeMeasuresOut":{"type":"object","properties":{"elapsedMs":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Elapsed ms for this record."},"humanEffortMs":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Human effort ms for this record."},"agentEffortMs":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Agent effort ms for this record."},"combinedEffortMs":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Combined effort ms for this record."},"operationalWaitMs":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Operational wait ms for this record."}},"required":["elapsedMs","humanEffortMs","agentEffortMs","combinedEffortMs","operationalWaitMs"],"description":"Labeled Time Ledger duration measures.","example":{"elapsedMs":0,"humanEffortMs":0,"agentEffortMs":0,"combinedEffortMs":0,"operationalWaitMs":0}},"TimeAnchorSuggestion":{"type":"object","properties":{"taskId":{"type":"string","description":"Identifies the referenced task."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"title":{"type":"string","description":"Human-readable title."},"source":{"type":"string","enum":["calendar_timebox","daily_plan_timebox","day_directive","recent"],"description":"Allowed source value."},"calendarItemId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced calendar item."},"startsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Starts time as an ISO 8601 instant."},"endsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ends time as an ISO 8601 instant."}},"required":["taskId","organizationId","title","source","calendarItemId","startsAt","endsAt"],"description":"A suggested tracking anchor with provenance.","example":{"taskId":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","source":"calendar_timebox","calendarItemId":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z"}},"TimeBreakdownBucketOut":{"type":"object","properties":{"key":{"type":"string","description":"Stable machine-readable key."},"label":{"type":"string","description":"Label for this record."},"measures":{"$ref":"#/components/schemas/TimeMeasuresOut","description":"Measures for this record."}},"required":["key","label","measures"],"description":"One Time Ledger aggregation bucket.","example":{"key":"example","label":"example","measures":{"elapsedMs":0,"humanEffortMs":0,"agentEffortMs":0,"combinedEffortMs":0,"operationalWaitMs":0}}},"TimeCyclePeriodOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Cycle — a time-boxed iteration (sprint) Tasks can be scheduled into."},"workspaceId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"workspaceName":{"type":"string","description":"Workspace name for this record."},"name":{"type":"string","description":"Human-readable name."},"startsAt":{"type":"string","description":"Starts time as an ISO 8601 instant."},"endsAt":{"type":"string","description":"Ends time as an ISO 8601 instant."}},"required":["id","workspaceId","workspaceName","name","startsAt","endsAt"],"description":"A caller-visible cross-workspace cycle period.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workspaceId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workspaceName":"example","name":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z"}},"TimeCategoryOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeCategory — a user-owned category for reflection and reporting."},"hubId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Hub — the personal cross-workspace ownership boundary for user-owned data."},"parentId":{"$ref":"#/components/schemas/Sharedce49009d","description":"Identifies the referenced parent."},"name":{"type":"string","description":"Human-readable name."},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Color for this record."},"sort":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Sort for this record."},"archivedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Archived time as an ISO 8601 instant."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."}},"required":["id","hubId","parentId","name","color","sort","archivedAt","createdAt","updatedAt"],"description":"A Hub-owned Time Ledger category.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","hubId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example","sort":0,"archivedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"TimeSubmissionItemOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeSubmissionItem — one immutable record/allocation snapshot in a submission."},"timeRecordId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeRecord — a Hub-owned semantic container for exact human and agent effort."},"allocationId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeAllocation — an explicit reportable attribution of a TimeRecord."},{"type":"null"}],"description":"Identifies the referenced allocation."},"targetKind":{"anyOf":[{"type":"string","enum":["task","workspace","project","category"]},{"type":"null"}],"description":"Target kind for this record."},"targetId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced target."},"basisPoints":{"type":"integer","minimum":0,"maximum":10000,"description":"Basis points for this record."},"durationMs":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Duration ms for this record."}},"required":["id","timeRecordId","allocationId","targetKind","targetId","basisPoints","durationMs"],"description":"Immutable submitted Time Ledger credit.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timeRecordId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","allocationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetKind":"task","targetId":"example","basisPoints":0,"durationMs":0}},"TrackableContext":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":500,"description":"Label for this record."},"taskId":{"type":"string","minLength":1,"description":"Identifies the referenced task."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"primaryRef":{"$ref":"#/components/schemas/EntityRef","description":"Primary ref for this record."},"workspaceRef":{"$ref":"#/components/schemas/EntityRef","description":"Workspace ref for this record."},"contextualRefs":{"default":[],"maxItems":20,"type":"array","items":{"$ref":"#/components/schemas/EntityRef"},"description":"Contextual refs, in order."},"suggestedCategoryId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeCategory — a user-owned category for reflection and reporting."}},"description":"Typed context used to begin a Time Record.","example":{}},"TimeShareTokenOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeShareToken — one revocable, current-task-only external read grant."},"label":{"type":"string","description":"Label for this record."},"includeTitle":{"type":"boolean","description":"Include title for this record."},"includeWorkspace":{"type":"boolean","description":"Include workspace for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"expiresAt":{"type":"string","description":"Expires time as an ISO 8601 instant."},"lastUsedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Last used time as an ISO 8601 instant."},"revokedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Revoked time as an ISO 8601 instant."}},"required":["id","label","includeTitle","includeWorkspace","createdAt","expiresAt","lastUsedAt","revokedAt"],"description":"A revocable, current-task-only share token as its owner sees it.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","includeTitle":false,"includeWorkspace":false,"createdAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z","lastUsedAt":"2026-09-19T12:00:00.000Z","revokedAt":"2026-09-19T12:00:00.000Z"}},"CalendarItemCreateIntent":{"type":"string","enum":["event","timebox"],"description":"Whether quick create should produce a native event or a first-class timebox.","example":"event"},"HubTaskItem":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The Task id, unique within its org."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The org the Task belongs to (its org chip) — set on every item so the cross-org view never merges tenants."},"title":{"type":"string","description":"The Task title."},"summary":{"$ref":"#/components/schemas/Shared27ea0cb6","description":"Short plain-language summary."},"state":{"$ref":"#/components/schemas/Sharedbf473e7d","description":"Current lifecycle state."},"stateType":{"$ref":"#/components/schemas/Sharedcf66d0b3","description":"State type for this record."},"priority":{"type":"string","enum":["none","urgent","high","medium","low"],"description":"The Task's priority level."},"assigneeId":{"$ref":"#/components/schemas/Sharedef45953d","description":"Identifies the referenced assignee."},"projectId":{"$ref":"#/components/schemas/Sharedc1e6b5f1","description":"Identifies the referenced project."},"dueDate":{"description":"The Task's due date (ISO `YYYY-MM-DD`), or null when none is set.","anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","organizationId","title","summary","state","stateType","priority"],"description":"An org-chipped task in a Hub aggregation.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none"}},"HubTodayPlanState":{"type":"string","enum":["unplanned","active","cleared"],"description":"The caller's planning state for one day.","example":"unplanned"},"HubTodayPlanItem":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The Task id, unique within its org."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The org the Task belongs to (its org chip) — set on every item so the cross-org view never merges tenants."},"title":{"type":"string","description":"The Task title."},"summary":{"$ref":"#/components/schemas/Shared27ea0cb6","description":"Short plain-language summary."},"state":{"$ref":"#/components/schemas/Sharedbf473e7d","description":"Current lifecycle state."},"stateType":{"$ref":"#/components/schemas/Sharedcf66d0b3","description":"State type for this record."},"priority":{"type":"string","enum":["none","urgent","high","medium","low"],"description":"The Task's priority level."},"assigneeId":{"$ref":"#/components/schemas/Sharedef45953d","description":"Identifies the referenced assignee."},"projectId":{"$ref":"#/components/schemas/Sharedc1e6b5f1","description":"Identifies the referenced project."},"dueDate":{"description":"The Task's due date (ISO `YYYY-MM-DD`), or null when none is set.","anyOf":[{"type":"string"},{"type":"null"}]},"planItemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The personal daily-plan item for this task."},"planStatus":{"type":"string","enum":["planned","done"],"description":"The item's completion state."},"sort":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The item's saved ordering value."},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The item's position in the returned plan."},"estimateMinutes":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Estimated focused minutes, or null when no useful estimate exists."},"timeboxStartsAt":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"The accepted timebox start, or null when unscheduled."},"timeboxEndsAt":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"The accepted timebox end, or null when unscheduled."},"blocked":{"type":"boolean","description":"Whether an incomplete dependency prevents this task from moving."},"dependencyImpact":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count of incomplete tasks this task directly unblocks."},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Application-owned explanation for this item occupying its position — a deadline, a running timer, a scheduled window, or work it unblocks. Null when its position is simply the order the caller accepted, which needs no explanation."}},"required":["id","organizationId","title","summary","state","stateType","priority","planItemId","planStatus","sort","position","estimateMinutes","timeboxStartsAt","timeboxEndsAt","blocked","dependencyImpact","reason"],"description":"A task in the accepted personal plan, enriched for Today.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none","planItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","planStatus":"planned","sort":0,"position":0,"estimateMinutes":1,"timeboxStartsAt":"2026-09-19T12:00:00.000Z","timeboxEndsAt":"2026-09-19T12:00:00.000Z","blocked":false,"dependencyImpact":0,"reason":"example"}},"HubTodayFocus":{"type":"object","properties":{"now":{"anyOf":[{"$ref":"#/components/schemas/HubTodayPlanItem"},{"type":"null"}],"description":"The single actionable item to work on now."},"after":{"anyOf":[{"$ref":"#/components/schemas/HubTodayPlanItem"},{"type":"null"}],"description":"The next actionable item after Now."}},"required":["now","after"],"description":"Today's finite two-step execution sequence.","example":{"now":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none","planItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","planStatus":"planned","sort":0,"position":0,"estimateMinutes":1,"timeboxStartsAt":"2026-09-19T12:00:00.000Z","timeboxEndsAt":"2026-09-19T12:00:00.000Z","blocked":false,"dependencyImpact":0,"reason":"example"},"after":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none","planItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","planStatus":"planned","sort":0,"position":0,"estimateMinutes":1,"timeboxStartsAt":"2026-09-19T12:00:00.000Z","timeboxEndsAt":"2026-09-19T12:00:00.000Z","blocked":false,"dependencyImpact":0,"reason":"example"}}},"HubTodayProjectStatus":{"type":"object","properties":{"kind":{"type":"string","const":"project","description":"Selects the value variant."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"name":{"type":"string","description":"Human-readable name."},"status":{"type":"string","description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared87b03b06","description":"Health for this record."},"latestUpdate":{"anyOf":[{"$ref":"#/components/schemas/HubTodayLatestUpdate"},{"type":"null"}],"description":"Latest update for this record."},"nextMilestone":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Milestone — a dated checkpoint within a Project."},"name":{"type":"string","description":"Human-readable name."},"targetDate":{"$ref":"#/components/schemas/Shared41b119e5","description":"Target date in YYYY-MM-DD format."}},"required":["id","name","targetDate"]},{"type":"null"}],"description":"Next milestone for this record."},"progress":{"type":"object","properties":{"completed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Completed for this record."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Total for this record."}},"required":["completed","total"],"description":"Progress for this record."}},"required":["kind","id","organizationId","name","status","health","latestUpdate","nextMilestone","progress"],"description":"A grounded Project status card for Today.","example":{"kind":"project","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","health":"on_track","latestUpdate":{"excerpt":"example","createdAt":"2026-09-19T12:00:00.000Z"},"nextMilestone":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","targetDate":"2026-09-19"},"progress":{"completed":0,"total":0}}},"HubTodayLatestUpdate":{"type":"object","properties":{"excerpt":{"type":"string","description":"A bounded plain-text excerpt from the durable update."},"createdAt":{"type":"string","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))$","description":"When the update was recorded."}},"required":["excerpt","createdAt"],"description":"A grounded status-update excerpt.","example":{"excerpt":"example","createdAt":"2026-09-19T12:00:00.000Z"}},"HubTodayInitiativeStatus":{"type":"object","properties":{"kind":{"type":"string","const":"initiative","description":"Selects the value variant."},"id":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"name":{"type":"string","description":"Human-readable name."},"status":{"type":"string","description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared87b03b06","description":"Health for this record."},"latestUpdate":{"anyOf":[{"$ref":"#/components/schemas/HubTodayLatestUpdate"},{"type":"null"}],"description":"Latest update for this record."},"targetDate":{"$ref":"#/components/schemas/Shared630c2f05","description":"Target date in YYYY-MM-DD format."},"connectedWork":{"type":"object","properties":{"onTrack":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"On track for this record."},"atRisk":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"At risk for this record."},"offTrack":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Off track for this record."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Total for this record."}},"required":["onTrack","atRisk","offTrack","total"],"description":"Connected work for this record."}},"required":["kind","id","organizationId","name","status","health","latestUpdate","targetDate","connectedWork"],"description":"A grounded Initiative status card for Today.","example":{"kind":"initiative","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","health":"on_track","latestUpdate":{"excerpt":"example","createdAt":"2026-09-19T12:00:00.000Z"},"targetDate":"2026-09-19","connectedWork":{"onTrack":0,"atRisk":0,"offTrack":0,"total":0}}},"HubTodaySuggestion":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The Task id, unique within its org."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The org the Task belongs to (its org chip) — set on every item so the cross-org view never merges tenants."},"title":{"type":"string","description":"The Task title."},"summary":{"$ref":"#/components/schemas/Shared27ea0cb6","description":"Short plain-language summary."},"state":{"$ref":"#/components/schemas/Sharedbf473e7d","description":"Current lifecycle state."},"stateType":{"$ref":"#/components/schemas/Sharedcf66d0b3","description":"State type for this record."},"priority":{"type":"string","enum":["none","urgent","high","medium","low"],"description":"The Task's priority level."},"assigneeId":{"$ref":"#/components/schemas/Sharedef45953d","description":"Identifies the referenced assignee."},"projectId":{"$ref":"#/components/schemas/Sharedc1e6b5f1","description":"Identifies the referenced project."},"dueDate":{"description":"The Task's due date (ISO `YYYY-MM-DD`), or null when none is set.","anyOf":[{"type":"string"},{"type":"null"}]},"estimateMinutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Estimate minutes for this record."},"dependencyImpact":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Dependency impact for this record."},"reason":{"type":"string","description":"Application-owned reason the task is a feasible next move."}},"required":["id","organizationId","title","summary","state","stateType","priority","estimateMinutes","dependencyImpact","reason"],"description":"A feasible momentum suggestion for Today.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none","estimateMinutes":1,"dependencyImpact":0,"reason":"example"}},"HubNeedsAttention":{"type":"object","properties":{"approvals":{"type":"array","items":{"$ref":"#/components/schemas/HubTaskItem"},"description":"Tasks (from agent sessions, across the caller's orgs) awaiting the caller's approval — the most urgent pane."},"blocked":{"type":"array","items":{"$ref":"#/components/schemas/HubTaskItem"},"description":"Tasks the caller is involved in that are blocked by an incomplete dependency, across their orgs."},"dueToday":{"type":"array","items":{"$ref":"#/components/schemas/HubTaskItem"},"description":"Tasks due on the requested date, across the caller's orgs."},"inbox":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Count of unread notifications across the caller's orgs (the same number as `GET /v1/me/notifications/count` → `unread`). >= 0."}},"required":["approvals","blocked","dueToday","inbox"],"description":"The Today cockpit's needs-attention trio.","example":{"approvals":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none"}],"blocked":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none"}],"dueToday":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none"}],"inbox":0}},"NotificationOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The notification's stable unique id."},"userId":{"type":"string","description":"The recipient user id — always the signed-in caller. This is what scopes the inbox; a caller only ever sees rows where `userId` is their own."},"organizationId":{"$ref":"#/components/schemas/Shared269a71fd","description":"Identifies the referenced organization."},"type":{"$ref":"#/components/schemas/Sharedc7aa7298","description":"Selects the value type."},"body":{"$ref":"#/components/schemas/NotificationBody","description":"Body for this record."},"readAt":{"$ref":"#/components/schemas/Shared7f4d4402","description":"Read time as an ISO 8601 instant."},"createdAt":{"type":"string","description":"ISO-8601 instant the notification was created; the inbox is ordered by this, newest first."}},"required":["id","userId","type","body","createdAt"],"description":"A cross-org Hub inbox notification.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","userId":"example","type":"mention","body":{"title":"example"},"createdAt":"2026-09-19T12:00:00.000Z"}},"NotificationBody":{"type":"object","properties":{"templateReview":{"type":"object","properties":{"activityId":{"type":"string","minLength":1,"description":"Identifies the referenced activity."},"sessionId":{"type":"string","minLength":1,"description":"Identifies the referenced session."},"allowedActions":{"type":"array","items":{"type":"string","enum":["keep","adjust","dismiss","undo"]},"description":"Allowed actions, in order."}},"required":["activityId","sessionId","allowedActions"],"additionalProperties":false,"description":"Template review for this record."},"title":{"type":"string","description":"The notification headline, always present (e.g. \"Alex mentioned you in Roadmap\")."},"summary":{"description":"An optional secondary line giving more context beneath the title.","type":"string"},"url":{"description":"An optional deep link to the originating entity (task, comment, agent session) the notification points at.","type":"string"}},"required":["title"],"additionalProperties":{},"description":"A notification's display payload.","example":{"title":"example"}},"HubPortfolioSwimlane":{"type":"object","properties":{"organization":{"$ref":"#/components/schemas/OrgChip","description":"Organization for this record."},"programs":{"type":"array","items":{"$ref":"#/components/schemas/HubProgramLane"},"description":"The Program lanes within this org, each containing its Project bars."},"unassigned":{"type":"array","items":{"$ref":"#/components/schemas/HubProjectBar"},"description":"Projects in this org that have no Program (they hang directly off the org), rendered as bars beneath the program lanes."}},"required":["organization","programs","unassigned"],"description":"An org swimlane in the Hub portfolio.","example":{"organization":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","slug":"example"},"programs":[{"program":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example"},"projects":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","milestones":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}]}]}],"unassigned":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","milestones":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}]}]}},"OrgChip":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The organization id this chip identifies."},"name":{"type":"string","description":"The organization's display name, shown on the chip."},"slug":{"type":"string","description":"The organization's URL slug, used to route from a Hub item into that org."},"avatar":{"description":"The organization's avatar image URL, or null when it has none.","anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","slug"],"description":"The org label stamped onto an aggregated Hub item.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","slug":"example"}},"HubProgramLane":{"type":"object","properties":{"program":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The Program id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The org the Program belongs to (org chip)."},"name":{"type":"string","description":"The Program name labelling the lane."},"status":{"type":"string","description":"The Program's lifecycle status (free-form per org)."},"health":{"description":"The Program's health signal, or null when unset.","anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","organizationId","name","status"],"description":"The Program heading this lane."},"projects":{"type":"array","items":{"$ref":"#/components/schemas/HubProjectBar"},"description":"The Project bars belonging to this Program, in timeline order."}},"required":["program","projects"],"description":"A program lane within an org swimlane.","example":{"program":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example"},"projects":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","milestones":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}]}]}},"HubProjectBar":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The Project id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The org the Project belongs to (org chip)."},"name":{"type":"string","description":"The Project name shown on the bar."},"status":{"type":"string","description":"The Project's lifecycle status (free-form per org)."},"health":{"description":"The Project's health signal (e.g. `on_track`/`at_risk`), driving the bar color, or null when unset.","anyOf":[{"type":"string"},{"type":"null"}]},"startDate":{"description":"The Project's start date (ISO `YYYY-MM-DD`) — the bar's left edge — or null when unset.","anyOf":[{"type":"string"},{"type":"null"}]},"targetDate":{"description":"The Project's target date (ISO `YYYY-MM-DD`) — the bar's right edge — or null when unset.","anyOf":[{"type":"string"},{"type":"null"}]},"milestones":{"type":"array","items":{"$ref":"#/components/schemas/HubMilestoneItem"},"description":"The milestone diamonds plotted along this Project bar."}},"required":["id","organizationId","name","status","milestones"],"description":"A project bar in a portfolio swimlane.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","milestones":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}]}},"HubMilestoneItem":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The milestone id."},"name":{"type":"string","description":"The milestone name shown at the diamond."},"targetDate":{"description":"The milestone's target date (ISO `YYYY-MM-DD`) — where the diamond sits on the timeline — or null when undated.","anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name"],"description":"A milestone diamond on a portfolio bar.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}},"HighlightOut":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"episodeKey":{"type":"string","description":"Episode key for this record."},"sort":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Sort for this record."},"occurredAt":{"type":"string","description":"Occurred time as an ISO 8601 instant."},"endedAt":{"type":"string","description":"Ended time as an ISO 8601 instant."},"system":{"type":"string","enum":["docket","linear","github","slack","discord","google_calendar","gmail","google_drive","outlook"],"description":"Allowed system value."},"entityKind":{"$ref":"#/components/schemas/Shared5e401ccf","description":"Entity kind for this record."},"docketEntityId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced docket entity."},"association":{"type":"string","enum":["pending","matched","unmatched"],"description":"Allowed association value."},"subjectTitle":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Subject title for this record."},"narration":{"$ref":"#/components/schemas/HighlightNarration","description":"Narration for this record."},"kept":{"type":"boolean","description":"Kept for this record."},"curatedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Curated time as an ISO 8601 instant."},"events":{"type":"array","items":{"$ref":"#/components/schemas/StreamEventOut"},"description":"Events, in order."}},"required":["id","episodeKey","sort","occurredAt","endedAt","system","entityKind","docketEntityId","association","subjectTitle","narration","kept","curatedAt","events"],"description":"One narrated episode of a day.","example":{"id":"example","episodeKey":"example","sort":0,"occurredAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","system":"docket","entityKind":"work_item","docketEntityId":"example","association":"pending","subjectTitle":"example","narration":{"state":"pending","text":"example","edited":false},"kept":false,"curatedAt":"2026-09-19T12:00:00.000Z","events":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"message","occurredAt":"2026-09-19T12:00:00.000Z","title":"example","summary":"example","permalink":"example","source":{"system":"docket","integrationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","externalUrl":"example"},"actor":{"source":"docket","externalId":"example","displayName":"example","avatarUrl":"example","docketActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"entity":{"kind":"work_item","source":"docket","externalId":"example","title":"example","url":"example","docketEntityId":"example"},"participants":[{"source":"docket","externalId":"example","displayName":"example","avatarUrl":"example","docketActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"detail":{"schema":"docket.state_change","fromState":"example","toState":"example"},"createdAt":"2026-09-19T12:00:00.000Z","actorIsViewer":false,"relevance":"mention","rendering":{"icon":"example","category":"example"}}]}},"HighlightNarration":{"type":"object","properties":{"state":{"type":"string","enum":["pending","generating","ready","failed"],"description":"Narration progress for one highlight: `pending` (not yet written), `generating` (being written), `ready` (written), `failed` (could not be written — the record still stands)."},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Text for this record."},"edited":{"type":"boolean","description":"Edited for this record."}},"required":["state","text","edited"],"description":"One highlight's sentence and its provenance.","example":{"state":"pending","text":"example","edited":false}},"HighlightSourceStatus":{"type":"object","properties":{"system":{"type":"string","enum":["docket","linear","github","slack","discord","google_calendar","gmail","google_drive","outlook"],"description":"Allowed system value."},"state":{"type":"string","enum":["ok","never_connected","stale","failed","disconnected"],"description":"How a source contributed: `ok` (read cleanly), `never_connected` (no connection exists), `stale` (connected, but not read since before this day), `failed` (the last read did not succeed), `disconnected` (intentionally severed)."},"lastReadAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Last read time as an ISO 8601 instant."},"eventCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Event count."}},"required":["system","state","lastReadAt","eventCount"],"description":"One connected source's contribution to a narrated day.","example":{"system":"docket","state":"ok","lastReadAt":"2026-09-19T12:00:00.000Z","eventCount":0}},"CalendarConnectionOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Calendar connection id."},"provider":{"type":"string","enum":["docket","google","microsoft"],"description":"Calendar provider; currently always 'google'."},"externalAccountId":{"type":"string","description":"Provider account id, e.g. Google's stable `sub`."},"accountEmail":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"null"}],"description":"Display email for the linked account."},"accountName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name for the linked account."},"accountPictureUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}],"description":"Avatar URL for the linked account."},"status":{"type":"string","enum":["connected","error","disconnected","reauth_required"],"description":"Current sync/connectivity status."},"calendarsTotal":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Number of calendars discovered."},"calendarsEnabled":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Number of calendars selected for agenda visibility."},"lastSyncedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Most recent successful sync timestamp."},"lastError":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Most recent sync/connectivity error, if any."},"scopeState":{"anyOf":[{"$ref":"#/components/schemas/CalendarScopeState"},{"type":"null"}],"description":"Most recently captured OAuth scope snapshot for this connection; null if never captured (e.g. a connection linked before scope capture existed)."},"createdAt":{"type":"string","description":"Connection creation timestamp."},"updatedAt":{"type":"string","description":"Connection update timestamp."}},"required":["id","provider","externalAccountId","accountEmail","accountName","accountPictureUrl","status","calendarsTotal","calendarsEnabled","lastSyncedAt","lastError","scopeState","createdAt","updatedAt"],"description":"A linked Google Calendar account.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"docket","externalAccountId":"example","accountEmail":"developer@example.com","accountName":"example","accountPictureUrl":"https://api.clearthedocket.com/v1/example","status":"connected","calendarsTotal":0,"calendarsEnabled":0,"lastSyncedAt":"2026-09-19T12:00:00.000Z","lastError":"example","scopeState":{"grantedScopes":["example"],"calendarRead":false,"calendarWrite":false,"capturedAt":"2026-09-19T12:00:00.000Z"},"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"CalendarScopeState":{"type":"object","properties":{"grantedScopes":{"type":"array","items":{"type":"string"},"description":"Raw OAuth scope strings actually granted by the provider."},"calendarRead":{"type":"boolean","description":"Whether the granted scopes include calendar read access."},"calendarWrite":{"type":"boolean","description":"Whether the granted scopes include calendar write access."},"sourceManagement":{"description":"Whether the grant can change the provider calendar-list membership.","type":"boolean"},"capturedAt":{"type":"string","description":"When this scope snapshot was captured (ISO 8601)."}},"required":["grantedScopes","calendarRead","calendarWrite","capturedAt"],"description":"A snapshot of the OAuth scopes actually granted for a calendar connection.","example":{"grantedScopes":["example"],"calendarRead":false,"calendarWrite":false,"capturedAt":"2026-09-19T12:00:00.000Z"}},"CalendarListOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Calendar list id."},"connectionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning calendar connection id."},"externalCalendarId":{"type":"string","description":"Provider calendar id, e.g. `primary`."},"title":{"type":"string","description":"Calendar display title."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider calendar description."},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Calendar timezone id, when Google provides one."},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Calendar color from the provider, usually hex."},"accessRole":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider access role for this calendar."},"primary":{"type":"boolean","description":"Whether this is the primary calendar for the account."},"selected":{"type":"boolean","description":"Whether this calendar appears in agenda contexts by default."},"visibleByDefault":{"type":"boolean","description":"Whether the global default visibility includes this calendar."},"lastSyncedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Most recent successful event sync timestamp."},"lastError":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Most recent calendar-specific sync error, if any."},"updatedAt":{"type":"string","description":"Calendar configuration update timestamp."}},"required":["id","connectionId","externalCalendarId","title","description","timezone","color","accessRole","primary","selected","visibleByDefault","lastSyncedAt","lastError","updatedAt"],"description":"A selectable Google calendar.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","externalCalendarId":"example","title":"example","description":"example","timezone":"example","color":"example","accessRole":"example","primary":false,"selected":false,"visibleByDefault":false,"lastSyncedAt":"2026-09-19T12:00:00.000Z","lastError":"example","updatedAt":"2026-09-19T12:00:00.000Z"}},"CalendarLayerOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Calendar layer id."},"connectionId":{"$ref":"#/components/schemas/Sharedb390988f","description":"Identifies the referenced connection."},"provider":{"anyOf":[{"type":"string","enum":["docket","google","microsoft"]},{"type":"null"}],"description":"Backing provider; null for Docket-native layers."},"sourceKind":{"$ref":"#/components/schemas/CalendarLayerSourceKind","description":"Source kind for this record."},"externalLayerId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider calendar id backing this layer; null for native layers."},"sourceIdentity":{"description":"Opaque logical-source identity; null for native or unmigrated layers.","anyOf":[{"$ref":"#/components/schemas/CalendarProviderIdentity"},{"type":"null"}]},"sourceRelationship":{"description":"How this account relates to the provider calendar source.","anyOf":[{"$ref":"#/components/schemas/CalendarSourceRelationship"},{"type":"null"}]},"sourceManagement":{"$ref":"#/components/schemas/CalendarSourceManagement","description":"Source management for this record."},"suggestedGroupKey":{"description":"Adapter-issued key for a likely logical-source group that needs confirmation.","anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string","description":"Layer display title."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Layer description, if any."},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Layer timezone id, when known."},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Layer color, usually hex."},"accessRole":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider access role for this layer, if applicable."},"primary":{"type":"boolean","description":"Whether this is the account's primary calendar layer."},"selected":{"type":"boolean","description":"Whether this layer is currently selected for rendering."},"visibleByDefault":{"type":"boolean","description":"Whether the global default visibility includes this layer."},"editableCore":{"type":"boolean","description":"Whether items on this layer support core-field edits (e.g. native layers)."},"lastSyncedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Most recent successful sync timestamp; null if never synced."},"lastError":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Most recent sync error, if any."},"watchExpiresAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider push-notification channel expiry, if subscribed."},"createdAt":{"type":"string","description":"Layer creation timestamp."},"updatedAt":{"type":"string","description":"Layer update timestamp."}},"required":["id","connectionId","provider","sourceKind","externalLayerId","title","description","timezone","color","accessRole","primary","selected","visibleByDefault","editableCore","lastSyncedAt","lastError","watchExpiresAt","createdAt","updatedAt"],"description":"One renderable stream of calendar items (provider calendar, native blocks, etc).","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"docket","sourceKind":"provider_calendar","externalLayerId":"example","title":"example","description":"example","timezone":"example","color":"example","accessRole":"example","primary":false,"selected":false,"visibleByDefault":false,"editableCore":false,"lastSyncedAt":"2026-09-19T12:00:00.000Z","lastError":"example","watchExpiresAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"CalendarLayerSourceKind":{"type":"string","enum":["provider_calendar","native_blocks","task_timeboxes","availability"],"description":"How a layer's items are populated: 'provider_calendar' (synced from a linked external provider calendar), 'native_blocks' (Docket-native time blocks), 'task_timeboxes' (derived from scheduled task timeboxes), or 'availability' (computed free/busy).","example":"provider_calendar"},"CalendarProviderIdentity":{"type":"object","properties":{"namespace":{"type":"string","minLength":1,"description":"Adapter-owned identity namespace."},"value":{"type":"string","minLength":1,"description":"Opaque identity value normalized by the provider adapter."}},"required":["namespace","value"],"description":"An opaque provider-issued calendar source or event identity.","example":{"namespace":"example","value":"example"}},"CalendarSourceRelationship":{"type":"string","enum":["owned","direct","shared","subscribed"],"description":"How the linked account relates to an external calendar source.","example":"owned"},"CalendarSourceManagement":{"type":"object","properties":{"canRemoveSubscription":{"type":"boolean","description":"Whether the provider lets this account remove the source subscription."},"requiresIncrementalConsent":{"type":"boolean","description":"Whether removal needs a wider grant than normal calendar access."}},"required":["canRemoveSubscription","requiresIncrementalConsent"],"description":"Provider-neutral management capabilities for one calendar source.","example":{"canRemoveSubscription":false,"requiresIncrementalConsent":false}},"CalendarSourceGroupOut":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable derived or persisted logical calendar group id."},"persistedGroupId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a confirmed logical CalendarSourceGroup."},{"type":"null"}],"description":"Stored confirmed group id, or null for an exact derived group."},"provenance":{"type":"string","enum":["single","exact","confirmed"],"description":"Why these physical sources form one logical calendar."},"title":{"type":"string","description":"Display title from the preferred source."},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display color from the preferred source."},"selected":{"type":"boolean","description":"Effective visibility shared by every active source."},"visibleByDefault":{"type":"boolean","description":"Default visibility shared by every active source."},"preferredLayerId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Physical source used for reads and provider writes."},"sources":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/CalendarLogicalSourceOut"},"description":"Active physical sources in the group."}},"required":["id","persistedGroupId","provenance","title","color","selected","visibleByDefault","preferredLayerId","sources"],"description":"One logical group of calendar sources.","example":{"id":"example","persistedGroupId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provenance":"single","title":"example","color":"example","selected":false,"visibleByDefault":false,"preferredLayerId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sources":[{"layerId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","relationship":"owned","management":{"canRemoveSubscription":false,"requiresIncrementalConsent":false}}]}},"CalendarLogicalSourceOut":{"type":"object","properties":{"layerId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Physical provider layer id."},"connectionId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a CalendarConnection — one user-scoped linked Google account used by Calendar."},{"type":"null"}],"description":"Linked account supplying the source."},"relationship":{"anyOf":[{"$ref":"#/components/schemas/CalendarSourceRelationship"},{"type":"null"}],"description":"How the linked account relates to this source."},"management":{"$ref":"#/components/schemas/CalendarSourceManagement","description":"Management for this record."}},"required":["layerId","connectionId","relationship","management"],"description":"One source of a logical calendar.","example":{"layerId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","relationship":"owned","management":{"canRemoveSubscription":false,"requiresIncrementalConsent":false}}},"CalendarSourceGroupSuggestionOut":{"type":"object","properties":{"key":{"type":"string","minLength":1,"description":"Adapter-issued suggestion key."},"title":{"type":"string","description":"Suggested logical calendar title."},"layerIds":{"minItems":2,"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a CalendarLayer — one renderable stream of calendar items."},"description":"Sources proposed for combination."}},"required":["key","title","layerIds"],"description":"A likely logical calendar group awaiting confirmation.","example":{"key":"example","title":"example","layerIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV","01ARZ3NDEKTSV4RRFFQ69G5FAW"]}},"CalendarLayerShareOut":{"type":"object","properties":{"layerId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Shared personal calendar layer."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Workspace receiving the layer."},"access":{"$ref":"#/components/schemas/CalendarLayerShareAccess","description":"Access for this record."},"createdBy":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Workspace actor who created the share."},"createdAt":{"type":"string","description":"Share creation timestamp."},"updatedAt":{"type":"string","description":"Share update timestamp."}},"required":["layerId","organizationId","access","createdBy","createdAt","updatedAt"],"description":"A personal calendar layer shared into a workspace.","example":{"layerId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","access":"details","createdBy":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"CalendarLayerShareAccess":{"type":"string","enum":["details","busy"],"description":"Share full item details or only redacted busy windows.","example":"details"},"CalendarLayerShareCreate":{"type":"object","properties":{"layerId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Personal calendar layer exposed to the workspace."},"access":{"$ref":"#/components/schemas/CalendarLayerShareAccess","description":"Access for this record."}},"required":["layerId"],"description":"Expose one personal calendar layer to the workspace in the route.","example":{"layerId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"CalendarProviderEventType":{"type":"string","enum":["default","out_of_office","focus_time","working_location","birthday","from_gmail"],"description":"A recognized provider event category normalized independently of provider naming conventions.","example":"default"},"CalendarItemStatus":{"type":"string","enum":["confirmed","tentative","cancelled","busy","free","held","conflicted"],"description":"A calendar item's display/scheduling status: provider-style ('confirmed'/'tentative'/'cancelled'), availability-style ('busy'/'free'/'held'), or 'conflicted' when an unresolved local/provider write conflict exists.","example":"confirmed"},"CalendarItemPermission":{"type":"object","properties":{"canEditCore":{"type":"boolean","description":"Whether the viewer may edit this item's core fields (title, time, location)."},"canDelete":{"type":"boolean","description":"Whether the viewer may delete/archive this item."},"readOnlyReason":{"anyOf":[{"type":"string","enum":["provider_scope","layer_access_role","event_capability","recurrence_unsupported","conflict","kind"]},{"type":"null"}],"description":"Why the item is read-only, or null when it is fully editable by the viewer."}},"required":["canEditCore","canDelete","readOnlyReason"],"description":"A normalized per-item permission snapshot an adapter emits, independent of provider quirks.","example":{"canEditCore":false,"canDelete":false,"readOnlyReason":"provider_scope"}},"CalendarItemSyncState":{"type":"string","enum":["clean","local_dirty","push_pending","conflict","provider_error"],"description":"A calendar item's outbox sync state relative to its provider: 'clean' (no pending local changes), 'local_dirty' (edited locally, not yet queued), 'push_pending' (queued in the write outbox), 'conflict' (local and provider diverged), or 'provider_error' (the last push attempt failed).","example":"clean"},"CalendarItemLinkedTaskOut":{"type":"object","properties":{"taskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Linked task id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning org of the linked task."},"role":{"$ref":"#/components/schemas/CalendarItemTaskRole","description":"Role for this record."},"sort":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Sort order among tasks linked to the same calendar item."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional note about the link."},"title":{"type":"string","description":"Linked task's title, for display without a second fetch."},"state":{"type":"string","description":"Linked task's current workflow-state key."},"done":{"type":"boolean","description":"Whether the linked task's current state maps to a terminal workflow-state type ('completed' or 'canceled')."}},"required":["taskId","organizationId","role","sort","note","title","state","done"],"description":"A safe per-viewer task summary for workspace/task-stack rendering.","example":{"taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","role":"prep","sort":0,"note":"example","title":"example","state":"example","done":false}},"CalendarItemTaskRole":{"type":"string","enum":["prep","agenda","follow_up","outcome","contained","related"],"description":"The role a linked task plays relative to a calendar item: preparation, agenda, follow-up, outcome, contained work, or a general relationship.","example":"prep"},"CalendarItemOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Calendar item id."},"layerId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning layer id."},"connectionId":{"$ref":"#/components/schemas/Shared55e48f56","description":"Identifies the referenced connection."},"kind":{"$ref":"#/components/schemas/CalendarItemKind","description":"Selects the value variant."},"provider":{"anyOf":[{"type":"string","enum":["docket","google","microsoft"]},{"type":"null"}],"description":"Backing provider; null for Docket-native items."},"providerEventType":{"description":"Recognized provider event semantics; null or omitted when unavailable.","anyOf":[{"$ref":"#/components/schemas/CalendarProviderEventType"},{"type":"null"}]},"blocksTime":{"description":"Whether this item reserves time.","type":"boolean"},"externalCalendarId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider calendar id; null for native items."},"externalEventId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider event id; null for native items."},"eventIdentity":{"description":"Opaque provider identity shared by equivalent event copies.","anyOf":[{"$ref":"#/components/schemas/CalendarProviderIdentity"},{"type":"null"}]},"occurrenceIdentity":{"description":"Provider occurrence discriminator when event identity represents a series.","anyOf":[{"type":"string"},{"type":"null"}]},"recurringEventId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider recurring-series id, if this instance belongs to one."},"recurrenceInstanceKey":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider key identifying this occurrence within a recurring series."},"status":{"$ref":"#/components/schemas/CalendarItemStatus","description":"Current lifecycle state."},"title":{"type":"string","description":"Item title."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Item description/body, if present."},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Item location, if present."},"workPlaceId":{"$ref":"#/components/schemas/Sharedeeaf4fc0","description":"Identifies the referenced work place."},"htmlLink":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}],"description":"Provider deep link to the item, if applicable."},"startsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Timed item start timestamp; null for all-day."},"endsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Timed item end timestamp; null for all-day."},"allDayStartDate":{"$ref":"#/components/schemas/Shared760e24ba","description":"All day start date in YYYY-MM-DD format."},"allDayEndDate":{"$ref":"#/components/schemas/Sharedc4745de3","description":"All day end date in YYYY-MM-DD format."},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Item timezone id, when known."},"endTimezone":{"description":"Timed item end timezone when it differs from `timezone`; null otherwise.","anyOf":[{"type":"string"},{"type":"null"}]},"organizer":{"anyOf":[{"$ref":"#/components/schemas/CalendarEventOrganizer"},{"type":"null"}],"description":"Item organizer details, if applicable."},"attendees":{"type":"array","items":{"$ref":"#/components/schemas/CalendarEventAttendee"},"description":"Item attendees, if applicable."},"permissions":{"$ref":"#/components/schemas/CalendarItemPermission","description":"Permissions for this record."},"syncState":{"$ref":"#/components/schemas/CalendarItemSyncState","description":"Sync state for this record."},"hasConflict":{"type":"boolean","description":"Whether this item currently has an unresolved local/provider write conflict."},"updatedExternalAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider updated timestamp, if present."},"archivedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"When this item was archived/soft-deleted; null while active."},"linkedTasks":{"type":"array","items":{"$ref":"#/components/schemas/CalendarItemLinkedTaskOut"},"description":"Tasks linked to this calendar item."},"createdAt":{"type":"string","description":"Local creation timestamp."},"updatedAt":{"type":"string","description":"Local update timestamp."}},"required":["id","layerId","connectionId","kind","provider","externalCalendarId","externalEventId","recurringEventId","recurrenceInstanceKey","status","title","description","location","htmlLink","startsAt","endsAt","allDayStartDate","allDayEndDate","timezone","organizer","attendees","permissions","syncState","hasConflict","updatedExternalAt","archivedAt","linkedTasks","createdAt","updatedAt"],"description":"One visible time object on a calendar layer.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","layerId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"provider_event","provider":"docket","externalCalendarId":"example","externalEventId":"example","recurringEventId":"example","recurrenceInstanceKey":"example","status":"confirmed","title":"example","description":"example","location":"example","htmlLink":"https://api.clearthedocket.com/v1/example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allDayStartDate":"2026-09-19","allDayEndDate":"2026-09-19","timezone":"example","organizer":{},"attendees":[{}],"permissions":{"canEditCore":false,"canDelete":false,"readOnlyReason":"provider_scope"},"syncState":"clean","hasConflict":false,"updatedExternalAt":"2026-09-19T12:00:00.000Z","archivedAt":"2026-09-19T12:00:00.000Z","linkedTasks":[{"taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","role":"prep","sort":0,"note":"example","title":"example","state":"example","done":false}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"CalendarItemRelationRole":{"type":"string","enum":["contained","related","follow_up"],"description":"A directed calendar-item relationship: the target is contained by the source, the two are generally related, or the target is a scheduler-created debrief that follows up on the source.","example":"contained"},"CalendarItemRelationOut":{"type":"object","properties":{"sourceItemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Calendar item the relationship starts from."},"targetItemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Calendar item the relationship points to."},"targetTitle":{"description":"Current target title when expanded by a read.","type":"string"},"targetKind":{"$ref":"#/components/schemas/CalendarItemKind","description":"Target kind for this record."},"role":{"$ref":"#/components/schemas/CalendarItemRelationRole","description":"Role for this record."},"createdByUserId":{"type":"string","minLength":1,"description":"User who created the relationship."},"createdAt":{"type":"string","description":"Relationship creation timestamp."}},"required":["sourceItemId","targetItemId","role","createdByUserId","createdAt"],"description":"A directed relationship between two calendar items.","example":{"sourceItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","role":"contained","createdByUserId":"example","createdAt":"2026-09-19T12:00:00.000Z"}},"CalendarItemTaskLinkOut":{"type":"object","properties":{"calendarItemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Linked calendar item id."},"taskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Linked task id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning org of the linked task."},"role":{"$ref":"#/components/schemas/CalendarItemTaskRole","description":"Role for this record."},"sort":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Sort order among tasks linked to the same calendar item."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional note about the link."},"createdBy":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Actor who created the link."},"createdAt":{"type":"string","description":"Link creation timestamp."}},"required":["calendarItemId","taskId","organizationId","role","sort","note","createdBy","createdAt"],"description":"A link between a calendar item and a task.","example":{"calendarItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","role":"prep","sort":0,"note":"example","createdBy":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z"}},"WorkPlaceSummary":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned saved place used in work-location schedules and evidence."},"name":{"type":"string","description":"Human-readable name."}},"required":["id","name"],"additionalProperties":false,"description":"Compact place identity without geofence.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}},"WorkPlaceOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Saved-place id."},"name":{"type":"string","minLength":1,"maxLength":120,"description":"User-defined saved-place name."},"address":{"default":null,"anyOf":[{"type":"string","minLength":1,"maxLength":240},{"type":"null"}],"description":"Optional private owner-facing address; never provider-projected."},"geofence":{"default":null,"anyOf":[{"$ref":"#/components/schemas/WorkPlaceGeofence"},{"type":"null"}],"description":"Optional user-authorized geofence."},"providerMappings":{"$ref":"#/components/schemas/Shared2b632cd6","description":"Provider mappings for this record."},"sort":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Stable personal display order."},"archivedAt":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Retirement time; null while active."},"createdAt":{"type":"string","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))$","description":"Saved-place creation time."},"updatedAt":{"type":"string","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))$","description":"Saved-place last-change time."}},"required":["id","name","archivedAt","createdAt","updatedAt"],"additionalProperties":false,"description":"One user-owned saved work place.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","archivedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"WorkPlaceGeofence":{"type":"object","properties":{"latitude":{"type":"number","minimum":-90,"maximum":90,"description":"Geofence-center latitude in degrees."},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"Geofence-center longitude in degrees."},"radiusMeters":{"type":"number","minimum":50,"maximum":2000,"description":"Matching radius in meters."}},"required":["latitude","longitude","radiusMeters"],"additionalProperties":false,"description":"A user-authorized saved-place geofence.","example":{"latitude":0,"longitude":0,"radiusMeters":50}},"WorkPlaceProviderMapping":{"type":"object","properties":{"provider":{"type":"string","minLength":1,"description":"Provider id owning this mapping."},"connectionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Linked provider account owning this mapping."},"classification":{"type":"string","minLength":1,"description":"Provider-native classification, never a Docket place type."},"providerPlaceId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Provider-native place identifier."},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Provider-native string metadata needed to preserve the mapping."}},"required":["provider","connectionId","classification","providerPlaceId","metadata"],"additionalProperties":false,"description":"An account-aware provider mapping for an arbitrary Docket saved place.","example":{"provider":"example","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","classification":"example","providerPlaceId":"example","metadata":{}}},"WorkLocationProfileOut":{"type":"object","properties":{"homePlaceId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned saved place used in work-location schedules and evidence."},{"type":"null"}],"description":"Optional singular place designated as home, independently of place identity."}},"required":["homePlaceId"],"additionalProperties":false,"description":"Personal work-location designations.","example":{"homePlaceId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"WorkLocationProjectionOut":{"type":"object","properties":{"connectionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a CalendarConnection — one user-scoped linked Google account used by Calendar."},"provider":{"type":"string","minLength":1,"description":"Provider for this record."},"state":{"type":"string","enum":["pending","healthy","retrying","unsupported","action_required"],"description":"Current lifecycle state."},"reason":{"$ref":"#/components/schemas/Shared61480e48","description":"Reason for this record."}},"required":["connectionId","provider","state","reason"],"additionalProperties":false,"description":"Per-account eventual-delivery state for a canonical mutation.","example":{"connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"example","state":"pending","reason":"unsupported_account"}},"WorkScheduleChangeOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of one provider or migration schedule change that still needs a decision."},"connectionId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a CalendarConnection — one user-scoped linked Google account used by Calendar."},{"type":"null"}],"description":"Identifies the referenced connection."},"provider":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Provider for this record."},"accountLabel":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Account label for this record."},"kind":{"type":"string","enum":["unmatched_place","schedule_conflict","legacy_conflict"],"description":"Selects the value variant."},"payload":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Payload for this record."},"createdAt":{"$ref":"#/components/schemas/Shared5a69cae8","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["id","connectionId","provider","accountLabel","kind","payload","createdAt","updatedAt"],"additionalProperties":false,"description":"One work-schedule change awaiting a decision.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"example","accountLabel":"example","kind":"unmatched_place","payload":{},"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"WorkSchedulePlanOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of one effective-dated user-owned work-schedule plan version."},"anchorDate":{"$ref":"#/components/schemas/Shared5f69fb7d","description":"Anchor date in YYYY-MM-DD format."},"timezone":{"type":"string","minLength":1,"description":"IANA timezone used for every wall-clock segment."},"effectiveFrom":{"$ref":"#/components/schemas/Shareda50f42fa","description":"Effective from for this record."},"effectiveUntil":{"$ref":"#/components/schemas/Shared949f5aa0","description":"Effective until for this record."},"cycleDays":{"$ref":"#/components/schemas/Shared79597039","description":"Cycle days for this record."},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Revision for this record."},"createdAt":{"$ref":"#/components/schemas/Shared5a69cae8","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["id","anchorDate","timezone","effectiveFrom","effectiveUntil","cycleDays","revision","createdAt","updatedAt"],"additionalProperties":false,"description":"One persisted work-schedule plan version.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","anchorDate":"2026-09-19","timezone":"example","effectiveFrom":"2026-09-19","effectiveUntil":"2026-09-19","cycleDays":[{"segments":[{"startMinute":0,"durationMinutes":1,"location":{"type":"saved_place","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}]}],"revision":1,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"WorkScheduleCycleDay":{"type":"object","properties":{"segments":{"maxItems":24,"type":"array","items":{"$ref":"#/components/schemas/WorkScheduleSegment"},"description":"Segments, in order."}},"required":["segments"],"additionalProperties":false,"description":"One day in a repeating work cycle.","example":{"segments":[{"startMinute":0,"durationMinutes":1,"location":{"type":"saved_place","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}]}},"WorkScheduleSegment":{"type":"object","properties":{"startMinute":{"type":"integer","minimum":0,"maximum":1439,"description":"Start minute for this record."},"durationMinutes":{"type":"integer","minimum":1,"maximum":10080,"description":"Duration minutes for this record."},"location":{"$ref":"#/components/schemas/WorkScheduleSegmentLocation","description":"Location for this record."}},"required":["startMinute","durationMinutes","location"],"additionalProperties":false,"description":"One timed work segment that may continue into later civil days.","example":{"startMinute":0,"durationMinutes":1,"location":{"type":"saved_place","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"WorkScheduleSegmentLocation":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"saved_place","description":"Selects the value type."},"placeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned saved place used in work-location schedules and evidence."}},"required":["type","placeId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"mobile","description":"Selects the value type."}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"undecided","description":"Selects the value type."}},"required":["type"],"additionalProperties":false}],"description":"A saved place, mobile-work state, or undecided work location.","example":{"type":"saved_place","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"WorkScheduleExceptionOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of one user-owned full-day work-schedule replacement."},"planVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of one effective-dated user-owned work-schedule plan version."},"date":{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},"segments":{"maxItems":24,"type":"array","items":{"$ref":"#/components/schemas/WorkScheduleSegment"},"description":"Segments, in order."},"origin":{"type":"string","enum":["docket","provider"],"description":"Allowed origin value."},"createdAt":{"$ref":"#/components/schemas/Shared5a69cae8","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["id","planVersionId","date","segments","origin","createdAt","updatedAt"],"additionalProperties":false,"description":"One persisted complete replacement for a generated schedule date.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","planVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","date":"2026-09-19","segments":[{"startMinute":0,"durationMinutes":1,"location":{"type":"saved_place","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}],"origin":"docket","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"WorkLocationAssertionOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned explicit work-location assertion or weekly series."},"placeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned saved place used in work-location schedules and evidence."},"schedule":{"$ref":"#/components/schemas/WorkLocationSchedule","description":"Schedule for this record."},"exceptions":{"type":"array","items":{"$ref":"#/components/schemas/WorkLocationOccurrenceException"},"description":"Exceptions, in order."},"origin":{"type":"string","enum":["docket","provider"],"description":"Allowed origin value."},"originProvider":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Origin provider for this record."},"originConnectionId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a CalendarConnection — one user-scoped linked Google account used by Calendar."},{"type":"null"}],"description":"Identifies the referenced origin connection."},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Revision for this record."},"archivedAt":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Archived time as an ISO 8601 instant."},"createdAt":{"$ref":"#/components/schemas/Shared5a69cae8","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["id","placeId","schedule","exceptions","origin","originProvider","originConnectionId","revision","archivedAt","createdAt","updatedAt"],"additionalProperties":false,"description":"One canonical explicit assertion.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","schedule":{"type":"one_off_all_day","date":"2026-09-19","timezone":"example"},"exceptions":[{"action":"cancel","date":"2026-09-19"}],"origin":"docket","originProvider":"example","originConnectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","revision":1,"archivedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"WorkLocationSchedule":{"oneOf":[{"$ref":"#/components/schemas/Shared153ad2c5"},{"$ref":"#/components/schemas/Shared623508ee"},{"type":"object","properties":{"type":{"type":"string","const":"weekly_all_day","description":"Selects the value type."},"effectiveFrom":{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},"effectiveUntil":{"$ref":"#/components/schemas/Shared512900eb","description":"Effective until for this record."},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"integer","minimum":0,"maximum":6},"description":"Weekdays, in order."},"timezone":{"type":"string","minLength":1,"description":"Timezone for this record."}},"required":["type","effectiveFrom","effectiveUntil","weekdays","timezone"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"weekly_timed","description":"Selects the value type."},"effectiveFrom":{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},"effectiveUntil":{"$ref":"#/components/schemas/Shared512900eb","description":"Effective until for this record."},"weekdays":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"integer","minimum":0,"maximum":6},"description":"Weekdays, in order."},"timezone":{"type":"string","minLength":1,"description":"Timezone for this record."},"startMinute":{"type":"integer","minimum":0,"maximum":1439,"description":"Start minute for this record."},"endMinute":{"type":"integer","minimum":1,"maximum":1440,"description":"End minute for this record."}},"required":["type","effectiveFrom","effectiveUntil","weekdays","timezone","startMinute","endMinute"],"additionalProperties":false}],"description":"A one-off or weekly location schedule.","example":{"type":"one_off_all_day","date":"2026-09-19","timezone":"example"}},"WorkLocationOccurrenceException":{"oneOf":[{"$ref":"#/components/schemas/Shared22653d88"},{"$ref":"#/components/schemas/Shared2074e2f9"}],"description":"A weekly occurrence exception.","example":{"action":"cancel","date":"2026-09-19"}},"WorkLocationSyncAccountOut":{"type":"object","properties":{"connectionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a CalendarConnection — one user-scoped linked Google account used by Calendar."},"provider":{"type":"string","minLength":1,"description":"Provider for this record."},"accountLabel":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Account label for this record."},"state":{"type":"string","enum":["pending","healthy","retrying","unsupported","action_required"],"description":"Current lifecycle state."},"reason":{"$ref":"#/components/schemas/Shared61480e48","description":"Reason for this record."},"capabilities":{"$ref":"#/components/schemas/WorkLocationProviderCapabilities","description":"Capabilities for this record."},"bootstrapCompletedAt":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Bootstrap completed time as an ISO 8601 instant."},"lastSucceededAt":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Last succeeded time as an ISO 8601 instant."},"pendingWrites":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Pending writes for this record."}},"required":["connectionId","provider","accountLabel","state","reason","capabilities","bootstrapCompletedAt","lastSucceededAt","pendingWrites"],"additionalProperties":false,"description":"Sync state for one linked account.","example":{"connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"example","accountLabel":"example","state":"pending","reason":"unsupported_account","capabilities":{"scheduledIntervals":false,"partialDays":false,"weeklyRecurrence":false,"currentPresence":false,"providerPlaceIds":false,"inboundChanges":false,"writes":false},"bootstrapCompletedAt":"2026-09-19T12:00:00.000Z","lastSucceededAt":"2026-09-19T12:00:00.000Z","pendingWrites":0}},"WorkLocationProviderCapabilities":{"type":"object","properties":{"scheduledIntervals":{"type":"boolean","description":"Scheduled intervals for this record."},"partialDays":{"type":"boolean","description":"Partial days for this record."},"weeklyRecurrence":{"type":"boolean","description":"Weekly recurrence for this record."},"currentPresence":{"type":"boolean","description":"Current presence for this record."},"providerPlaceIds":{"type":"boolean","description":"Provider place ids for this record."},"inboundChanges":{"type":"boolean","description":"Inbound changes for this record."},"writes":{"type":"boolean","description":"Writes for this record."}},"required":["scheduledIntervals","partialDays","weeklyRecurrence","currentPresence","providerPlaceIds","inboundChanges","writes"],"additionalProperties":false,"description":"Provider adapter features.","example":{"scheduledIntervals":false,"partialDays":false,"weeklyRecurrence":false,"currentPresence":false,"providerPlaceIds":false,"inboundChanges":false,"writes":false}},"IdentityOut":{"type":"object","properties":{"accountId":{"type":"string","description":"The provider's stable account id (e.g. the Google OIDC `sub`). This is the id an org integration binds to as its `externalAccountId` — the durable link between this identity and any org sync that uses it."},"provider":{"type":"string","enum":["google","github","linear","notion"],"description":"Which social provider this linked account belongs to."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The linked account's email, decoded server-side from the stored OIDC id token. Null when the token lacks the claim or the provider is non-OIDC (GitHub/Linear); the UI then falls back to the provider name."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The account holder's display name from the id token, or null when absent."},"picture":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The account holder's avatar URL from the id token, or null when absent."},"scopes":{"type":"array","items":{"type":"string"},"description":"The OAuth scopes the user granted when linking this account — the ceiling on what org integrations using this identity can access."},"reauthorizationRequired":{"description":"True when this linked identity has no usable OAuth token and must reconnect.","type":"boolean"},"linkedAt":{"type":"string","description":"ISO-8601 instant the external account was linked to the Docket identity."},"connectionCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many org-scoped Docket connections currently use this identity. A value above zero blocks unlinking until those connections are disconnected or rebound."}},"required":["accountId","provider","email","name","picture","scopes","linkedAt","connectionCount"],"description":"A linked external identity (a Google / GitHub / Linear account).","example":{"accountId":"example","provider":"google","email":"developer@example.com","name":"example","picture":"example","scopes":["example"],"linkedAt":"2026-09-19T12:00:00.000Z","connectionCount":0}},"NotificationQuietHours":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether this behavior is enabled."},"start":{"type":"string","pattern":"^\\d{2}:\\d{2}$","description":"Start for this record."},"end":{"type":"string","pattern":"^\\d{2}:\\d{2}$","description":"End for this record."},"days":{"minItems":1,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]},"description":"Days, in order."},"allowUrgent":{"type":"boolean","description":"Allow urgent for this record."}},"required":["enabled","start","end","days"],"description":"Quiet-hours preference window.","example":{"enabled":false,"start":"09:30","end":"09:30","days":["mon"]}},"NotificationChannelPreference":{"type":"object","properties":{"web":{"type":"boolean","description":"Web for this record."},"email":{"type":"boolean","description":"Email for this record."},"sms":{"type":"boolean","description":"Sms for this record."},"push":{"type":"boolean","description":"Push for this record."},"locked":{"type":"boolean","description":"Locked for this record."}},"description":"Per-channel preference values.","example":{}},"ContactPointOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"A 26-char Crockford base-32 ULID matching `^[0-9A-HJKMNP-TV-Z]{26}$`.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"userId":{"type":"string","minLength":1,"description":"Identifies the referenced user."},"type":{"type":"string","enum":["email","phone","push_token"],"description":"Selects the value type."},"value":{"$ref":"#/components/schemas/Shareda020a93f","description":"Stored or returned value."},"status":{"type":"string","enum":["pending","active","disabled","bounced","unsubscribed"],"description":"Current lifecycle state."},"primary":{"type":"boolean","description":"Primary for this record."},"verifiedAt":{"$ref":"#/components/schemas/Sharedb7c2fd7f","description":"Verified time as an ISO 8601 instant."},"disabledAt":{"$ref":"#/components/schemas/Shared79a9debf","description":"Disabled time as an ISO 8601 instant."},"createdAt":{"$ref":"#/components/schemas/Shared5a69cae8","description":"The record creation time as an ISO 8601 instant."}},"required":["id","userId","type","value","status","primary","verifiedAt","disabledAt","createdAt"],"description":"A verified or pending notification contact point.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","userId":"example","type":"email","value":"developer@example.com","status":"pending","primary":false,"verifiedAt":"2026-09-19T12:00:00.000Z","disabledAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z"}},"PhoneNumberOut":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"masked":{"type":"string","description":"Masked for this record."},"dialCode":{"type":"string","description":"Dial code for this record."},"country":{"type":"string","description":"Country for this record."},"status":{"type":"string","enum":["pending","verified","blocked"],"description":"Current lifecycle state."},"callingEnabled":{"type":"boolean","description":"Calling enabled for this record."},"verifiedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Verified time as an ISO 8601 instant."},"lastCalledAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Last called time as an ISO 8601 instant."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"challenge":{"anyOf":[{"$ref":"#/components/schemas/PhoneChallengeSummary"},{"type":"null"}],"description":"Challenge for this record."}},"required":["id","masked","dialCode","country","status","callingEnabled","verifiedAt","lastCalledAt","createdAt","challenge"],"description":"A phone number bound to the account, always redacted.","example":{"id":"example","masked":"example","dialCode":"example","country":"example","status":"pending","callingEnabled":false,"verifiedAt":"2026-09-19T12:00:00.000Z","lastCalledAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","challenge":{"state":"awaiting_code","expiresAt":"2026-09-19T12:00:00.000Z","attemptsRemaining":0,"resendAvailableAt":"2026-09-19T12:00:00.000Z","deliveryFailed":false}}},"PhoneChallengeSummary":{"type":"object","properties":{"state":{"type":"string","enum":["awaiting_code","delivery_unknown","delivery_failed","expired","attempts_exhausted"],"description":"Current lifecycle state."},"expiresAt":{"type":"string","description":"Expires time as an ISO 8601 instant."},"attemptsRemaining":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Attempts remaining for this record."},"resendAvailableAt":{"type":"string","description":"Resend available time as an ISO 8601 instant."},"deliveryFailed":{"type":"boolean","description":"Delivery failed for this record."}},"required":["state","expiresAt","attemptsRemaining","resendAvailableAt","deliveryFailed"],"description":"The live limits on a phone number’s outstanding one-time code.","example":{"state":"awaiting_code","expiresAt":"2026-09-19T12:00:00.000Z","attemptsRemaining":0,"resendAvailableAt":"2026-09-19T12:00:00.000Z","deliveryFailed":false}},"VoiceProviderCredential":{"type":"object","properties":{"transport":{"type":"string","enum":["webrtc","mock"],"description":"Allowed transport value."},"provider":{"type":"string","description":"Provider for this record."},"model":{"type":"string","description":"Model for this record."},"url":{"type":"string","description":"Absolute URL for this resource."},"clientSecret":{"type":"string","description":"Client secret for this record."},"expiresAt":{"type":"string","description":"Expires time as an ISO 8601 instant."}},"required":["transport","provider","model","url","clientSecret","expiresAt"],"description":"A short-lived credential for a browser-held realtime audio link.","example":{"transport":"webrtc","provider":"example","model":"example","url":"https://api.clearthedocket.com/v1/example","clientSecret":"example","expiresAt":"2026-09-19T12:00:00.000Z"}},"VoiceTurnOut":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"role":{"type":"string","enum":["user","athena"],"description":"Allowed role value."},"text":{"type":"string","description":"Text for this record."},"channel":{"type":"string","enum":["web","phone"],"description":"Allowed channel value."},"interrupted":{"type":"boolean","description":"Interrupted for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"provenance":{"type":"string","enum":["principal","email","linear","external_agent","mcp_app"],"description":"Allowed provenance value."},"origin":{"type":"string","description":"Origin for this record."}},"required":["id","role","text","channel","interrupted","createdAt"],"description":"One spoken line persisted into the conversation.","example":{"id":"example","role":"user","text":"example","channel":"web","interrupted":false,"createdAt":"2026-09-19T12:00:00.000Z"}},"VoiceActionOut":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"tool":{"type":"string","description":"Tool for this record."},"summary":{"type":"string","description":"Short plain-language summary."},"status":{"type":"string","enum":["running","done","failed"],"description":"Current lifecycle state."},"startedAt":{"type":"string","description":"Started time as an ISO 8601 instant."},"completedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Completed time as an ISO 8601 instant."}},"required":["id","tool","summary","status","startedAt","completedAt"],"description":"An action taken during a voice turn.","example":{"id":"example","tool":"example","summary":"example","status":"running","startedAt":"2026-09-19T12:00:00.000Z","completedAt":"2026-09-19T12:00:00.000Z"}},"VoiceTraceEntry":{"type":"object","properties":{"at":{"type":"string","description":"At for this record."},"seq":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Seq for this record."},"kind":{"type":"string","enum":["state","audio.segment.start","audio.segment.end","tool.start","tool.end","interrupt","turn.persisted"],"description":"Selects the value variant."},"detail":{"type":"string","description":"Detail for this record."}},"required":["at","seq","kind","detail"],"description":"One ordered fact about a voice session.","example":{"at":"example","seq":0,"kind":"state","detail":"example"}},"OwnershipBlocker":{"type":"object","properties":{"organizationId":{"type":"string","description":"The id of the shared org that blocks account deletion."},"name":{"type":"string","description":"The blocking organization's display name, shown so the user knows which org to resolve."},"memberCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many members the org has — always greater than 1 (a shared org the caller solely owns; a personal/solo org would not block).","example":4}},"required":["organizationId","name","memberCount"],"description":"A shared org the user solely owns and must resolve before account deletion.","example":{"organizationId":"example","name":"example","memberCount":0}},"AccountExportOut":{"type":"object","properties":{"id":{"type":"string","description":"The export job's stable id — its addressable resource id, used in `GET /me/account/exports/:id` and the `/file` download path."},"status":{"type":"string","enum":["pending","ready","failed","expired"],"description":"The export job's current lifecycle status (see AccountExportStatus)."},"origin":{"type":"string","enum":["manual","account_deletion"],"description":"Whether this is a manual or deletion-triggered archive."},"scope":{"$ref":"#/components/schemas/AccountExportScope","description":"Scope for this record."},"requestedAt":{"type":"string","description":"ISO-8601 instant the export was requested (queued)."},"readyAt":{"$ref":"#/components/schemas/Shared511906ae","description":"Ready time as an ISO 8601 instant."},"expiresAt":{"$ref":"#/components/schemas/Shared6a7cef0f","description":"Expires time as an ISO 8601 instant."},"downloadUrl":{"$ref":"#/components/schemas/Sharedff5409b2","description":"Download url for this record."}},"required":["id","status","origin","scope","requestedAt","readyAt","expiresAt","downloadUrl"],"description":"The user's latest personal-data export status.","example":{"id":"example","status":"pending","origin":"manual","scope":{"categories":["account"],"workspaces":[{"id":"example","name":"example"}],"allWorkspaces":false},"requestedAt":"2026-09-19T12:00:00.000Z","readyAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z","downloadUrl":"example"}},"AccountExportWorkspace":{"type":"object","properties":{"id":{"type":"string","description":"Stable workspace id."},"name":{"type":"string","description":"Workspace name when the export was requested."}},"required":["id","name"],"description":"A workspace selected for one archive.","example":{"id":"example","name":"example"}},"AccountExportScope":{"type":"object","properties":{"categories":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Shared61b9c479"},"description":"Selected top-level categories, never empty."},"workspaces":{"type":"array","items":{"$ref":"#/components/schemas/AccountExportWorkspace"},"description":"Workspaces selected for this archive; empty when workspace data is excluded."},"allWorkspaces":{"type":"boolean","description":"Whether all workspaces available while the archive is generated are included."}},"required":["categories","workspaces","allWorkspaces"],"description":"The persisted scope of one data archive.","example":{"categories":["account"],"workspaces":[{"id":"example","name":"example"}],"allWorkspaces":false}},"AthenaQueueCounts":{"type":"object","properties":{"needsYou":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Sessions awaiting user input or approval."},"working":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Pending or actively running sessions."},"finished":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Completed, failed, or canceled sessions."}},"required":["needsYou","working","finished"],"description":"Personal Athena work counts by queue lane.","example":{"needsYou":0,"working":0,"finished":0}},"AthenaSessionSummaryOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The private personal session id."},"kind":{"type":"string","enum":["chat","job"],"description":"Persistent `chat` or episodic `job` work."},"status":{"type":"string","enum":["pending","running","awaiting_input","awaiting_approval","completed","failed","canceled"],"description":"The durable execution lifecycle state."},"queueState":{"type":"string","enum":["needs_you","working","finished"],"description":"The product queue lane derived from `status`."},"objective":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The first user-authored brief, or null before the user supplies one."},"context":{"$ref":"#/components/schemas/Shareda940c5a2","description":"Context for this record."},"workspace":{"$ref":"#/components/schemas/Shared69bf982e","description":"Workspace for this record."},"startedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 start instant, or null before execution."},"endedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 terminal instant, or null while active."},"createdAt":{"type":"string","description":"ISO-8601 creation instant used for newest-first ordering."}},"required":["id","kind","status","queueState","objective","context","workspace","startedAt","endedAt","createdAt"],"description":"A private Athena work summary.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"chat","status":"pending","queueState":"needs_you","objective":"example","context":{},"workspace":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"},"startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z"}},"AthenaInvocationContextOut":{"type":"object","properties":{"workspaceId":{"description":"Validated workspace focus.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"source":{"$ref":"#/components/schemas/AthenaInvocationSourceOut","description":"Source for this record."}},"additionalProperties":false,"description":"Display-safe Athena invocation focus.","example":{}},"AthenaInvocationSourceOut":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/Shared1028093b","description":"Selects the value type."},"id":{"type":"string","minLength":1,"description":"The identifier of the source object."},"label":{"type":"string","minLength":1,"description":"Application-owned canonical display label visible to the authenticated owner."}},"required":["type","id","label"],"additionalProperties":false,"description":"Display-safe Athena source context.","example":{"type":"task","id":"example","label":"example"}},"AthenaWorkspaceOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Canonical workspace id."},"name":{"type":"string","minLength":1,"description":"Canonical workspace name visible to the owner."}},"required":["id","name"],"additionalProperties":false,"description":"Display-safe Athena workspace metadata.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}},"AthenaQueueOut":{"type":"object","properties":{"needsYou":{"type":"array","items":{"$ref":"#/components/schemas/AthenaSessionSummaryOut"},"description":"Work requiring a user decision or answer."},"working":{"type":"array","items":{"$ref":"#/components/schemas/AthenaSessionSummaryOut"},"description":"Pending or actively executing work."},"finished":{"type":"array","items":{"$ref":"#/components/schemas/AthenaSessionSummaryOut"},"description":"Terminal personal work history."}},"required":["needsYou","working","finished"],"description":"Grouped personal Athena work summaries.","example":{"needsYou":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"chat","status":"pending","queueState":"needs_you","objective":"example","context":{},"workspace":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"},"startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z"}],"working":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"chat","status":"pending","queueState":"needs_you","objective":"example","context":{},"workspace":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"},"startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z"}],"finished":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"chat","status":"pending","queueState":"needs_you","objective":"example","context":{},"workspace":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"},"startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z"}]}},"AthenaQueueCursors":{"type":"object","properties":{"needsYou":{"description":"Cursor for the next older Needs-you page.","type":"string"},"working":{"description":"Cursor for the next older Working page.","type":"string"},"finished":{"description":"Cursor for the next older Finished page.","type":"string"}},"additionalProperties":false,"description":"Per-lane Athena queue continuation cursors.","example":{}},"AthenaInvocationContext":{"type":"object","properties":{"workspaceId":{"description":"Optional workspace focus. The server validates current membership and never treats it as authority.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"source":{"$ref":"#/components/schemas/AthenaInvocationSource","description":"Source for this record."}},"additionalProperties":false,"description":"Validated invocation focus for caller-owned Athena work.","example":{}},"AthenaInvocationSource":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/Shared1028093b","description":"Selects the value type."},"id":{"type":"string","minLength":1,"description":"The identifier of the source object."}},"required":["type","id"],"additionalProperties":false,"description":"A source object that focused Athena.","example":{"type":"task","id":"example"}},"Elicitation":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"sessionId":{"type":"string","description":"Identifies the referenced session."},"task":{"$ref":"#/components/schemas/ElicitationTaskRef","description":"Task for this record."},"question":{"type":"string","description":"Question for this record."},"actionSummary":{"type":"string","description":"Action summary for this record."},"spec":{"$ref":"#/components/schemas/__schema0","description":"Spec for this record."},"status":{"type":"string","enum":["pending","answered","auto_resolved","parked","canceled"],"description":"Current lifecycle state."},"timeoutPolicy":{"type":"string","enum":["derivable","ambiguous","destructive"],"description":"Allowed timeout policy value."},"timeSensitive":{"type":"boolean","description":"Time sensitive for this record."},"expiresAt":{"type":"string","description":"Expires time as an ISO 8601 instant."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"settledAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Settled time as an ISO 8601 instant."},"resolver":{"anyOf":[{"type":"string","enum":["user","athena","timeout"]},{"type":"null"}],"description":"Resolver for this record."},"answer":{"anyOf":[{},{"type":"null"}],"description":"Answer for this record."},"autoResolveReason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Auto resolve reason for this record."},"live":{"type":"boolean","description":"Live for this record."}},"required":["id","sessionId","task","question","actionSummary","spec","status","timeoutPolicy","timeSensitive","expiresAt","createdAt","settledAt","resolver","answer","autoResolveReason","live"],"description":"One typed request for data from the user.","example":{"id":"example","sessionId":"example","task":{"id":"example","title":"example","href":"example"},"question":"example","actionSummary":"example","spec":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"status":"pending","timeoutPolicy":"derivable","timeSensitive":false,"expiresAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","settledAt":"2026-09-19T12:00:00.000Z","resolver":"user","answer":null,"autoResolveReason":"example","live":false}},"ElicitationTaskRef":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"title":{"type":"string","description":"Human-readable title."},"href":{"type":"string","description":"URL a client can open."}},"required":["id","title","href"],"description":"The task an elicitation exists to implement.","example":{"id":"example","title":"example","href":"example"}},"SessionOut":{"type":"object","properties":{"id":{"type":"string","description":"The session id — an opaque handle used to revoke it, never the bearer token."},"current":{"type":"boolean","description":"Whether this is the session the caller is making this request with."},"ipAddress":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The IP address the session was created from, or null when not recorded."},"userAgent":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The raw User-Agent header from sign-in, or null when not recorded."},"createdAt":{"type":"string","description":"ISO-8601 instant the session was created (signed in)."},"updatedAt":{"type":"string","description":"ISO-8601 instant the session was last refreshed."},"expiresAt":{"type":"string","description":"ISO-8601 instant the session expires unless refreshed again."}},"required":["id","current","ipAddress","userAgent","createdAt","updatedAt","expiresAt"],"description":"A signed-in device/browser session.","example":{"id":"example","current":false,"ipAddress":"example","userAgent":"example","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z"}},"PlanDraftOut":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"sessionId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced session."},"rootInitiativeId":{"$ref":"#/components/schemas/Shared3cd30ecc","description":"Identifies the referenced root initiative."},"title":{"type":"string","description":"Human-readable title."},"status":{"type":"string","enum":["active","committed","archived"],"description":"Current lifecycle state."},"revision":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Revision for this record."},"document":{"$ref":"#/components/schemas/PlanDocument","description":"Document for this record."},"objects":{"$ref":"#/components/schemas/Sharedf1cc3f9e","description":"Objects for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."}},"required":["id","organizationId","sessionId","rootInitiativeId","title","status","revision","document","objects","createdAt","updatedAt"],"description":"A personal planning draft and its document.","example":{"id":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sessionId":"example","rootInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","status":"active","revision":0,"document":{"nodes":[{"ref":"example","kind":"initiative","parentRef":"example","initiativeRefs":["example"],"initiativeIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"fields":{"title":"example"},"templateId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","status":"draft","objectId":"example"}],"edges":[{"fromRef":"example","toRef":"example","kind":"blocks"}]},"objects":{},"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"PlanDocument":{"type":"object","properties":{"nodes":{"type":"array","items":{"$ref":"#/components/schemas/PlanNode"},"description":"Nodes, in order."},"edges":{"type":"array","items":{"$ref":"#/components/schemas/PlanEdge"},"description":"Edges, in order."}},"required":["nodes","edges"],"description":"A plan draft’s nodes and edges.","example":{"nodes":[{"ref":"example","kind":"initiative","parentRef":"example","initiativeRefs":["example"],"initiativeIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"fields":{"title":"example"},"templateId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","status":"draft","objectId":"example"}],"edges":[{"fromRef":"example","toRef":"example","kind":"blocks"}]}},"PlanNode":{"type":"object","properties":{"ref":{"type":"string","minLength":1,"maxLength":64,"description":"A handle unique within the document."},"kind":{"type":"string","enum":["initiative","program","project","task"],"description":"What the node becomes when confirmed."},"parentRef":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The containing node. Null for an initiative; a task’s parent is its project, or a feature task when this task is an engineering subtask of it. Subtasks go one level deep: a task under a task carries no tasks of its own."},"initiativeRefs":{"type":"array","items":{"type":"string"},"description":"Further initiative nodes in this document a project also belongs to. A project with no parentRef sits under the first of them."},"initiativeIds":{"type":"array","items":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"description":"Existing initiatives, by real id, a project also belongs to."},"fields":{"$ref":"#/components/schemas/PlanNodeFields","description":"Fields for this record."},"templateId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},{"type":"null"}],"description":"The template applied to this node, when any."},"workTypeVersionId":{"description":"Publication applied to this node; absent on legacy and private drafts.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"inheritedLabelIds":{"description":"The label defaults copied by apply_template. Explicit label edits clear this snapshot.","type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."}},"status":{"type":"string","enum":["draft","confirmed"],"description":"`draft` until confirmed; `confirmed` once a real object exists for it."},"objectId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The real id once confirmed."}},"required":["ref","kind","parentRef","initiativeRefs","initiativeIds","fields","templateId","status","objectId"],"description":"One node of a plan document.","example":{"ref":"example","kind":"initiative","parentRef":"example","initiativeRefs":["example"],"initiativeIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"fields":{"title":"example"},"templateId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","status":"draft","objectId":"example"}},"PlanNodeFields":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":500,"description":"The name or title. Required."},"summary":{"description":"A one-line outcome summary.","type":"string","maxLength":280},"description":{"description":"The markdown body.","type":"string"},"status":{"description":"A workflow or lifecycle status key.","type":"string","minLength":1},"priority":{"description":"Task or project priority.","type":"string","enum":["none","urgent","high","medium","low"]},"health":{"description":"A health verdict for a project or initiative.","type":"string","enum":["on_track","at_risk","off_track"]},"visibility":{"description":"Project or program access scope.","type":"string","enum":["public","private"]},"updateCadence":{"description":"An initiative’s update interval.","type":"string","enum":["weekly","biweekly","monthly","quarterly","none"]},"ownerId":{"$ref":"#/components/schemas/Shared778d7f58","description":"Identifies the referenced owner."},"leadId":{"$ref":"#/components/schemas/Shareddff1ad0b","description":"Identifies the referenced lead."},"assigneeId":{"$ref":"#/components/schemas/Shared74de8232","description":"Identifies the referenced assignee."},"teamId":{"$ref":"#/components/schemas/Sharedc28be423","description":"Identifies the referenced team."},"labelIds":{"$ref":"#/components/schemas/Shared2a26e9d4","description":"Label ids for this record."},"targetDate":{"$ref":"#/components/schemas/Sharedf3c84258","description":"Target date in YYYY-MM-DD format."},"startDate":{"$ref":"#/components/schemas/Sharede2b5446c","description":"Start date in YYYY-MM-DD format."},"dueDate":{"$ref":"#/components/schemas/Shareda032bd26","description":"Due date in YYYY-MM-DD format."},"estimate":{"description":"A task’s estimate.","anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["title"],"description":"The editable fields of one plan node.","example":{"title":"example"}},"PlanEdge":{"type":"object","properties":{"fromRef":{"type":"string","description":"The blocking node."},"toRef":{"type":"string","description":"The blocked node."},"kind":{"type":"string","const":"blocks","description":"Selects the value variant."}},"required":["fromRef","toRef","kind"],"description":"A dependency between two plan nodes.","example":{"fromRef":"example","toRef":"example","kind":"blocks"}},"PlanObjectSnapshot":{"type":"object","properties":{"name":{"type":"string","description":"Human-readable name."},"statusName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Status name for this record."},"health":{"$ref":"#/components/schemas/Shared87b03b06","description":"Health for this record."},"href":{"type":"string","description":"URL a client can open."},"archived":{"type":"boolean","description":"Archived for this record."}},"required":["name","statusName","health","href","archived"],"description":"A confirmed node’s live record.","example":{"name":"example","statusName":"example","health":"on_track","href":"example","archived":false}},"PlanOp":{"oneOf":[{"type":"object","properties":{"op":{"type":"string","const":"set_title","description":"Op for this record."},"title":{"type":"string","minLength":1,"maxLength":200,"description":"Rename the plan itself."}},"required":["op","title"]},{"type":"object","properties":{"op":{"type":"string","const":"upsert_node","description":"Op for this record."},"node":{"type":"object","properties":{"ref":{"type":"string","minLength":1,"maxLength":64,"description":"Ref for this record."},"kind":{"type":"string","enum":["initiative","program","project","task"],"description":"What the node becomes when confirmed."},"parentRef":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Parent ref for this record."},"initiativeRefs":{"description":"Projects only: initiative nodes in this document the project belongs to. With no parentRef, the first one becomes its parent.","type":"array","items":{"type":"string"}},"initiativeIds":{"description":"Projects only: existing initiatives, by id, the project also contributes to.","type":"array","items":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."}},"fields":{"$ref":"#/components/schemas/PlanNodeFieldsPatch","description":"Fields for this record."},"templateId":{"description":"Records which template was used; does not copy its body. Use apply_template to copy defaults, then set_fields to write the completed Markdown.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},{"type":"null"}]}},"required":["ref","kind","fields"],"description":"Node for this record."}},"required":["op","node"]},{"type":"object","properties":{"op":{"type":"string","const":"set_fields","description":"Op for this record."},"ref":{"type":"string","description":"Ref for this record."},"fields":{"$ref":"#/components/schemas/PlanNodeFieldsPatch","description":"Fields for this record."}},"required":["op","ref","fields"]},{"type":"object","properties":{"op":{"type":"string","const":"move_node","description":"Op for this record."},"ref":{"type":"string","description":"Ref for this record."},"parentRef":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Parent ref for this record."}},"required":["op","ref","parentRef"]},{"type":"object","properties":{"op":{"type":"string","const":"remove_node","description":"Op for this record."},"ref":{"type":"string","description":"Ref for this record."}},"required":["op","ref"]},{"type":"object","properties":{"op":{"type":"string","const":"add_edge","description":"Op for this record."},"fromRef":{"type":"string","description":"From ref for this record."},"toRef":{"type":"string","description":"To ref for this record."}},"required":["op","fromRef","toRef"]},{"type":"object","properties":{"op":{"type":"string","const":"remove_edge","description":"Op for this record."},"fromRef":{"type":"string","description":"From ref for this record."},"toRef":{"type":"string","description":"To ref for this record."}},"required":["op","fromRef","toRef"]},{"type":"object","properties":{"op":{"type":"string","const":"apply_template","description":"Op for this record."},"ref":{"type":"string","description":"An existing draft node, including one added earlier in this ops batch."},"workTypeVersionId":{"description":"Pin this publication; otherwise use current.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"templateId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"A visible template id from plan_start, plan_read, or list_templates whose targetType matches the node kind."}},"required":["op","ref","templateId"],"description":"Copy missing draft fields, including the literal Markdown body. Already-set fields remain unchanged. Apply before drafting the body, then use set_fields to fill its sections."}],"description":"One edit to a plan document.","example":{"op":"set_title","title":"example"}},"PlanNodeFieldsPatch":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":500,"description":"The name or title. Required."},"summary":{"description":"A one-line outcome summary.","type":"string","maxLength":280},"description":{"description":"The markdown body.","type":"string"},"status":{"description":"A workflow or lifecycle status key.","type":"string","minLength":1},"priority":{"description":"Task or project priority.","type":"string","enum":["none","urgent","high","medium","low"]},"health":{"description":"A health verdict for a project or initiative.","type":"string","enum":["on_track","at_risk","off_track"]},"visibility":{"description":"Project or program access scope.","type":"string","enum":["public","private"]},"updateCadence":{"description":"An initiative’s update interval.","type":"string","enum":["weekly","biweekly","monthly","quarterly","none"]},"ownerId":{"$ref":"#/components/schemas/Shared778d7f58","description":"Identifies the referenced owner."},"leadId":{"$ref":"#/components/schemas/Shareddff1ad0b","description":"Identifies the referenced lead."},"assigneeId":{"$ref":"#/components/schemas/Shared74de8232","description":"Identifies the referenced assignee."},"teamId":{"$ref":"#/components/schemas/Sharedc28be423","description":"Identifies the referenced team."},"labelIds":{"$ref":"#/components/schemas/Shared2a26e9d4","description":"Label ids for this record."},"targetDate":{"$ref":"#/components/schemas/Sharedf3c84258","description":"Target date in YYYY-MM-DD format."},"startDate":{"$ref":"#/components/schemas/Sharede2b5446c","description":"Start date in YYYY-MM-DD format."},"dueDate":{"$ref":"#/components/schemas/Shareda032bd26","description":"Due date in YYYY-MM-DD format."},"estimate":{"description":"A task’s estimate.","anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"description":"Fields to set on a plan node; omitted fields keep their values.","example":{}},"PlanRosterPerson":{"type":"object","properties":{"actorId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Set this as `assigneeId`, `leadId`, or `ownerId` on a node."},"name":{"type":"string","description":"How the person is named in this workspace."},"teamIds":{"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"description":"The teams they are on, for picking who does what."}},"required":["actorId","name","teamIds"],"description":"A person a plan node may name.","example":{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","teamIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"PlanRosterTeam":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Set this as `teamId` on a project or task node."},"name":{"type":"string","description":"What the team is called."}},"required":["id","name"],"description":"A team a plan node may name.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}},"PlanCommitCounts":{"type":"object","properties":{"initiatives":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Initiatives created."},"projects":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Projects created."},"tasks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Tasks created that sit directly in a project."},"subtasks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Tasks created under another task."}},"required":["initiatives","projects","tasks","subtasks"],"description":"What one commit created, by kind.","example":{"initiatives":0,"projects":0,"tasks":0,"subtasks":0}},"ComposerDraftOut":{"type":"object","properties":{"id":{"type":"string","description":"The draft id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The workspace the composer will create into."},"kind":{"type":"string","enum":["task","project","initiative","program","team"],"description":"Which create composer the draft belongs to."},"revision":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Incremented on every save; an edit names the revision it was written against."},"payload":{"$ref":"#/components/schemas/ComposerDraftPayload","description":"Payload for this record."},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The drafted title or name, trimmed, or null when nothing has been typed yet."},"createdAt":{"type":"string","description":"When the draft was first saved, ISO 8601."},"updatedAt":{"type":"string","description":"When the draft was last saved, ISO 8601."},"expiresAt":{"type":"string","description":"When the draft is removed unless edited again, ISO 8601."}},"required":["id","organizationId","kind","revision","payload","title","createdAt","updatedAt","expiresAt"],"description":"A saved composer draft.","example":{"id":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"task","revision":0,"payload":{"kind":"task"},"title":"example","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z"}},"ComposerDraftPayload":{"oneOf":[{"$ref":"#/components/schemas/TaskDraftPayload"},{"$ref":"#/components/schemas/ProjectDraftPayload"},{"$ref":"#/components/schemas/InitiativeDraftPayload"},{"$ref":"#/components/schemas/ProgramDraftPayload"},{"$ref":"#/components/schemas/TeamDraftPayload"}],"description":"A composer’s saved, unsent state.","example":{"kind":"task"}},"TaskDraftPayload":{"type":"object","properties":{"blueprint":{"$ref":"#/components/schemas/Shareda0719e23","description":"Blueprint for this record."},"workTypeId":{"$ref":"#/components/schemas/Sharedaae74083","description":"Identifies the referenced work type."},"workTypeVersionId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},{"type":"null"}],"description":"Identifies the referenced work type version."},"kind":{"type":"string","const":"task","description":"Marks a task composer draft."},"title":{"description":"The title as typed.","type":"string"},"description":{"description":"The body as typed.","type":"string"},"teamOverride":{"$ref":"#/components/schemas/Sharedbe4cd0db","description":"Team override for this record."},"state":{"description":"The chosen workflow state key.","anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"priority":{"description":"The chosen priority.","type":"string","enum":["none","urgent","high","medium","low"]},"assigneeId":{"description":"Who the task is assigned to.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}]},"projectId":{"description":"The project the task belongs to.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}]},"milestoneId":{"description":"The milestone the task targets.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Milestone — a dated checkpoint within a Project."},{"type":"null"}]},"cycleId":{"description":"The cycle the task is scheduled into.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Cycle — a time-boxed iteration (sprint) Tasks can be scheduled into."},{"type":"null"}]},"startDate":{"description":"The start day, `YYYY-MM-DD`.","anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}]},"dueDate":{"description":"The due day, `YYYY-MM-DD`.","anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}]},"labelIds":{"$ref":"#/components/schemas/Shared2a26e9d4","description":"Label ids for this record."},"estimate":{"description":"The effort estimate in the workspace scale, or null for none.","anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"estimateMinutes":{"description":"The time estimate in minutes, or null for none.","anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"repeat":{"$ref":"#/components/schemas/ComposerRepeatDraft","description":"Repeat for this record."}},"required":["kind"],"description":"A saved task composer draft.","example":{"kind":"task"}},"ComposerRepeatDraft":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"none","description":"The task is created once."}},"required":["kind"]},{"type":"object","properties":{"kind":{"type":"string","const":"calendar","description":"The task repeats on calendar dates."},"schedule":{"type":"object","properties":{"kind":{"type":"string","enum":["daily","weekly","monthly","yearly"],"description":"The calendar cadence."}},"required":["kind"],"additionalProperties":{},"description":"A calendar-driven schedule, as the repeat editor produced it."},"missedPolicy":{"type":"string","enum":["skip","carry","resolve"],"description":"What happens to an occurrence that passes unfinished."},"materialization":{"type":"object","properties":{"horizonDays":{"type":"integer","minimum":1,"maximum":366,"description":"Days ahead to create occurrences."},"minimumOccurrences":{"type":"integer","minimum":1,"maximum":100,"description":"The fewest upcoming occurrences to keep ready."}},"required":["horizonDays","minimumOccurrences"],"description":"How far ahead copies are created."}},"required":["kind","schedule","missedPolicy","materialization"]},{"type":"object","properties":{"kind":{"type":"string","const":"after_completion","description":"The next copy follows completion."},"schedule":{"type":"object","properties":{"kind":{"type":"string","const":"after_completion","description":"Anchored to the prior copy’s completion."}},"required":["kind"],"additionalProperties":{},"description":"A completion-anchored schedule, as the repeat editor produced it."}},"required":["kind","schedule"]}],"description":"The task composer’s repeat value.","example":{"kind":"none"}},"ProjectDraftPayload":{"type":"object","properties":{"blueprint":{"$ref":"#/components/schemas/Shareda0719e23","description":"Blueprint for this record."},"workTypeId":{"$ref":"#/components/schemas/Sharedaae74083","description":"Identifies the referenced work type."},"workTypeVersionId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},{"type":"null"}],"description":"Identifies the referenced work type version."},"kind":{"type":"string","const":"project","description":"Marks a project composer draft."},"name":{"description":"The name as typed.","type":"string"},"summary":{"description":"The one-line summary as typed.","type":"string"},"description":{"description":"The body as typed.","type":"string"},"teamOverride":{"$ref":"#/components/schemas/Sharedbe4cd0db","description":"Team override for this record."},"leadId":{"description":"The project lead.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}]},"programId":{"description":"The program the project belongs to.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}]},"status":{"description":"The chosen project status key.","type":"string","minLength":1},"health":{"$ref":"#/components/schemas/Shared113f0821","description":"Health for this record."},"startTimeframe":{"description":"The planned start.","anyOf":[{"$ref":"#/components/schemas/ComposerTimeframe"},{"type":"null"}]},"targetTimeframe":{"description":"The planned finish.","anyOf":[{"$ref":"#/components/schemas/ComposerTimeframe"},{"type":"null"}]},"initiativeIds":{"description":"Initiatives the project serves.","type":"array","items":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."}},"milestones":{"description":"Milestones in the order they will be created.","maxItems":50,"type":"array","items":{"$ref":"#/components/schemas/ComposerMilestoneDraft"}}},"required":["kind"],"description":"A saved project composer draft.","example":{"kind":"project"}},"ComposerTimeframe":{"type":"object","properties":{"date":{"type":"string","format":"date","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])))$","description":"The canonical anchor day, `YYYY-MM-DD`."},"resolution":{"anyOf":[{"type":"string","enum":["month","quarter","halfYear","year"]},{"type":"null"}],"description":"The broad resolution, or null when a precise day was chosen."},"fiscalYearStartMonth":{"anyOf":[{"type":"integer","minimum":0,"maximum":11},{"type":"null"}],"description":"The zero-based fiscal start month for a broad value, or null for a precise day."}},"required":["date","resolution","fiscalYearStartMonth"],"description":"A planning date held by a draft.","example":{"date":"2026-09-19","resolution":"month","fiscalYearStartMonth":0}},"ComposerMilestoneDraft":{"type":"object","properties":{"name":{"type":"string","description":"The milestone name as typed."},"targetDate":{"anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}],"description":"The planned day, `YYYY-MM-DD`, or null."},"description":{"type":"string","description":"The note, empty when none was written."}},"required":["name","targetDate","description"],"description":"One milestone in a project draft.","example":{"name":"example","targetDate":"2026-09-19","description":"example"}},"InitiativeDraftPayload":{"type":"object","properties":{"blueprint":{"$ref":"#/components/schemas/Shareda0719e23","description":"Blueprint for this record."},"workTypeId":{"$ref":"#/components/schemas/Sharedaae74083","description":"Identifies the referenced work type."},"workTypeVersionId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},{"type":"null"}],"description":"Identifies the referenced work type version."},"kind":{"type":"string","const":"initiative","description":"Marks an initiative composer draft."},"name":{"description":"The name as typed.","type":"string"},"summary":{"description":"The one-line summary as typed.","type":"string"},"description":{"description":"The body as typed.","type":"string"},"ownerId":{"$ref":"#/components/schemas/Shared31bb4be0","description":"Identifies the referenced owner."},"status":{"description":"The chosen initiative status key.","type":"string","minLength":1},"targetTimeframe":{"description":"The planned finish.","anyOf":[{"$ref":"#/components/schemas/ComposerTimeframe"},{"type":"null"}]},"health":{"$ref":"#/components/schemas/Shared113f0821","description":"Health for this record."},"priority":{"description":"The chosen priority.","type":"string","enum":["none","low","medium","high"]},"updateCadence":{"description":"The expected update interval.","type":"string","enum":["weekly","biweekly","monthly","quarterly","none"]}},"required":["kind"],"description":"A saved initiative composer draft.","example":{"kind":"initiative"}},"ProgramDraftPayload":{"type":"object","properties":{"blueprint":{"$ref":"#/components/schemas/Shareda0719e23","description":"Blueprint for this record."},"workTypeId":{"$ref":"#/components/schemas/Sharedaae74083","description":"Identifies the referenced work type."},"workTypeVersionId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},{"type":"null"}],"description":"Identifies the referenced work type version."},"kind":{"type":"string","const":"program","description":"Marks a program composer draft."},"name":{"description":"The name as typed.","type":"string"},"summary":{"description":"The one-line summary as typed.","type":"string"},"description":{"description":"The body as typed.","type":"string"},"ownerId":{"$ref":"#/components/schemas/Shared31bb4be0","description":"Identifies the referenced owner."},"status":{"description":"The chosen program status key.","type":"string","minLength":1},"health":{"$ref":"#/components/schemas/Shared113f0821","description":"Health for this record."},"visibility":{"description":"Who in the workspace can see the program.","type":"string","enum":["public","private"]}},"required":["kind"],"description":"A saved program composer draft.","example":{"kind":"program"}},"TeamDraftPayload":{"type":"object","properties":{"kind":{"type":"string","const":"team","description":"Marks a team composer draft."},"name":{"description":"The name as typed.","type":"string"},"key":{"description":"The short key as typed or derived from the name.","type":"string"},"summary":{"description":"The one-line summary as typed.","type":"string"},"description":{"description":"The body as typed.","type":"string"},"triageEnabled":{"description":"Whether new work lands in triage first.","type":"boolean"},"agentGuidance":{"description":"Standing guidance for Athena on this team.","type":"string"}},"required":["kind"],"description":"A saved team composer draft.","example":{"kind":"team"}},"DeviceNotificationPlatform":{"type":"string","enum":["android"],"description":"The platform a device runs.","example":"android"},"DeviceNotificationItemResult":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"status":{"$ref":"#/components/schemas/DeviceNotificationItemStatus","description":"Current lifecycle state."}},"required":["id","status"],"description":"One upload item’s outcome.","example":{"id":"example","status":"stored"}},"DeviceNotificationItemStatus":{"type":"string","enum":["stored","duplicate","deleted","expired","orphaned","invalid"],"description":"`stored`: saved now. `duplicate`: already saved. `deleted`: a deletion made after it was captured covers it. `expired`: older than the device’s retention. `orphaned`: a removal whose notification the server does not hold. `invalid`: the item failed validation.","example":"stored"},"DeviceNotificationIn":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"The stable identifier for this resource."},"platform":{"$ref":"#/components/schemas/DeviceNotificationPlatform","description":"Platform for this record."},"extractorVersion":{"type":"integer","minimum":1,"maximum":1000000,"description":"Extractor version for this record."},"appId":{"type":"string","minLength":1,"maxLength":4000,"description":"The posting app’s package name."},"appName":{"type":"string","maxLength":4000,"description":"App name for this record."},"sourceKey":{"type":"string","minLength":1,"maxLength":4000,"description":"The platform’s key for the notification."},"threadId":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"description":"Identifies the referenced thread."},"threadTitle":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"description":"Thread title for this record."},"kind":{"$ref":"#/components/schemas/DeviceNotificationKind","description":"Selects the value variant."},"postedAt":{"type":"integer","minimum":0,"maximum":253402300799999,"description":"Posted time as an ISO 8601 instant."},"capturedAt":{"type":"integer","minimum":0,"maximum":253402300799999,"description":"When the phone stored it; retention runs from here."},"title":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"description":"Human-readable title."},"subtitle":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"description":"Subtitle for this record."},"body":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"description":"Body for this record."},"lines":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","maxLength":4000},"description":"Lines, in order."},"redacted":{"type":"boolean","description":"Redacted for this record."},"scrubbed":{"type":"boolean","description":"Scrubbed for this record."},"backfilled":{"type":"boolean","description":"Backfilled for this record."},"contentHash":{"type":"string","minLength":1,"maxLength":4000,"description":"Content hash for this record."},"android":{"anyOf":[{"$ref":"#/components/schemas/DeviceNotificationAndroidIn"},{"type":"null"}],"description":"Android for this record."},"messages":{"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/DeviceNotificationMessageIn"},"description":"Messages, in order."}},"required":["id","platform","extractorVersion","appId","appName","sourceKey","kind","postedAt","capturedAt","redacted","scrubbed","backfilled","contentHash"],"description":"One notification captured on a device.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","platform":"android","extractorVersion":1,"appId":"example","appName":"example","sourceKey":"example","kind":"message","postedAt":0,"capturedAt":0,"redacted":false,"scrubbed":false,"backfilled":false,"contentHash":"example"}},"DeviceNotificationKind":{"type":"string","enum":["message","email","call","event","reminder","alarm","social","promotion","status","system","other"],"description":"What a synced notification is about.","example":"message"},"DeviceNotificationAndroidIn":{"type":"object","properties":{"channelId":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"description":"Identifies the referenced channel."},"category":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"description":"Category for this record."},"whenAt":{"type":"integer","minimum":0,"maximum":253402300799999,"description":"The notification’s own `when`, Unix ms."},"shortcutId":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"description":"Identifies the referenced shortcut."}},"required":["whenAt"],"description":"Android notification fields.","example":{"whenAt":0}},"DeviceNotificationMessageIn":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"The stable identifier for this resource."},"threadId":{"type":"string","maxLength":4000,"description":"The conversation the message belongs to."},"sender":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"description":"Sender for this record."},"sentAt":{"type":"integer","minimum":0,"maximum":253402300799999,"description":"Sent time as an ISO 8601 instant."},"text":{"type":"string","maxLength":4000,"description":"Text for this record."},"identity":{"type":"string","minLength":1,"maxLength":4000,"description":"A stable identity for the message across notifications. A message already stored with this identity is not stored again."}},"required":["id","threadId","sentAt","text","identity"],"description":"One conversation message.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","threadId":"example","sentAt":0,"text":"example","identity":"example"}},"DeviceNotificationUnreadableItem":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":64,"description":"The stable identifier for this resource."}},"required":["id"],"additionalProperties":{},"description":"An item that does not satisfy the full schema. It is answered `invalid` in its own result instead of failing the batch.","example":{"id":"example"}},"DeviceNotificationRemovalIn":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"The stable identifier for this resource."},"notificationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"Identifies the referenced notification."},"removedAt":{"type":"integer","minimum":0,"maximum":253402300799999,"description":"Removed time as an ISO 8601 instant."},"reason":{"$ref":"#/components/schemas/DeviceNotificationRemovalReason","description":"Reason for this record."},"platformReason":{"description":"The platform’s own reason code, when it gave one.","anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["id","notificationId","removedAt","reason"],"description":"One notification removal.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","notificationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removedAt":0,"reason":"opened"}},"DeviceNotificationRemovalReason":{"type":"string","enum":["opened","dismissed","dismissed_all","withdrawn_by_app","expired","snoozed","other","unknown"],"description":"Why a notification was removed from the device.","example":"opened"},"DeviceNotificationAppDeletion":{"type":"object","properties":{"appId":{"type":"string","description":"Identifies the referenced app."},"deletedBefore":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Entries captured at or before this, Unix ms."}},"required":["appId","deletedBefore"],"description":"One app’s deletion time.","example":{"appId":"example","deletedBefore":0}},"DeviceNotificationOut":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"deviceId":{"type":"string","description":"Identifies the referenced device."},"platform":{"$ref":"#/components/schemas/DeviceNotificationPlatform","description":"Platform for this record."},"extractorVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Extractor version for this record."},"appId":{"type":"string","description":"Identifies the referenced app."},"appName":{"type":"string","description":"App name for this record."},"sourceKey":{"type":"string","description":"Source key for this record."},"threadId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced thread."},"threadTitle":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Thread title for this record."},"kind":{"$ref":"#/components/schemas/DeviceNotificationKind","description":"Selects the value variant."},"postedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Posted time as an ISO 8601 instant."},"capturedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Captured time as an ISO 8601 instant."},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Human-readable title."},"subtitle":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Subtitle for this record."},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Body for this record."},"lines":{"type":"array","items":{"type":"string"},"description":"Lines, in order."},"redacted":{"type":"boolean","description":"Redacted for this record."},"scrubbed":{"type":"boolean","description":"Scrubbed for this record."},"backfilled":{"type":"boolean","description":"Backfilled for this record."},"contentHash":{"type":"string","description":"Content hash for this record."},"android":{"anyOf":[{"type":"object","properties":{"channelId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced channel."},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Category for this record."},"whenAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"When time as an ISO 8601 instant."},"shortcutId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced shortcut."}},"required":["channelId","category","whenAt","shortcutId"]},{"type":"null"}],"description":"Android for this record."},"messages":{"type":"array","items":{"$ref":"#/components/schemas/DeviceNotificationMessageOut"},"description":"Messages first stored with this notification, oldest first. A message already stored with an earlier notification is not repeated."},"removal":{"anyOf":[{"$ref":"#/components/schemas/DeviceNotificationRemovalOut"},{"type":"null"}],"description":"Removal for this record."},"receivedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"When the server stored it, Unix ms."},"expiresAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"When the server deletes it, Unix ms."}},"required":["id","deviceId","platform","extractorVersion","appId","appName","sourceKey","threadId","threadTitle","kind","postedAt","capturedAt","title","subtitle","body","lines","redacted","scrubbed","backfilled","contentHash","android","messages","removal","receivedAt","expiresAt"],"description":"A synced notification.","example":{"id":"example","deviceId":"example","platform":"android","extractorVersion":0,"appId":"example","appName":"example","sourceKey":"example","threadId":"example","threadTitle":"example","kind":"message","postedAt":0,"capturedAt":0,"title":"example","subtitle":"example","body":"example","lines":["example"],"redacted":false,"scrubbed":false,"backfilled":false,"contentHash":"example","android":{"channelId":"example","category":"example","whenAt":0,"shortcutId":"example"},"messages":[{"id":"example","threadId":"example","sender":"example","sentAt":0,"text":"example","identity":"example"}],"removal":{"id":"example","removedAt":0,"reason":"opened","platformReason":0},"receivedAt":0,"expiresAt":0}},"DeviceNotificationMessageOut":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"threadId":{"type":"string","description":"Identifies the referenced thread."},"sender":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Sender for this record."},"sentAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Sent time as an ISO 8601 instant."},"text":{"type":"string","description":"Text for this record."},"identity":{"type":"string","description":"Identity for this record."}},"required":["id","threadId","sender","sentAt","text","identity"],"description":"A stored conversation message.","example":{"id":"example","threadId":"example","sender":"example","sentAt":0,"text":"example","identity":"example"}},"DeviceNotificationRemovalOut":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"removedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Removed time as an ISO 8601 instant."},"reason":{"$ref":"#/components/schemas/DeviceNotificationRemovalReason","description":"Reason for this record."},"platformReason":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Platform reason for this record."}},"required":["id","removedAt","reason","platformReason"],"description":"A stored removal.","example":{"id":"example","removedAt":0,"reason":"opened","platformReason":0}},"PersonalMcpConnectionOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"A 26-char Crockford base-32 ULID matching `^[0-9A-HJKMNP-TV-Z]{26}$`.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"url":{"type":"string","format":"uri","description":"Absolute URL for this resource."},"name":{"type":"string","description":"Human-readable name."},"alias":{"type":"string","pattern":"^[a-z][a-z0-9_]{1,20}$","description":"Lowercase tool prefix used as `<alias>__<tool>` inside Athena."},"authMode":{"type":"string","enum":["oauth","bearer","none"],"description":"Allowed auth mode value."},"status":{"$ref":"#/components/schemas/Shared2b864329","description":"Current lifecycle state."},"toolCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Tool count."},"lastError":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Last error for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."}},"required":["id","url","name","alias","authMode","status","toolCount","lastError","createdAt"],"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","url":"https://api.clearthedocket.com/v1/example","name":"example","alias":"field_name","authMode":"oauth","status":"pending","toolCount":0,"lastError":"example","createdAt":"2026-09-19T12:00:00.000Z"}},"AthenaAssignmentOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"A 26-char Crockford base-32 ULID matching `^[0-9A-HJKMNP-TV-Z]{26}$`.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"entityType":{"type":"string","enum":["initiative","project","task"],"description":"Allowed entity type value."},"entityId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"A 26-char Crockford base-32 ULID matching `^[0-9A-HJKMNP-TV-Z]{26}$`.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"objective":{"type":"string","description":"Objective for this record."},"status":{"type":"string","enum":["active","paused","completed"],"description":"Current lifecycle state."},"activeSessionId":{"$ref":"#/components/schemas/Shared9315ea3d","description":"Identifies the referenced active session."},"pausedReason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Paused reason for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."}},"required":["id","organizationId","entityType","entityId","objective","status","activeSessionId","pausedReason","createdAt","updatedAt"],"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","entityType":"initiative","entityId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","objective":"example","status":"active","activeSessionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","pausedReason":"example","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"AthenaTriggerOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"A 26-char Crockford base-32 ULID matching `^[0-9A-HJKMNP-TV-Z]{26}$`.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"assignmentId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"A 26-char Crockford base-32 ULID matching `^[0-9A-HJKMNP-TV-Z]{26}$`.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"type":{"type":"string","enum":["event","scheduled"],"description":"Selects the value type."},"eventKinds":{"$ref":"#/components/schemas/Shareddb800f6b","description":"Event kinds for this record."},"scheduleMinutes":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Schedule minutes for this record."},"cooldownMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Cooldown minutes for this record."},"enabled":{"type":"boolean","description":"Whether this behavior is enabled."},"lastTriggeredAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Last triggered time as an ISO 8601 instant."},"nextRunAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Next run time as an ISO 8601 instant."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."}},"required":["id","assignmentId","type","eventKinds","scheduleMinutes","cooldownMinutes","enabled","lastTriggeredAt","nextRunAt","createdAt"],"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","assignmentId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","type":"event","eventKinds":["message"],"scheduleMinutes":0,"cooldownMinutes":0,"enabled":false,"lastTriggeredAt":"2026-09-19T12:00:00.000Z","nextRunAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z"}},"LatticeDeviceOut":{"type":"object","properties":{"id":{"type":"string","description":"The gateway’s id for the device."},"name":{"type":"string","description":"The name its owner gave it."},"status":{"type":"string","enum":["unpaired","reachable","offline","revoked"],"description":"Live reachability as of this read."},"ready":{"type":"boolean","description":"Whether a turn dispatched right now could run on it."},"lastSeenAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 time the relay last saw it."},"executionBackend":{"type":"string","description":"Which runtime family serves the work."},"selected":{"type":"boolean","description":"Whether this is the device Athena is pointed at."}},"required":["id","name","status","ready","lastSeenAt","executionBackend","selected"],"description":"One paired Lattice device.","example":{"id":"example","name":"example","status":"unpaired","ready":false,"lastSeenAt":"2026-09-19T12:00:00.000Z","executionBackend":"example","selected":false}},"AthenaMailMessageOut":{"type":"object","properties":{"id":{"type":"string","description":"Stable opaque id — the value attachments reference."},"kind":{"type":"string","enum":["athena_email"],"description":"Which kind of context object this is."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Workspace the object is filed in."},"title":{"type":"string","description":"Human title (a received message uses its subject)."},"snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Short preview of the content; null when there is none."},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Plain-text content; null when it was not captured."},"contentStatus":{"type":"string","enum":["complete","metadata-only"],"description":"Whether the content was captured at all."},"source":{"$ref":"#/components/schemas/ContextObjectSource","description":"Source for this record."},"occurredAt":{"type":"string","description":"ISO-8601 instant the object came into being (a message: when it was received)."},"createdAt":{"type":"string","description":"ISO-8601 instant Docket stored it."},"permalink":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"In-app link to the object; null when it has none."},"fromAddress":{"type":"string","description":"The sender's address."},"fromName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The sender's display name, when the header had one."},"toAddress":{"type":"string","description":"The Athena address the message was accepted for."},"bodyHtml":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"HTML body, when the message had one."},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/AthenaMailAttachmentOut"},"description":"Files that arrived with the message."},"streamEventId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Id of this message’s entry in the universal inbox stream; null until fan-out."},"attachedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many Docket entities this message is currently attached to."}},"required":["id","kind","organizationId","title","snippet","content","contentStatus","source","occurredAt","createdAt","permalink","fromAddress","fromName","toAddress","bodyHtml","attachments","streamEventId","attachedCount"],"description":"A message Athena received natively, as an attachable context object.","example":{"id":"example","kind":"athena_email","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","snippet":"example","content":"example","contentStatus":"complete","source":{"system":"example","provider":"example","reference":"example","label":"example"},"occurredAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","permalink":"example","fromAddress":"example","fromName":"example","toAddress":"example","bodyHtml":"example","attachments":[{"id":"example","filename":"example","contentType":"example"}],"streamEventId":"example","attachedCount":0}},"ContextObjectSource":{"type":"object","properties":{"system":{"type":"string","description":"The system that produced it — 'docket' for anything Docket itself received."},"provider":{"type":"string","description":"The adapter that received it (e.g. 'resend'); recorded for auditability."},"reference":{"type":"string","description":"The producing system's own id for the object — the redelivery idempotency key."},"label":{"type":"string","description":"A short human attribution, e.g. the sender address for a received message."}},"required":["system","provider","reference","label"],"description":"Provenance of a context object.","example":{"system":"example","provider":"example","reference":"example","label":"example"}},"AthenaMailAttachmentOut":{"type":"object","properties":{"id":{"type":"string","description":"The receiving provider's id for the file."},"filename":{"type":"string","description":"Filename as the sender supplied it."},"contentType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Declared MIME type, when the provider gave one."},"status":{"type":"string","enum":["ready","rejected","unavailable"],"description":"Current lifecycle state."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Digest for this record."},"size":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Size for this record."},"errorCode":{"type":"string","description":"Error code for this record."}},"required":["id","filename","contentType"],"description":"A file attached to a received message.","example":{"id":"example","filename":"example","contentType":"example"}},"AthenaMailAttachmentTargetOut":{"type":"object","properties":{"attachmentId":{"type":"string","description":"Identifier for the attachment linking this message to the entity."},"subjectType":{"type":"string","enum":["task","initiative","project"],"description":"Kind of entity the message is attached to."},"subjectId":{"type":"string","description":"Id of that entity."},"subjectTitle":{"type":"string","description":"That entity’s current title."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Workspace the entity belongs to."},"createdAt":{"type":"string","description":"ISO-8601 instant the message was attached."}},"required":["attachmentId","subjectType","subjectId","subjectTitle","organizationId","createdAt"],"description":"A Docket entity a received message is attached to.","example":{"attachmentId":"example","subjectType":"task","subjectId":"example","subjectTitle":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z"}},"GetV1OrgsByOrgIdSettingsWorkStructureResponse200":{"type":"object","properties":{"initiativeMaxDepth":{"type":"integer","minimum":1,"maximum":5,"description":"Maximum total levels in the workspace Initiative hierarchy."},"autoCompleteParentTasks":{"type":"boolean","description":"Whether completing or canceling every direct child also completes its parent."},"estimationScale":{"$ref":"#/components/schemas/Sharedf34f6224","description":"Estimation scale for this record."},"fiscalYearStartMonth":{"type":"integer","minimum":0,"maximum":11,"description":"Zero-based month that starts the workspace fiscal year. January is 0 and December is 11."},"workingWeekdays":{"$ref":"#/components/schemas/Shared2e6bcf94","description":"Working weekdays for this record."}},"required":["initiativeMaxDepth","autoCompleteParentTasks","estimationScale","fiscalYearStartMonth","workingWeekdays"],"description":"Workspace work-structure settings.","example":{"initiativeMaxDepth":1,"autoCompleteParentTasks":false,"estimationScale":"none","fiscalYearStartMonth":0,"workingWeekdays":[1]}},"PostV1OrgsByOrgIdBillingDiscountsApplicationsRequest":{"oneOf":[{"type":"object","properties":{"programKey":{"type":"string","const":"student","description":"Program key for this record."},"evidenceType":{"type":"string","enum":["institutional_email","enrollment_document"],"description":"Allowed evidence type value."},"institutionalEmail":{"$ref":"#/components/schemas/Sharedcb071161","description":"Institutional email for this record."}},"required":["programKey","evidenceType"]},{"type":"object","properties":{"programKey":{"type":"string","const":"nonprofit","description":"Program key for this record."},"evidenceType":{"type":"string","enum":["irs_registry","determination_letter"],"description":"Allowed evidence type value."},"ein":{"type":"string","pattern":"^\\d{2}-?\\d{7}$","description":"Ein for this record."}},"required":["programKey","evidenceType","ein"]}],"example":{"programKey":"student","evidenceType":"institutional_email"}},"PostV1OrgsByOrgIdBillingDiscountsApplicationsResponse201":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"programKey":{"type":"string","enum":["student","nonprofit"],"description":"Allowed program key value."},"status":{"type":"string","enum":["submitted","needs_information","approved","rejected","withdrawn","expired"],"description":"Current lifecycle state."},"evidenceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Evidence type for this record."},"institutionalEmail":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Institutional email for this record."},"ein":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ein for this record."},"informationRequest":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Information request for this record."},"decisionReason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Decision reason for this record."},"submittedAt":{"type":"string","description":"Submitted time as an ISO 8601 instant."},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Decided time as an ISO 8601 instant."},"events":{"$ref":"#/components/schemas/Shared5a61052a","description":"Events for this record."}},"required":["id","programKey","status","evidenceType","institutionalEmail","ein","informationRequest","decisionReason","submittedAt","decidedAt","events"],"example":{"id":"example","programKey":"student","status":"submitted","evidenceType":"example","institutionalEmail":"developer@example.com","ein":"example","informationRequest":"example","decisionReason":"example","submittedAt":"2026-09-19T12:00:00.000Z","decidedAt":"2026-09-19T12:00:00.000Z","events":[{"id":"example","type":"example","reason":"example","createdAt":"2026-09-19T12:00:00.000Z"}]}},"PostV1OrgsByOrgIdTeamsResponse201":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable ULID identifier of the team."},"actorId":{"$ref":"#/components/schemas/Shareddbdf783c","description":"Identifies the referenced actor."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The organization this team belongs to."},"name":{"type":"string","description":"The team's display name."},"key":{"type":"string","description":"The team's short key, unique within the org."},"description":{"description":"Free-text description of the team; null when unset.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Plain-text summary, or `null` when none."},"workflowStates":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowState"},"description":"The team's complete ordered workflow-state list, always included in a detail response."},"triageEnabled":{"type":"boolean","description":"Whether the team's Triage queue is enabled."},"cycleCadenceDays":{"type":"integer","minimum":1,"maximum":365,"description":"Cycle cadence days for this record."},"cycleCadenceAnchor":{"type":"string","format":"date","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])))$","description":"Cycle cadence anchor for this record."},"cycleCadenceRevision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Cycle cadence revision for this record."},"agentGuidance":{"description":"Free-text guidance for AI agents operating in this team; null when unset.","anyOf":[{"type":"string"},{"type":"null"}]},"approvalRouting":{"description":"The team's agent-approval-routing policy; null when no override is set.","anyOf":[{"$ref":"#/components/schemas/ApprovalRouting"},{"type":"null"}]},"cycleCadenceEarliestAnchor":{"type":"string","format":"date","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])))$","description":"First date on which a replacement cadence may start without moving planned work."},"cycleCadenceProviderOwned":{"type":"boolean","description":"Whether a connected provider currently owns this team’s cycle cadence."},"cadenceChange":{"description":"Result metadata present only after changing the native cadence.","type":"object","properties":{"effectiveAnchor":{"type":"string","format":"date","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])))$","description":"Effective anchor for this record."},"removedEmptyCycles":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Removed empty cycles for this record."}},"required":["effectiveAnchor","removedEmptyCycles"]}},"required":["id","organizationId","name","key","summary","workflowStates","triageEnabled","cycleCadenceDays","cycleCadenceAnchor","cycleCadenceRevision","cycleCadenceEarliestAnchor","cycleCadenceProviderOwned"],"description":"Full detail for a single team.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","key":"example","summary":"example","workflowStates":[{"key":"example","name":"example","type":"backlog","position":0}],"triageEnabled":false,"cycleCadenceDays":1,"cycleCadenceAnchor":"2026-09-19","cycleCadenceRevision":1,"cycleCadenceEarliestAnchor":"2026-09-19","cycleCadenceProviderOwned":false}},"GetV1OrgsByOrgIdTeamsByIdMentionsResponse200":{"type":"object","properties":{"external":{"type":"array","items":{"$ref":"#/components/schemas/EntityMention"},"description":"References to things outside Docket, in document order."},"entities":{"type":"array","items":{"$ref":"#/components/schemas/EntityMention"},"description":"References to other Docket entities, in document order."}},"required":["external","entities"],"description":"The references derived from one entity's prose.","example":{"external":[{"ref":{"kind":"entity","entityKind":"task","entityId":"example"},"key":"example","label":"example","href":"example","fields":["example"],"occurrences":1,"resource":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"web","canonicalKey":"example","canonicalUrl":"example","externalId":"example","resourceType":"document","title":"example","description":"example","siteName":"example","iconUrl":"example","thumbnailUrl":"example","mimeType":"example","ownerLabel":"example","externalUpdatedAt":"2026-09-19T12:00:00.000Z","unfurlStatus":"pending","fetchedAt":"2026-09-19T12:00:00.000Z"}}],"entities":[{"ref":{"kind":"entity","entityKind":"task","entityId":"example"},"key":"example","label":"example","href":"example","fields":["example"],"occurrences":1,"resource":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"web","canonicalKey":"example","canonicalUrl":"example","externalId":"example","resourceType":"document","title":"example","description":"example","siteName":"example","iconUrl":"example","thumbnailUrl":"example","mimeType":"example","ownerLabel":"example","externalUpdatedAt":"2026-09-19T12:00:00.000Z","unfurlStatus":"pending","fetchedAt":"2026-09-19T12:00:00.000Z"}}]}},"PostV1OrgsByOrgIdProjectsByIdTemplatePreviewRequest":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"mode":{"default":"change","type":"string","enum":["change","update"],"description":"Allowed mode value."}},"required":["workTypeId"],"additionalProperties":false,"example":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"PostV1OrgsByOrgIdProjectsByIdTemplatePreviewResponse200":{"type":"object","properties":{"warnings":{"default":[],"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/Shared5dd84e72"},"description":"Warnings, in order."},"versionNumber":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Version number for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"previewToken":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Preview token for this record."},"changes":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["title","name","summary","description","priority","health","status","labels","visibility","updateCadence"],"description":"Field the rule evaluates."},"label":{"type":"string","description":"Label for this record."},"before":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Before for this record."},"after":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"After for this record."}},"required":["field","label","before","after"],"additionalProperties":false},"description":"Changes, in order."},"mode":{"default":"change","type":"string","enum":["change","update"],"description":"Allowed mode value."},"childChanges":{"default":[],"maxItems":4000,"type":"array","items":{"oneOf":[{"type":"object","properties":{"changeId":{"type":"string","pattern":"^bp_[a-f0-9]{16}$","description":"Identifies the referenced change."},"selectedByDefault":{"type":"boolean","description":"Selected by default for this record."},"kind":{"type":"string","const":"add_child","description":"Selects the value variant."},"path":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."},"count":{"type":"integer","exclusiveMinimum":0,"maximum":499,"description":"Count for this record."},"children":{"minItems":1,"maxItems":499,"type":"array","items":{"$ref":"#/components/schemas/Shared61af8484"},"description":"Children, in order."}},"required":["changeId","selectedByDefault","kind","path","count","children"],"additionalProperties":false},{"type":"object","properties":{"changeId":{"type":"string","pattern":"^bp_[a-f0-9]{16}$","description":"Identifies the referenced change."},"selectedByDefault":{"type":"boolean","const":false,"description":"Selected by default for this record."},"kind":{"type":"string","const":"set_derived_date","description":"Selects the value variant."},"path":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."},"title":{"type":"string","maxLength":256,"description":"Human-readable title."},"field":{"type":"string","enum":["startDate","dueDate","targetDate"],"description":"Field the rule evaluates."},"previous":{"anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}],"description":"Previous for this record."},"value":{"$ref":"#/components/schemas/Sharedd4845624","description":"Stored or returned value."},"rule":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"none","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared144ab914"},{"$ref":"#/components/schemas/Shared77ce0c49"}],"description":"Rule for this record."}},"required":["changeId","selectedByDefault","kind","path","title","field","previous","value","rule"],"additionalProperties":false},{"type":"object","properties":{"changeId":{"type":"string","pattern":"^bp_[a-f0-9]{16}$","description":"Identifies the referenced change."},"selectedByDefault":{"type":"boolean","const":false,"description":"Selected by default for this record."},"kind":{"type":"string","enum":["add_dependency","remove_dependency"],"description":"Selects the value variant."},"blockerPath":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Blocker path, in order."},"blockedPath":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Blocked path, in order."},"blockerTitle":{"type":"string","maxLength":256,"description":"Blocker title for this record."},"blockedTitle":{"type":"string","maxLength":256,"description":"Blocked title for this record."}},"required":["changeId","selectedByDefault","kind","blockerPath","blockedPath","blockerTitle","blockedTitle"],"additionalProperties":false},{"type":"object","properties":{"changeId":{"type":"string","pattern":"^bp_[a-f0-9]{16}$","description":"Identifies the referenced change."},"selectedByDefault":{"type":"boolean","const":false,"description":"Selected by default for this record."},"kind":{"type":"string","const":"cancel_removed_child","description":"Selects the value variant."},"path":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."},"title":{"type":"string","maxLength":256,"description":"Human-readable title."}},"required":["changeId","selectedByDefault","kind","path","title"],"additionalProperties":false}]},"description":"Child changes, in order."}},"required":["workTypeId","workTypeVersionId","previewToken","changes"],"additionalProperties":false,"example":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","previewToken":"sha256:0000000000000000000000000000000000000000000000000000000000000000","changes":[{"field":"title","label":"example","before":"example","after":"example"}]}},"PostV1OrgsByOrgIdProjectsByIdTemplateUpdateRequest":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"mode":{"default":"change","type":"string","enum":["change","update"],"description":"Allowed mode value."},"previewToken":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Preview token for this record."},"applyFields":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","enum":["title","name","summary","description","priority","health","status","labels","visibility","updateCadence"]},"description":"Apply fields, in order."},"acceptChildChanges":{"default":[],"maxItems":4000,"type":"array","items":{"type":"string","pattern":"^bp_[a-f0-9]{16}$"},"description":"Accept child changes, in order."}},"required":["workTypeId"],"additionalProperties":false,"example":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"PostV1OrgsByOrgIdProjectsByIdTemplateUpdateResponse200":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."}},"required":["workTypeId","workTypeVersionId","workTypeAssignedAt","workTypeAssignmentSource"],"example":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeAssignedAt":"2026-09-19T12:00:00.000Z","workTypeAssignmentSource":"created"}},"PostV1OrgsByOrgIdProjectsByIdTemplateSaveAsPreviewResponse200":{"type":"object","properties":{"sourceSnapshotToken":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Source snapshot token for this record."},"definition":{"$ref":"#/components/schemas/Sharedc688683a","description":"Definition for this record."},"origin":{"anyOf":[{"$ref":"#/components/schemas/Shareddc786590"},{"type":"null"}],"description":"Origin for this record."},"warnings":{"$ref":"#/components/schemas/Sharedc7b9286a","description":"Warnings for this record."},"descendantCount":{"type":"integer","minimum":0,"maximum":499,"description":"Descendant count."}},"required":["sourceSnapshotToken","definition","origin","warnings","descendantCount"],"additionalProperties":false,"example":{"sourceSnapshotToken":"sha256:0000000000000000000000000000000000000000000000000000000000000000","definition":{"name":"example","payload":{"targetType":"task"}},"origin":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"warnings":[{"code":"actor_unavailable","paths":[["example-slug"]],"count":1}],"descendantCount":0}},"PostV1OrgsByOrgIdProjectsByIdTemplateSaveAsRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"sourceSnapshotToken":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Source snapshot token for this record."}},"required":["name","sourceSnapshotToken"],"additionalProperties":false,"example":{"name":"example","sourceSnapshotToken":"sha256:0000000000000000000000000000000000000000000000000000000000000000"}},"PostV1OrgsByOrgIdProjectsByIdTemplateSaveAsResponse201":{"type":"object","properties":{"template":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"targetType":{"$ref":"#/components/schemas/Shared07f21ed5","description":"Target type for this record."},"status":{"type":"string","enum":["draft","published","archived"],"description":"Current lifecycle state."},"scope":{"type":"string","enum":["personal","team","organization"],"description":"Allowed scope value."},"ownerActorId":{"$ref":"#/components/schemas/Sharedd046f359","description":"Identifies the referenced owner actor."},"teamId":{"$ref":"#/components/schemas/Shared92c7d287","description":"Identifies the referenced team."},"isBase":{"type":"boolean","description":"Whether base."},"origin":{"$ref":"#/components/schemas/Shared52711abe","description":"Origin for this record."},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Revision for this record."},"definition":{"$ref":"#/components/schemas/Sharedc688683a","description":"Definition for this record."},"draftDefinition":{"$ref":"#/components/schemas/Shared595d593d","description":"Draft definition for this record."},"offeredTeamIds":{"$ref":"#/components/schemas/Shared8b85ef6a","description":"Offered team ids for this record."},"latestVersion":{"$ref":"#/components/schemas/Sharedae97781d","description":"Latest version for this record."},"pendingPublication":{"$ref":"#/components/schemas/Shared43936cc7","description":"Pending publication for this record."},"canEdit":{"type":"boolean","description":"Whether edit."},"createdAt":{"$ref":"#/components/schemas/Shared5a69cae8","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["id","organizationId","targetType","status","scope","ownerActorId","teamId","isBase","revision","definition","offeredTeamIds","latestVersion","canEdit","createdAt","updatedAt"],"description":"Template for this record."},"warnings":{"$ref":"#/components/schemas/Sharedc7b9286a","description":"Warnings for this record."}},"required":["template","warnings"],"additionalProperties":false,"example":{"template":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetType":"task","status":"draft","scope":"personal","ownerActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","isBase":false,"revision":0,"definition":{"name":"example","payload":{"targetType":"task"}},"offeredTeamIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"latestVersion":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":1,"definition":{"name":"example","payload":{"targetType":"task"}},"publishedAt":"2026-09-19T12:00:00.000Z","publishedByActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"canEdit":false,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"},"warnings":[{"code":"actor_unavailable","paths":[["example-slug"]],"count":1}]}},"GetV1OrgsByOrgIdProjectsByIdResourcesResponse200":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AttachmentOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"],"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectType":"task","subjectId":"example","kind":"email","title":"example","url":"example","sourceIntegrationId":"example","externalId":"example","metadata":{},"fileName":"example","mimeType":"example","byteSize":0,"createdAt":"2026-09-19T12:00:00.000Z"}]}},"DeleteV1OrgsByOrgIdProjectsByIdResourcesByResourceIdResponse200":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Id of the removed attachment."},"removed":{"type":"boolean","const":true,"description":"Always `true`; confirms the attachment was hard-deleted."}},"required":["id","removed"],"description":"A removed-attachment acknowledgement.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removed":true}},"GetV1OrgsByOrgIdTasksResponse200":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TaskOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"],"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","state":"example","priority":"none","autoCompletedBySubtasks":false,"provenance":{"source":"native"},"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}},"PostV1OrgsByOrgIdInitiativesHierarchyLinksResponse201":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable hierarchy-link identifier.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"contextOrganizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Workspace that owns this hierarchy edge."},"parentInitiativeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Parent Initiative."},"childInitiativeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Child Initiative."},"createdAt":{"type":"string","description":"Creation timestamp (ISO-8601)."}},"required":["id","contextOrganizationId","parentInitiativeId","childInitiativeId","createdAt"],"description":"A context-owned Initiative hierarchy link.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","contextOrganizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","childInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z"}},"GetV1OrgsByOrgIdInitiativesByIdLabelsResponse200":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/LabelOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"],"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example","createdAt":"2026-09-19T12:00:00.000Z"}]}},"PostV1OrgsByOrgIdSavedViewsResponse201":{"oneOf":[{"$ref":"#/components/schemas/Shared952094e6"},{"$ref":"#/components/schemas/Shared09e5e877"},{"$ref":"#/components/schemas/Shared2346310a"},{"$ref":"#/components/schemas/Sharede2a99c82"}],"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","scope":"personal","ownerActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","position":"01ARZ3NDEKTSV4RRFFQ69G5FAV","schemaVersion":2,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","filters":[{"field":"example","op":"eq","value":null}],"grouping":{"by":"example"},"sort":[{"field":"example","order":"asc"}],"target":"task","context":{"kind":"organization"},"definition":{"version":2,"target":"task","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}}},"GetV1OrgsByOrgIdWorkViewsDefaultsByTargetResponse200":{"oneOf":[{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"definition":{"$ref":"#/components/schemas/Shared65317ac9","description":"Definition for this record."},"updatedBy":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["target","definition","updatedBy","updatedAt"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"project","description":"Target for this record."},"definition":{"$ref":"#/components/schemas/Shared6ce632c7","description":"Definition for this record."},"updatedBy":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["target","definition","updatedBy","updatedAt"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"program","description":"Target for this record."},"definition":{"$ref":"#/components/schemas/Sharedc83deef0","description":"Definition for this record."},"updatedBy":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["target","definition","updatedBy","updatedAt"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"initiative","description":"Target for this record."},"definition":{"$ref":"#/components/schemas/Sharedcaa5cf08","description":"Definition for this record."},"updatedBy":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["target","definition","updatedBy","updatedAt"],"additionalProperties":false}],"example":{"target":"task","definition":{"version":2,"target":"task","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}},"updatedBy":"01ARZ3NDEKTSV4RRFFQ69G5FAV","updatedAt":"2026-09-19T12:00:00.000Z"}},"PostV1OrgsByOrgIdTemplatesDefinitionsProposalsTailoringResponse200":{"type":"object","properties":{"sessionId":{"type":"string","description":"Identifies the referenced session."},"status":{"type":"string","description":"Current lifecycle state."},"proposalIds":{"type":"array","items":{"type":"string"},"description":"Proposal ids, in order."}},"required":["sessionId","status","proposalIds"],"additionalProperties":false,"example":{"sessionId":"example","status":"example","proposalIds":["example"]}},"GetV1OrgsByOrgIdTemplatesDefinitionsProposalsByIdResponse200":{"type":"object","properties":{"activityId":{"type":"string","description":"Identifies the referenced activity."},"sessionId":{"type":"string","description":"Identifies the referenced session."},"proposerName":{"type":"string","description":"Proposer name for this record."},"state":{"type":"string","enum":["pending","kept","dismissed","undone"],"description":"Current lifecycle state."},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Revision for this record."},"definition":{"$ref":"#/components/schemas/Sharedc688683a","description":"Definition for this record."},"templateId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced template."},"templateRevision":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Template revision for this record."},"publicationState":{"anyOf":[{"type":"string","enum":["draft","published","archived"]},{"type":"null"}],"description":"Publication state for this record."},"hasReceipt":{"type":"boolean","description":"Whether receipt."},"visibility":{"type":"string","const":"personal","description":"Visibility for this record."},"labelConversion":{"type":"object","properties":{"labelGroupId":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"Identifies the referenced label group."},"labelId":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"Identifies the referenced label."},"workTypeId":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"Identifies the referenced work type."},"workTypeVersionId":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"Identifies the referenced work type version."}},"required":["labelGroupId","labelId","workTypeId","workTypeVersionId"],"additionalProperties":false,"description":"Label conversion for this record."}},"required":["activityId","sessionId","proposerName","state","revision","definition","templateId","templateRevision","publicationState","hasReceipt","visibility"],"additionalProperties":false,"example":{"activityId":"example","sessionId":"example","proposerName":"example","state":"pending","revision":0,"definition":{"name":"example","payload":{"targetType":"task"}},"templateId":"example","templateRevision":0,"publicationState":"draft","hasReceipt":false,"visibility":"personal"}},"PostV1OrgsByOrgIdTemplatesDefinitionsGalleryCopiesResponse200":{"type":"object","properties":{"bundleId":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"Identifies the referenced bundle."},"changeSetId":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"Identifies the referenced change set."},"mode":{"type":"string","enum":["private_drafts","published"],"description":"Allowed mode value."},"state":{"type":"string","enum":["installed","undone"],"description":"Current lifecycle state."},"roots":{"$ref":"#/components/schemas/Shared927cd36f","description":"Roots for this record."}},"required":["bundleId","changeSetId","mode","state","roots"],"additionalProperties":false,"example":{"bundleId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","changeSetId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","mode":"private_drafts","state":"installed","roots":[{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetType":"task"}]}},"GetV1OrgsByOrgIdTemplatesDefinitionsGalleryCopiesByBundleIdResponse200":{"type":"object","properties":{"receipt":{"$ref":"#/components/schemas/Shared6790cc10","description":"Receipt for this record."},"entries":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":128,"description":"Stable machine-readable key."},"isRoot":{"type":"boolean","description":"Whether root."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"template":{"anyOf":[{"$ref":"#/components/schemas/Sharedf6ae8c43"},{"type":"null"}],"description":"Template for this record."},"catalogOrigin":{"anyOf":[{"$ref":"#/components/schemas/Shareddd4b6cc4"},{"type":"null"}],"description":"Catalog origin for this record."},"dependencies":{"maxItems":99,"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"description":"Dependencies, in order."},"reservation":{"type":"object","properties":{"state":{"type":"string","enum":["pending","consumed","void"],"description":"Current lifecycle state."},"reservedFirstPublicationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced reserved first publication."}},"required":["state","reservedFirstPublicationId"],"additionalProperties":false,"description":"Reservation for this record."}},"required":["key","isRoot","workTypeId","template","catalogOrigin","dependencies","reservation"],"additionalProperties":false},"description":"Entries, in order."}},"required":["receipt","entries"],"additionalProperties":false,"example":{"receipt":{"bundleId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","changeSetId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","mode":"private_drafts","state":"installed","roots":[{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetType":"task"}]},"entries":[{"key":"example","isRoot":false,"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","template":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetType":"task","status":"draft","scope":"personal","ownerActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","isBase":false,"revision":0,"definition":{"name":"example","payload":{"targetType":"task"}},"offeredTeamIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"latestVersion":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":1,"definition":{"name":"example","payload":{"targetType":"task"}},"publishedAt":"2026-09-19T12:00:00.000Z","publishedByActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"canEdit":false,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"},"catalogOrigin":{"kind":"catalog","release":1,"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","catalogVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"dependencies":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"reservation":{"state":"pending","reservedFirstPublicationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}]}},"PostV1OrgsByOrgIdTemplatesDefinitionsGalleryCopiesByBundleIdUndoResponse200":{"type":"object","properties":{"receipt":{"$ref":"#/components/schemas/Shared6790cc10","description":"Receipt for this record."},"retained":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"reason":{"type":"string","enum":["changed_since","in_use"],"description":"Allowed reason value."}},"required":["workTypeId","reason"],"additionalProperties":false},"description":"Retained, in order."}},"required":["receipt","retained"],"additionalProperties":false,"example":{"receipt":{"bundleId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","changeSetId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","mode":"private_drafts","state":"installed","roots":[{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetType":"task"}]},"retained":[{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","reason":"changed_since"}]}},"PostV1OrgsByOrgIdTemplatesDefinitionsLabelConversionsResponse200":{"type":"object","properties":{"changeSetId":{"type":"string","description":"Identifies the referenced change set."},"state":{"type":"string","enum":["converted","undone"],"description":"Current lifecycle state."},"itemCount":{"type":"integer","minimum":1,"maximum":100,"description":"Item count."}},"required":["changeSetId","state","itemCount"],"additionalProperties":false,"example":{"changeSetId":"example","state":"converted","itemCount":1}},"PostV1OrgsByOrgIdProcessDefinitionsRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"description":{"type":"string","description":"Longer plain-language description."},"creationMode":{"default":"all_at_once","type":"string","enum":["all_at_once","when_ready"],"description":"Allowed creation mode value."},"project":{"$ref":"#/components/schemas/Shared814c23b6","description":"Project for this record."},"milestones":{"default":[],"type":"array","items":{"$ref":"#/components/schemas/Shareda8651b04"},"description":"Milestones, in order."},"tasks":{"minItems":1,"type":"array","items":{"type":"object","properties":{"blueprint":{"$ref":"#/components/schemas/Shareda0719e23","description":"Blueprint for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"key":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Stable machine-readable key."},"title":{"type":"string","minLength":1,"description":"Human-readable title."},"description":{"type":"string","description":"Longer plain-language description."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"state":{"type":"string","minLength":1,"description":"Current lifecycle state."},"priority":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."},"assigneeId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"projectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"projectKey":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Project key for this record."},"milestoneId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Milestone — a dated checkpoint within a Project."},"milestoneKey":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Milestone key for this record."},"cycleId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Cycle — a time-boxed iteration (sprint) Tasks can be scheduled into."},"parentTaskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"parentTaskKey":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Parent task key for this record."},"estimate":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Estimate for this record."},"estimateMinutes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Estimate minutes for this record."},"startOffsetDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Start offset days for this record."},"dueOffsetDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Due offset days for this record."},"labelIds":{"$ref":"#/components/schemas/Shared871ac7bd","description":"Label ids for this record."},"timing":{"$ref":"#/components/schemas/Shared524dfa84","description":"Timing for this record."}},"required":["key","title","teamId"],"additionalProperties":false},"description":"Tasks, in order."},"dependencies":{"default":[],"type":"array","items":{"$ref":"#/components/schemas/Sharedd82965be"},"description":"Dependencies, in order."}},"required":["name","tasks"],"additionalProperties":false,"example":{"name":"example","tasks":[{"key":"123e4567-e89b-42d3-a456-426614174000","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"PostV1OrgsByOrgIdProcessDefinitionsResponse201":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for a reusable, versioned process definition that can create work."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"name":{"type":"string","description":"Human-readable name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Longer plain-language description."},"status":{"type":"string","enum":["draft","published","archived"],"description":"Current lifecycle state."},"latestRevisionNumber":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Latest revision number for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."},"revision":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a ProcessRevision — one immutable version of a process definition."},"definitionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for a reusable, versioned process definition that can create work."},"number":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Number for this record."},"creationMode":{"type":"string","enum":["all_at_once","when_ready"],"description":"Allowed creation mode value."},"project":{"$ref":"#/components/schemas/Shared814c23b6","description":"Project for this record."},"milestones":{"type":"array","items":{"$ref":"#/components/schemas/Shareda8651b04"},"description":"Milestones, in order."},"tasks":{"type":"array","items":{"type":"object","properties":{"blueprint":{"$ref":"#/components/schemas/Shareda0719e23","description":"Blueprint for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"key":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Stable machine-readable key."},"title":{"type":"string","minLength":1,"description":"Human-readable title."},"description":{"type":"string","description":"Longer plain-language description."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"state":{"type":"string","minLength":1,"description":"Current lifecycle state."},"priority":{"default":"none","type":"string","enum":["none","urgent","high","medium","low"],"description":"A Task's priority. `none`: unprioritized. `urgent`: do now / drop everything. `high`, `medium`, `low`: descending importance."},"assigneeId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"projectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"projectKey":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Project key for this record."},"milestoneId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Milestone — a dated checkpoint within a Project."},"milestoneKey":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Milestone key for this record."},"cycleId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Cycle — a time-boxed iteration (sprint) Tasks can be scheduled into."},"parentTaskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"parentTaskKey":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Parent task key for this record."},"estimate":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Estimate for this record."},"estimateMinutes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Estimate minutes for this record."},"startOffsetDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Start offset days for this record."},"dueOffsetDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Due offset days for this record."},"labelIds":{"$ref":"#/components/schemas/Shared44fff054","description":"Label ids for this record."},"timing":{"$ref":"#/components/schemas/Shared524dfa84","description":"Timing for this record."}},"required":["key","title","teamId"],"additionalProperties":false},"description":"Tasks, in order."},"dependencies":{"type":"array","items":{"$ref":"#/components/schemas/Sharedd82965be"},"description":"Dependencies, in order."},"publishedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Published time as an ISO 8601 instant."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."}},"required":["id","definitionId","number","creationMode","milestones","tasks","dependencies","publishedAt","createdAt"],"additionalProperties":false,"description":"Revision for this record."}},"required":["id","organizationId","name","description","status","latestRevisionNumber","createdAt","updatedAt","revision"],"additionalProperties":false,"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","description":"example","status":"draft","latestRevisionNumber":1,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","revision":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","definitionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":1,"creationMode":"all_at_once","milestones":[{"key":"123e4567-e89b-42d3-a456-426614174000","projectKey":"123e4567-e89b-42d3-a456-426614174000","name":"example"}],"tasks":[{"key":"123e4567-e89b-42d3-a456-426614174000","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"dependencies":[{"blockingStepKey":"123e4567-e89b-42d3-a456-426614174000","blockedStepKey":"123e4567-e89b-42d3-a456-426614174000"}],"publishedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z"}}},"PostV1OrgsByOrgIdRecurrenceSeriesResponse201":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a RecurrenceSeries — a schedule that expects process occurrences."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"processDefinitionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for a reusable, versioned process definition that can create work."},"processRevisionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a ProcessRevision — one immutable version of a process definition."},"name":{"type":"string","description":"Human-readable name."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Current lifecycle state."},"trigger":{"$ref":"#/components/schemas/Sharedf25fb505","description":"Trigger for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."},"pausedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Paused time as an ISO 8601 instant."},"endedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ended time as an ISO 8601 instant."}},"required":["id","organizationId","processDefinitionId","processRevisionId","name","status","trigger","createdAt","updatedAt","pausedAt","endedAt"],"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","processDefinitionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","processRevisionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"active","trigger":{"kind":"manual"},"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","pausedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z"}},"GetV1OrgsByOrgIdRecurrenceSeriesForTaskByTaskIdResponse200":{"anyOf":[{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"task","description":"Selects the value variant."},"taskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"seriesId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a RecurrenceSeries — a schedule that expects process occurrences."},"seriesName":{"type":"string","description":"Series name for this record."},"seriesStatus":{"type":"string","enum":["active","paused","ended"],"description":"Allowed series status value."},"processDefinitionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for a reusable, versioned process definition that can create work."},"processInstanceId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for work created from one process revision."},"occurrenceId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Occurrence — one durable expected run of a recurrence series."},"scheduledFor":{"$ref":"#/components/schemas/Shared253d80d4","description":"Scheduled for for this record."},"occurrenceStatus":{"type":"string","enum":["expected","materialized","completed","skipped","canceled","needs_resolution","superseded","failed"],"description":"Allowed occurrence status value."}},"required":["kind","taskId","seriesId","seriesName","seriesStatus","processDefinitionId","processInstanceId","occurrenceId","scheduledFor","occurrenceStatus"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"project","description":"Selects the value variant."},"projectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"seriesId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a RecurrenceSeries — a schedule that expects process occurrences."},"seriesName":{"type":"string","description":"Series name for this record."},"seriesStatus":{"type":"string","enum":["active","paused","ended"],"description":"Allowed series status value."},"processDefinitionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for a reusable, versioned process definition that can create work."},"processInstanceId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for work created from one process revision."},"occurrenceId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Occurrence — one durable expected run of a recurrence series."},"scheduledFor":{"$ref":"#/components/schemas/Shared253d80d4","description":"Scheduled for for this record."},"occurrenceStatus":{"type":"string","enum":["expected","materialized","completed","skipped","canceled","needs_resolution","superseded","failed"],"description":"Allowed occurrence status value."}},"required":["kind","projectId","seriesId","seriesName","seriesStatus","processDefinitionId","processInstanceId","occurrenceId","scheduledFor","occurrenceStatus"],"additionalProperties":false}]},{"type":"null"}],"example":{"kind":"task","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","seriesId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","seriesName":"example","seriesStatus":"active","processDefinitionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","processInstanceId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","occurrenceId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","scheduledFor":"2026-09-19","occurrenceStatus":"expected"}},"GetV1OrgsByOrgIdRecurrenceSeriesByIdResponse200":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a RecurrenceSeries — a schedule that expects process occurrences."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"processDefinitionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for a reusable, versioned process definition that can create work."},"processRevisionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a ProcessRevision — one immutable version of a process definition."},"name":{"type":"string","description":"Human-readable name."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Current lifecycle state."},"trigger":{"$ref":"#/components/schemas/Sharedf25fb505","description":"Trigger for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."},"pausedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Paused time as an ISO 8601 instant."},"endedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ended time as an ISO 8601 instant."},"revisions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a RecurrenceSeriesRevision — one immutable trigger version within a recurrence series."},"seriesId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a RecurrenceSeries — a schedule that expects process occurrences."},"processRevisionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a ProcessRevision — one immutable version of a process definition."},"number":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Number for this record."},"effectiveFrom":{"$ref":"#/components/schemas/Shared70987bd5","description":"Effective from for this record."},"trigger":{"$ref":"#/components/schemas/Sharedf25fb505","description":"Trigger for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."}},"required":["id","seriesId","processRevisionId","number","effectiveFrom","trigger","createdAt"],"additionalProperties":false},"description":"Revisions, in order."},"occurrences":{"$ref":"#/components/schemas/Shared47cd48cc","description":"Occurrences for this record."}},"required":["id","organizationId","processDefinitionId","processRevisionId","name","status","trigger","createdAt","updatedAt","pausedAt","endedAt","revisions","occurrences"],"additionalProperties":false,"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","processDefinitionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","processRevisionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"active","trigger":{"kind":"manual"},"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","pausedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","revisions":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","seriesId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","processRevisionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":1,"effectiveFrom":"2026-09-19","trigger":{"kind":"manual"},"createdAt":"2026-09-19T12:00:00.000Z"}],"occurrences":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","seriesId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","scheduledFor":"2026-09-19","originalScheduledFor":"2026-09-19","status":"expected","processInstanceId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","resolvedAt":"2026-09-19T12:00:00.000Z"}]}},"PostV1OrgsByOrgIdWorkSchedulesPreviewRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120,"description":"Human-readable name."},"document":{"$ref":"#/components/schemas/Shared9a8bb54e","description":"Document for this record."},"trigger":{"$ref":"#/components/schemas/Sharedf25fb505","description":"Trigger for this record."},"effectiveFrom":{"$ref":"#/components/schemas/Shared70987bd5","description":"Effective from for this record."},"ownerProgramId":{"$ref":"#/components/schemas/Sharedcae1bfe3","description":"Identifies the referenced owner program."}},"required":["name","document","trigger","effectiveFrom"],"additionalProperties":false,"example":{"name":"example","document":{"kind":"schedule","revision":1,"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","timezone":"example","root":{"kind":"task","fields":{},"dates":{},"placement":{}},"stepOverrides":[{"kind":"task","path":["example-slug"]}],"optionalChoices":[{"path":["example-slug"],"selected":false}]},"trigger":{"kind":"manual"},"effectiveFrom":"2026-09-19"}},"PostV1OrgsByOrgIdWorkSchedulesPreviewResponse200":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"previewToken":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Preview token for this record."},"resolvedManifest":{"$ref":"#/components/schemas/Sharedcbba0b58","description":"Resolved manifest for this record."},"descendants":{"$ref":"#/components/schemas/Shared3b335a98","description":"Descendants for this record."},"descendantCount":{"type":"integer","minimum":0,"maximum":10000,"description":"Descendant count."},"selectedCount":{"type":"integer","minimum":1,"maximum":500,"description":"Selected count."},"additionalMilestoneCount":{"type":"integer","minimum":0,"maximum":499,"description":"Additional milestone count."},"summaryOffset":{"type":"integer","minimum":0,"maximum":10000,"description":"Summary offset for this record."},"nextSummaryOffset":{"anyOf":[{"type":"integer","minimum":0,"maximum":10000},{"type":"null"}],"description":"Next summary offset for this record."},"warnings":{"$ref":"#/components/schemas/Sharedc7b9286a","description":"Warnings for this record."},"defaultSchedules":{"$ref":"#/components/schemas/Shared4070d926","description":"Default schedules for this record."},"scheduledFor":{"$ref":"#/components/schemas/Shared253d80d4","description":"Scheduled for for this record."},"title":{"type":"string","minLength":1,"maxLength":120,"description":"Human-readable title."}},"required":["workTypeId","workTypeVersionId","previewToken","resolvedManifest","descendants","descendantCount","selectedCount","additionalMilestoneCount","summaryOffset","nextSummaryOffset","warnings","scheduledFor","title"],"additionalProperties":false,"example":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","previewToken":"sha256:0000000000000000000000000000000000000000000000000000000000000000","resolvedManifest":[{"path":["example-slug"],"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","versionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"descendants":[{"path":["example-slug"],"parentPath":["example-slug"],"kind":"program","title":"example","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","dates":{},"unresolvedReasons":{},"optional":false,"selectedByDefault":false,"selected":false,"prerequisites":[["example-slug"]]}],"descendantCount":0,"selectedCount":1,"additionalMilestoneCount":0,"summaryOffset":0,"nextSummaryOffset":0,"warnings":[{"code":"actor_unavailable","paths":[["example-slug"]],"count":1}],"scheduledFor":"2026-09-19","title":"example"}},"PostV1OrgsByOrgIdWorkSchedulesByIdPreviewRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120,"description":"Human-readable name."},"document":{"$ref":"#/components/schemas/Shared9a8bb54e","description":"Document for this record."},"trigger":{"$ref":"#/components/schemas/Sharedf25fb505","description":"Trigger for this record."},"effectiveFrom":{"$ref":"#/components/schemas/Shared70987bd5","description":"Effective from for this record."},"expectedRevisionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a RecurrenceSeriesRevision — one immutable trigger version within a recurrence series."}},"required":["document","trigger","effectiveFrom","expectedRevisionId"],"additionalProperties":false,"example":{"document":{"kind":"schedule","revision":1,"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","timezone":"example","root":{"kind":"task","fields":{},"dates":{},"placement":{}},"stepOverrides":[{"kind":"task","path":["example-slug"]}],"optionalChoices":[{"path":["example-slug"],"selected":false}]},"trigger":{"kind":"manual"},"effectiveFrom":"2026-09-19","expectedRevisionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"PostV1OrgsByOrgIdWorkSchedulesResponse201":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a RecurrenceSeries — a schedule that expects process occurrences."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"ownerProgramId":{"$ref":"#/components/schemas/Sharedcae1bfe3","description":"Identifies the referenced owner program."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Current lifecycle state."},"revision":{"$ref":"#/components/schemas/Shared33efa7e8","description":"Revision for this record."},"nextRunDate":{"$ref":"#/components/schemas/Shared304f56b6","description":"Next run date in YYYY-MM-DD format."},"nextWorkTitle":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Next work title for this record."},"failedRunCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Failed run count."},"templateArchived":{"type":"boolean","description":"Template archived for this record."},"retainedTemplate":{"$ref":"#/components/schemas/Sharedd615e2f4","description":"Retained template for this record."},"canEdit":{"type":"boolean","description":"Whether edit."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."},"pausedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Paused time as an ISO 8601 instant."},"endedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ended time as an ISO 8601 instant."},"runs":{"type":"object","properties":{"items":{"$ref":"#/components/schemas/Shareddc577b8a","description":"Items for this record."},"nextCursor":{"type":"string","description":"Cursor for the next page. Omitted at the end."}},"required":["items"],"additionalProperties":false,"description":"Runs for this record."}},"required":["id","organizationId","ownerProgramId","name","status","revision","nextRunDate","templateArchived","canEdit","createdAt","updatedAt","pausedAt","endedAt","runs"],"additionalProperties":false,"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","ownerProgramId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"active","revision":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":1,"effectiveFrom":"2026-09-19","document":{"kind":"schedule","revision":1,"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","timezone":"example","root":{"kind":"task","fields":{},"dates":{},"placement":{}},"stepOverrides":[{"kind":"task","path":["example-slug"]}],"optionalChoices":[{"path":["example-slug"],"selected":false}]},"trigger":{"kind":"manual"},"createdAt":"2026-09-19T12:00:00.000Z"},"nextRunDate":"2026-09-19","templateArchived":false,"canEdit":false,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","pausedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","runs":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","seriesId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","scheduledFor":"2026-09-19","originalScheduledFor":"2026-09-19","status":"expected","attempt":0,"failureCode":"template_unavailable","failedAt":"2026-09-19T12:00:00.000Z","retryAvailableAt":"2026-09-19T12:00:00.000Z","completedAt":"2026-09-19T12:00:00.000Z","canRetry":false,"roots":[{"kind":"task","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"templates":[{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}]}}},"PostV1OrgsByOrgIdMembersInviteRequest":{"type":"object","properties":{"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"The invitee's email address (validated as an email). The accept link is sent here, and the invitee redeems it by signing in as the account owning this address."},"roleId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The id of the org role the new member will hold once they accept. MUST belong to this org (validated server-side; a foreign/unknown role yields 404), which both prevents cross-org capability leakage and determines the invitee's org-wide baseline."},"personActorId":{"description":"Existing accountless workspace person to attach when the invitation is accepted.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"asGuest":{"description":"When true, mark the invitation as a guest seat. Guests are grant-only (the Guest role confers no org-wide capability): the invitee sees nothing until explicit grants name resources for them. Defaults to false.","type":"boolean"}},"required":["email","roleId"],"description":"Invite a new member to an organization.","example":{"email":"developer@example.com","roleId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"PostV1OrgsByOrgIdMembersByActorIdConsolidateResponse200":{"type":"object","properties":{"actorId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The person's org-scoped Actor id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The workspace this profile belongs to."},"displayName":{"type":"string","description":"The person's name as this workspace shows it."},"avatar":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"URL of the person's avatar image, or null."},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The person's job title in this organization, or null when unset."},"status":{"type":"string","enum":["active","suspended"],"description":"Participation status: 'active' or 'suspended'."},"roleId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Role — a named bundle of capabilities assignable to an actor."},{"type":"null"}],"description":"The id of the org role the person holds, or null."},"roleName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The display name of the org role the person holds, or null when they hold none."},"createdAt":{"type":"string","description":"ISO-8601 timestamp of when the person joined the workspace."},"assignedTasks":{"type":"array","items":{"$ref":"#/components/schemas/PersonProfileTask"},"description":"Active (non-archived) tasks assigned to this person, soonest-due first."},"ledProjects":{"type":"array","items":{"$ref":"#/components/schemas/PersonProfileProject"},"description":"Projects this person leads, by name."},"linkedIdentities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."},"externalActorId":{"type":"string","description":"Identifies the referenced external actor."},"integrationId":{"type":"string","description":"Identifies the referenced integration."},"provider":{"type":"string","description":"Provider for this record."},"externalId":{"type":"string","description":"Identifies the referenced external."},"displayName":{"type":"string","description":"Display name for this record."},"avatarUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Avatar url for this record."},"actorId":{"$ref":"#/components/schemas/Sharedd3cc5dd4","description":"Identifies the referenced actor."},"field":{"type":"string","const":"identity","description":"Field the rule evaluates."}},"required":["id","updatedAt","externalActorId","integrationId","provider","externalId","displayName","avatarUrl","actorId","field"]},"description":"Linked identities, in order."},"ownedInitiatives":{"type":"array","items":{"$ref":"#/components/schemas/PersonProfileInitiative"},"description":"Initiatives this person owns, by name."}},"required":["actorId","organizationId","displayName","avatar","title","status","roleId","roleName","createdAt","assignedTasks","ledProjects","linkedIdentities","ownedInitiatives"],"description":"A person's workspace profile.","example":{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","displayName":"example","avatar":"example","title":"example","status":"active","roleId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","roleName":"example","createdAt":"2026-09-19T12:00:00.000Z","assignedTasks":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example","priority":"none","dueDate":"2026-09-19","projectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"ledProjects":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","health":"on_track"}],"linkedIdentities":[{"id":"example","updatedAt":"2026-09-19T12:00:00.000Z","externalActorId":"example","integrationId":"example","provider":"example","externalId":"example","displayName":"example","avatarUrl":"example","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","field":"identity"}],"ownedInitiatives":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example"}]}},"GetV1OrgsByOrgIdSessionsChatResponse200":{"allOf":[{"$ref":"#/components/schemas/AgentSessionOut"},{"type":"object","properties":{"activities":{"type":"array","items":{"$ref":"#/components/schemas/SessionActivityOut"},"description":"The session's full Activity stream, oldest-first — the complete transcript of thoughts, actions, responses, elicitations, and errors."}},"required":["activities"]}],"description":"An agent session with its activity stream.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","trigger":"assignment","status":"pending","createdAt":"2026-09-19T12:00:00.000Z","executorKind":"athena","organizationId":null,"agentId":null,"ownerUserId":"example"}},"PostV1OrgsByOrgIdSessionsChatMessagesRequest":{"type":"object","properties":{"body":{"type":"string","minLength":1,"description":"The human reply text answering the agent's elicitation; appended as a `response` activity and (if the session was `awaiting_input`) resumes the run. Non-empty."}},"required":["body"],"description":"A human reply to a session elicitation.","example":{"body":"example"}},"GetV1OrgsByOrgIdSessionsByIdProposalsResponse200":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProposalGroupOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"],"example":{"items":[{"proposalGroupId":"example","sessionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","items":[{"activityId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sessionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","proposalGroupId":"example","tool":"example","connection":"example","summary":"example","input":{},"mode":"proposal","ghost":{"title":"example","teamId":"example","projectId":"example","dueDate":"2026-09-19"},"createdAt":"2026-09-19T12:00:00.000Z"}]}]}},"PutV1OrgsByOrgIdSessionsByIdProposalsByGroupIdDecisionRequest":{"type":"object","properties":{"decision":{"$ref":"#/components/schemas/ApprovalDecision","description":"Decision for this record."},"activityIds":{"description":"Narrow the decision to these still-`proposed` activities of the group; omitted decides the entire group.","type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a SessionActivity — a single step/event recorded within an AgentSession timeline."}}},"required":["decision"],"description":"A batch decision on a proposal group.","example":{"decision":"approved"}},"PatchV1OrgsByOrgIdSessionsByIdActivityByActivityIdProposalRequest":{"type":"object","properties":{"input":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The replacement tool input; the proposal must still be `proposed`."}},"required":["input"],"description":"Edit a pending proposal's input.","example":{"input":{}}},"GetV1OrgsByOrgIdSessionsByIdActivityResponse200":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SessionActivityOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"],"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sessionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","type":"thought","body":{},"createdAt":"2026-09-19T12:00:00.000Z"}]}},"GetV1OrgsByOrgIdIntegrationsByIdNotionDesignByEntityResponse200":{"type":"object","properties":{"database":{"$ref":"#/components/schemas/NotionMirrorDatabaseOut","description":"Database for this record."},"availableFields":{"type":"array","items":{"$ref":"#/components/schemas/NotionMirrorFieldOut"},"description":"Every Docket field this entity can expose, whether or not it is currently a column."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/NotionMirrorPreviewRow"},"description":"Rows, in order."},"sample":{"type":"boolean","description":"True when `rows` is illustrative because the workspace has none of this entity."},"totalRows":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many rows this database will hold once projected."},"excludedRows":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Rows withheld because they are already linked to another Notion database on this same integration — projecting them would duplicate the same work twice in one workspace."}},"required":["database","availableFields","rows","sample","totalRows","excludedRows"],"description":"The table designer payload for one entity.","example":{"database":{"id":"example","entityType":"task","title":"example","enabled":false,"direction":"two_way","propertyMap":{},"content":{"state":"complete","unknownBlockCount":0},"externalDatabaseId":"example","externalDataSourceId":"example","externalUrl":"example","rowCount":0,"provisionedAt":"2026-09-19T12:00:00.000Z","lastPushedAt":"2026-09-19T12:00:00.000Z","lastPulledAt":"2026-09-19T12:00:00.000Z"},"availableFields":[{"field":"example","label":"example","kind":"title","personValued":false,"required":false}],"rows":[{"cells":{}}],"sample":false,"totalRows":0,"excludedRows":0}},"GetV1OrgsByOrgIdStreamResponse200":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/StreamEventOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"],"description":"A page of feed events.","example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"message","occurredAt":"2026-09-19T12:00:00.000Z","title":"example","summary":"example","permalink":"example","source":{"system":"docket","integrationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","externalUrl":"example"},"actor":{"source":"docket","externalId":"example","displayName":"example","avatarUrl":"example","docketActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"entity":{"kind":"work_item","source":"docket","externalId":"example","title":"example","url":"example","docketEntityId":"example"},"participants":[{"source":"docket","externalId":"example","displayName":"example","avatarUrl":"example","docketActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"detail":{"schema":"docket.state_change","fromState":"example","toState":"example"},"createdAt":"2026-09-19T12:00:00.000Z","actorIsViewer":false,"relevance":"mention","rendering":{"icon":"example","category":"example"}}]}},"PutV1DailyPlanDayByDateDraftResponse200":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/Shared46a52d54","description":"Date for this record."},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Revision for this record."},"draft":{"$ref":"#/components/schemas/Shared1e7cf3a6","description":"Draft for this record."},"accepted":{"$ref":"#/components/schemas/Shared4ff66fc0","description":"Accepted for this record."},"resumeStep":{"type":"string","enum":["review_yesterday","plan_today","review_plan"],"description":"Allowed resume step value."}},"required":["date","revision","draft","accepted","resumeStep"],"example":{"date":"2026-09-19","revision":0,"draft":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]},"accepted":{"original":{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}},"current":{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}},"history":[{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}}]},"resumeStep":"review_yesterday"}},"GetV1ScheduleWeekPreferencesResponse200":{"type":"object","properties":{"hubId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Hub — the personal cross-workspace ownership boundary for user-owned data."},"timezone":{"type":"string","description":"IANA timezone the windows are interpreted in."},"windows":{"type":"array","items":{"$ref":"#/components/schemas/AvailabilityWindow"},"description":"Windows, in order."},"commitments":{"type":"array","items":{"$ref":"#/components/schemas/SchedulingCommitment"},"description":"Commitments, in order."},"reflectionForMeetings":{"type":"boolean","description":"When true, every meeting or filming session in the week automatically gets a debrief block placed after it and linked to it."},"backfillShapes":{"type":"array","items":{"$ref":"#/components/schemas/WorkShape"},"description":"Shapes allowed to absorb leftover availability so the week has no large unplanned holes. Only backfill-eligible shapes are accepted."},"checkInCadenceMinutes":{"type":"integer","minimum":30,"maximum":480,"description":"How far apart the day's check-ins fall when no block boundary suggests a better moment. The user's own rhythm, not a fixed product cadence."},"autoReorganizeOnDrift":{"type":"boolean","description":"When true, Docket automatically reschedules the rest of a day after it falls behind. When false, Docket reports the drift and waits for an explicit reorganization request."},"maxUnplannedGapMinutes":{"type":"integer","minimum":15,"maximum":480,"description":"The largest run of unassigned available time the user is willing to leave."},"minTransitGapMinutes":{"type":"integer","minimum":5,"maximum":120,"description":"The shortest gap between two located commitments that counts as usable travel/waiting time."},"maxTransitGapMinutes":{"type":"integer","minimum":15,"maximum":480,"description":"Beyond this a gap is treated as ordinary free time, not travel."},"configured":{"type":"boolean","description":"False until the user (or onboarding) has saved preferences at least once; the planner still runs on the documented defaults."}},"required":["hubId","timezone","windows","commitments","reflectionForMeetings","backfillShapes","checkInCadenceMinutes","autoReorganizeOnDrift","maxUnplannedGapMinutes","minTransitGapMinutes","maxTransitGapMinutes","configured"],"description":"A Hub's availability model, standing commitments, and planner policy.","example":{"hubId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timezone":"example","windows":[{"weekday":0,"startMinute":0,"endMinute":0,"kind":"desk","label":"example"}],"commitments":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","shape":"filming_session","title":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sessionsPerWeek":0,"minutesPerSession":5,"location":"example","attendees":["example"],"active":false}],"reflectionForMeetings":false,"backfillShapes":["filming_session"],"checkInCadenceMinutes":30,"autoReorganizeOnDrift":false,"maxUnplannedGapMinutes":15,"minTransitGapMinutes":5,"maxTransitGapMinutes":15,"configured":false}},"GetV1ScheduleWeekResponse200":{"type":"object","properties":{"runId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The persisted planning run; null for a dry run."},"weekStartDate":{"type":"string","format":"date","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])))$","description":"Local Monday the week begins on.","example":"2026-06-29"},"weekEndDate":{"type":"string","format":"date","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])))$","description":"Local Sunday the week ends on (inclusive).","example":"2026-06-29"},"timezone":{"type":"string","description":"Timezone for this record."},"generatedAt":{"type":"string","description":"Generated time as an ISO 8601 instant."},"dryRun":{"type":"boolean","description":"Dry run for this record."},"blocks":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledBlockOut"},"description":"Blocks, in order."},"unplaced":{"type":"array","items":{"$ref":"#/components/schemas/UnplacedDemandOut"},"description":"Unplaced, in order."},"coverage":{"$ref":"#/components/schemas/WeekCoverageOut","description":"Coverage for this record."},"shapesPresent":{"type":"array","items":{"$ref":"#/components/schemas/WorkShape"},"description":"Distinct shapes present in the generated week, in taxonomy order."},"userInputCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many explicit user interactions this run consumed. One invocation is 1; the planner never asks per item."}},"required":["runId","weekStartDate","weekEndDate","timezone","generatedAt","dryRun","blocks","unplaced","coverage","shapesPresent","userInputCount"],"description":"A generated week with blocks, coverage, and remaining gaps.","example":{"runId":"example","weekStartDate":"2026-09-19","weekEndDate":"2026-09-19","timezone":"example","generatedAt":"2026-09-19T12:00:00.000Z","dryRun":false,"blocks":[{"calendarItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","shape":"filming_session","shapeLabel":"example","title":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","date":"2026-09-19","minutes":1,"organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationName":"example","location":"example","attendees":["example"],"origin":"user","anchorCalendarItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","commitmentId":"example","durationSource":"measured"}],"unplaced":[{"commitmentId":"example","shape":"filming_session","title":"example","requestedSessions":0,"placedSessions":0,"reason":"no_matching_window"}],"coverage":{"availableMinutes":0,"scheduledMinutes":0,"coveragePercent":0,"protectedMinutes":0,"largestGapMinutes":0,"gaps":[{"date":"2026-09-19","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","minutes":1,"windowKind":"desk"}],"withinThreshold":false},"shapesPresent":["filming_session"],"userInputCount":0}},"GetV1DirectiveDayStartResponse200":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},"timezone":{"type":"string","description":"Timezone for this record."},"readiness":{"$ref":"#/components/schemas/DirectiveAgendaReadiness","description":"Readiness for this record."},"ready":{"type":"boolean","description":"True only when `readiness` is `ready`."},"agenda":{"type":"array","items":{"$ref":"#/components/schemas/DirectivePlanItemOut"},"description":"Agenda, in order."},"proposals":{"type":"array","items":{"$ref":"#/components/schemas/MorningProposalOut"},"description":"The same day as the walk-through sees it: one proposal per block, each carrying its own decision. This is what makes the morning a review rather than a reading — Docket proposes, the person keeps or defers, and only then is there anything to confirm. Empty whenever `ready` is false, for the same reason `agenda` is."},"confirm":{"$ref":"#/components/schemas/MorningConfirmOut","description":"Confirm for this record."},"acknowledgedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"When the person completed the morning agenda review. Null until they do."},"gate":{"$ref":"#/components/schemas/DirectiveGateOut","description":"Gate for this record."}},"required":["date","timezone","readiness","ready","agenda","proposals","confirm","acknowledgedAt","gate"],"description":"The start-of-day handshake. `ready: false` with a `readiness` code is returned rather than an empty agenda, so a consumer can tell 'nothing planned' from 'not planned yet'.","example":{"date":"2026-09-19","timezone":"example","readiness":"ready","ready":false,"agenda":[{"taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","calendarItemId":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","shape":"filming_session","status":"planned","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","url":"example"}],"proposals":[{"key":"example","calendarItemId":"example","taskId":"example","organizationId":"example","title":"example","shape":"filming_session","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","decision":"proposed","deferredTo":"2026-09-19","deferable":false}],"confirm":{"available":false,"outstanding":0,"confirmedAt":"2026-09-19T12:00:00.000Z"},"acknowledgedAt":"2026-09-19T12:00:00.000Z","gate":{"kind":"day_start","state":"open","outstandingSteps":["agenda_reviewed"],"releasedAt":"2026-09-19T12:00:00.000Z"}}},"GetV1DirectiveCheckInsResponse200":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DayCheckInOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"],"example":{"items":[{"id":"example","date":"2026-09-19","scheduledAt":"2026-09-19T12:00:00.000Z","firedAt":"2026-09-19T12:00:00.000Z","respondedAt":"2026-09-19T12:00:00.000Z","response":"on_track","missed":false,"blockCalendarItemId":"example","blockTitle":"example","outstandingGoals":0,"prompt":"example"}]}},"GetV1DirectiveReviewResponse200":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},"timezone":{"type":"string","description":"Timezone for this record."},"steps":{"type":"array","items":{"$ref":"#/components/schemas/ReviewStepOut"},"description":"Steps, in order."},"items":{"type":"array","items":{"$ref":"#/components/schemas/ReviewItemOut"},"description":"Items, in order."},"answers":{"type":"array","items":{"$ref":"#/components/schemas/ReviewAnswerOut"},"description":"Answers, in order."},"tomorrowDate":{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},"tomorrowProposals":{"type":"array","items":{"$ref":"#/components/schemas/TomorrowProposalOut"},"description":"Tomorrow proposals, in order."},"tomorrowConfirmedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"When the person explicitly confirmed tomorrow's agenda. Never auto-set."},"complete":{"type":"boolean","description":"True only when all three steps are satisfied."},"completedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Completed time as an ISO 8601 instant."},"gate":{"$ref":"#/components/schemas/DirectiveGateOut","description":"Gate for this record."}},"required":["date","timezone","steps","items","answers","tomorrowDate","tomorrowProposals","tomorrowConfirmedAt","complete","completedAt","gate"],"description":"The structured end-of-day review and its gate.","example":{"date":"2026-09-19","timezone":"example","steps":[{"key":"reconcile","title":"example","complete":false,"outstanding":0}],"items":[{"key":"example","calendarItemId":"example","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","shape":"filming_session","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","disposition":"completed","rescheduledTo":"2026-09-19","reason":"example"}],"answers":[{"key":"what_moved","prompt":"example","answer":"example","required":false}],"tomorrowDate":"2026-09-19","tomorrowProposals":[{"key":"example","title":"example","shape":"filming_session","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","carriedFromKey":"example"}],"tomorrowConfirmedAt":"2026-09-19T12:00:00.000Z","complete":false,"completedAt":"2026-09-19T12:00:00.000Z","gate":{"kind":"day_start","state":"open","outstandingSteps":["agenda_reviewed"],"releasedAt":"2026-09-19T12:00:00.000Z"}}},"PostV1TimeSubmissionsResponse201":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeSubmission — an immutable visibility-scoped time-report snapshot."},"hubId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Hub — the personal cross-workspace ownership boundary for user-owned data."},"organizationId":{"$ref":"#/components/schemas/Shared9471a220","description":"Identifies the referenced organization."},"status":{"type":"string","enum":["draft","submitted","withdrawn"],"description":"Current lifecycle state."},"periodStartsAt":{"type":"string","description":"Period starts time as an ISO 8601 instant."},"periodEndsAt":{"type":"string","description":"Period ends time as an ISO 8601 instant."},"timezone":{"type":"string","description":"Timezone for this record."},"measure":{"type":"string","enum":["human_effort","agent_effort","combined_effort","elapsed_delivery"],"description":"Allowed measure value."},"roundingPolicy":{"type":"string","description":"Rounding policy for this record."},"submittedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Submitted time as an ISO 8601 instant."},"withdrawnAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Withdrawn time as an ISO 8601 instant."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"items":{"type":"array","items":{"$ref":"#/components/schemas/TimeSubmissionItemOut"},"description":"Items, in order."}},"required":["id","hubId","organizationId","status","periodStartsAt","periodEndsAt","timezone","measure","roundingPolicy","submittedAt","withdrawnAt","createdAt","items"],"description":"An explicit Time Ledger report submission.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","hubId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","status":"draft","periodStartsAt":"2026-09-19T12:00:00.000Z","periodEndsAt":"2026-09-19T12:00:00.000Z","timezone":"example","measure":"human_effort","roundingPolicy":"example","submittedAt":"2026-09-19T12:00:00.000Z","withdrawnAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timeRecordId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","allocationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetKind":"task","targetId":"example","basisPoints":0,"durationMs":0}]}},"GetV1HubPreferencesResponse200":{"type":"object","properties":{"landing":{"description":"Where the Hub lands on open (default: the Hub home).","anyOf":[{"type":"string","const":"hub"},{"type":"string","const":"last"},{"type":"object","properties":{"orgId":{"type":"string","description":"Identifies the referenced org."}},"required":["orgId"]}]},"density":{"description":"Row density for lists. `comfortable`: roomier; `compact`: denser.","type":"string","enum":["comfortable","compact"]},"theme":{"description":"Color theme. `system` follows the OS setting; `light`/`dark` force one.","type":"string","enum":["system","light","dark"]},"timezone":{"description":"IANA timezone (e.g. `America/Chicago`) anchoring the daily plan — also the digest's day boundary and send time.","type":"string"},"calendar":{"description":"Continuous calendar-canvas preferences.","type":"object","properties":{"pixelsPerHour":{"description":"Continuous vertical zoom in pixels per hour (default: 72).","type":"number","minimum":24,"maximum":240},"minLaneWidth":{"description":"Minimum date-lane width in pixels before horizontal scrolling (default: 160).","type":"number","minimum":160,"maximum":640},"defaultCreateIntent":{"$ref":"#/components/schemas/CalendarItemCreateIntent","description":"Default create intent for this record."},"defaultLayerId":{"description":"Preferred destination layer for new events, whether native or writable provider-backed; null returns to the Docket fallback.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a CalendarLayer — one renderable stream of calendar items."},{"type":"null"}]}}},"athena":{"description":"Personal instructions and approval policy that follow the user across workspaces.","type":"object","properties":{"instructions":{"description":"Persistent personal instructions Athena follows across every workspace.","type":"string","maxLength":4000},"approvalMode":{"description":"How Athena handles work that could change external or Docket state.","type":"string","enum":["ask_before_acting","routine_autonomy","suggest_only"]}}},"viewState":{"description":"Sparse personal work-view overrides, collapsed groups, hidden columns, favorites, and last-used layouts keyed by a stable view instance.","type":"array","items":{"anyOf":[{"type":"object","properties":{"instanceKey":{"type":"string","pattern":"^(?:builtin:(?:task|project|program|initiative):[0-9A-HJKMNP-TV-Z]{26}|saved:[0-9A-HJKMNP-TV-Z]{26})$","description":"Instance key for this record."},"target":{"type":"string","const":"task","description":"Target for this record."},"arrangement":{"type":"object","properties":{"groupBy":{"$ref":"#/components/schemas/Shared303660a6","description":"Group by for this record."},"subGroupBy":{"$ref":"#/components/schemas/Sharedaa8436e4","description":"Sub group by for this record."},"orderBy":{"$ref":"#/components/schemas/Sharedd32759a6","description":"Order by for this record."}},"additionalProperties":false,"description":"Arrangement for this record."},"presentation":{"type":"object","properties":{"layout":{"type":"string","enum":["list","board","cards","timeline"],"description":"Allowed layout value."},"properties":{"$ref":"#/components/schemas/Sharedc623beda","description":"Properties for this record."},"density":{"type":"string","enum":["comfortable","compact"],"description":"Allowed density value."},"showEmptyGroups":{"type":"boolean","description":"Show empty groups for this record."}},"additionalProperties":false,"description":"Presentation for this record."},"collapsedGroups":{"default":[],"type":"array","items":{"type":"string"},"description":"Collapsed groups, in order."},"hiddenBoardColumns":{"default":[],"type":"array","items":{"type":"string"},"description":"Hidden board columns, in order."},"favoriteViewIds":{"$ref":"#/components/schemas/Sharedf4fabb54","description":"Favorite view ids for this record."},"lastUsedLayout":{"type":"string","enum":["list","board","cards","timeline"],"description":"Allowed last used layout value."}},"required":["instanceKey","target"],"additionalProperties":false},{"type":"object","properties":{"instanceKey":{"type":"string","pattern":"^(?:builtin:(?:task|project|program|initiative):[0-9A-HJKMNP-TV-Z]{26}|saved:[0-9A-HJKMNP-TV-Z]{26})$","description":"Instance key for this record."},"target":{"type":"string","const":"project","description":"Target for this record."},"arrangement":{"type":"object","properties":{"groupBy":{"$ref":"#/components/schemas/Shared43782783","description":"Group by for this record."},"subGroupBy":{"$ref":"#/components/schemas/Shared91826d45","description":"Sub group by for this record."},"orderBy":{"$ref":"#/components/schemas/Sharedfaf9e951","description":"Order by for this record."}},"additionalProperties":false,"description":"Arrangement for this record."},"presentation":{"type":"object","properties":{"layout":{"type":"string","enum":["list","board","cards","timeline"],"description":"Allowed layout value."},"properties":{"$ref":"#/components/schemas/Shared4a46d130","description":"Properties for this record."},"density":{"type":"string","enum":["comfortable","compact"],"description":"Allowed density value."},"showEmptyGroups":{"type":"boolean","description":"Show empty groups for this record."}},"additionalProperties":false,"description":"Presentation for this record."},"collapsedGroups":{"default":[],"type":"array","items":{"type":"string"},"description":"Collapsed groups, in order."},"hiddenBoardColumns":{"default":[],"type":"array","items":{"type":"string"},"description":"Hidden board columns, in order."},"favoriteViewIds":{"$ref":"#/components/schemas/Sharedf4fabb54","description":"Favorite view ids for this record."},"lastUsedLayout":{"type":"string","enum":["list","board","cards","timeline"],"description":"Allowed last used layout value."}},"required":["instanceKey","target"],"additionalProperties":false},{"type":"object","properties":{"instanceKey":{"type":"string","pattern":"^(?:builtin:(?:task|project|program|initiative):[0-9A-HJKMNP-TV-Z]{26}|saved:[0-9A-HJKMNP-TV-Z]{26})$","description":"Instance key for this record."},"target":{"type":"string","const":"program","description":"Target for this record."},"arrangement":{"type":"object","properties":{"groupBy":{"$ref":"#/components/schemas/Shared856c5cf4","description":"Group by for this record."},"subGroupBy":{"$ref":"#/components/schemas/Shared03da9a3a","description":"Sub group by for this record."},"orderBy":{"$ref":"#/components/schemas/Sharedc8178f86","description":"Order by for this record."}},"additionalProperties":false,"description":"Arrangement for this record."},"presentation":{"type":"object","properties":{"layout":{"type":"string","enum":["list","board","cards","timeline"],"description":"Allowed layout value."},"properties":{"$ref":"#/components/schemas/Shared7f358474","description":"Properties for this record."},"density":{"type":"string","enum":["comfortable","compact"],"description":"Allowed density value."},"showEmptyGroups":{"type":"boolean","description":"Show empty groups for this record."}},"additionalProperties":false,"description":"Presentation for this record."},"collapsedGroups":{"default":[],"type":"array","items":{"type":"string"},"description":"Collapsed groups, in order."},"hiddenBoardColumns":{"default":[],"type":"array","items":{"type":"string"},"description":"Hidden board columns, in order."},"favoriteViewIds":{"$ref":"#/components/schemas/Sharedf4fabb54","description":"Favorite view ids for this record."},"lastUsedLayout":{"type":"string","enum":["list","board","cards","timeline"],"description":"Allowed last used layout value."}},"required":["instanceKey","target"],"additionalProperties":false},{"type":"object","properties":{"instanceKey":{"type":"string","pattern":"^(?:builtin:(?:task|project|program|initiative):[0-9A-HJKMNP-TV-Z]{26}|saved:[0-9A-HJKMNP-TV-Z]{26})$","description":"Instance key for this record."},"target":{"type":"string","const":"initiative","description":"Target for this record."},"arrangement":{"type":"object","properties":{"groupBy":{"$ref":"#/components/schemas/Sharedd10792d3","description":"Group by for this record."},"subGroupBy":{"$ref":"#/components/schemas/Shared2a5c7415","description":"Sub group by for this record."},"orderBy":{"$ref":"#/components/schemas/Shared14fec1c9","description":"Order by for this record."}},"additionalProperties":false,"description":"Arrangement for this record."},"presentation":{"type":"object","properties":{"layout":{"type":"string","enum":["list","board","cards","timeline"],"description":"Allowed layout value."},"properties":{"$ref":"#/components/schemas/Shared2eb1938a","description":"Properties for this record."},"density":{"type":"string","enum":["comfortable","compact"],"description":"Allowed density value."},"showEmptyGroups":{"type":"boolean","description":"Show empty groups for this record."}},"additionalProperties":false,"description":"Presentation for this record."},"collapsedGroups":{"default":[],"type":"array","items":{"type":"string"},"description":"Collapsed groups, in order."},"hiddenBoardColumns":{"default":[],"type":"array","items":{"type":"string"},"description":"Hidden board columns, in order."},"favoriteViewIds":{"$ref":"#/components/schemas/Sharedf4fabb54","description":"Favorite view ids for this record."},"lastUsedLayout":{"type":"string","enum":["list","board","cards","timeline"],"description":"Allowed last used layout value."}},"required":["instanceKey","target"],"additionalProperties":false}]}},"digest":{"description":"Daily-digest delivery settings (the Sunsama-style end-of-day summary).","type":"object","properties":{"enabled":{"description":"Whether the daily digest is generated and delivered.","type":"boolean"},"sendAtLocalTime":{"description":"Local clock time to send, `\"HH:MM\"` 24-hour, interpreted in `timezone`.","type":"string"},"channels":{"description":"Where to deliver the digest: any of `email`, `inApp`.","type":"array","items":{"type":"string","enum":["email","inApp"]}}}},"proactive":{"description":"Proactive-agent settings — whether incoming mentions/assignments auto-draft a plan.","type":"object","properties":{"enabled":{"description":"When true, a mention/assignment observation spawns an approval-gated agent plan.","type":"boolean"}}},"composer":{"description":"Create-composer settings — how a composer behaves when it opens.","type":"object","properties":{"resumeDrafts":{"description":"When true, opening a create composer reopens the newest pending draft of that kind in that workspace.","type":"boolean"}}}},"description":"A user's personal Hub preferences (cross-org UI + daily-plan/digest/proactive settings).","example":{}},"GetV1MeCalendarResponse200":{"type":"object","properties":{"connections":{"type":"array","items":{"$ref":"#/components/schemas/CalendarConnectionOut"},"description":"Linked Google Calendar accounts."},"calendars":{"type":"array","items":{"$ref":"#/components/schemas/CalendarListOut"},"description":"Calendars across every linked account."},"layers":{"type":"array","items":{"$ref":"#/components/schemas/CalendarLayerOut"},"description":"Every calendar layer for the signed-in user (provider-backed and Docket-native), selected or not."},"sourceGroups":{"type":"array","items":{"$ref":"#/components/schemas/CalendarSourceGroupOut"},"description":"Logical calendars shown in settings."},"sourceGroupSuggestions":{"type":"array","items":{"$ref":"#/components/schemas/CalendarSourceGroupSuggestionOut"},"description":"Likely groups that remain separate until confirmed."}},"required":["connections","calendars","layers","sourceGroups","sourceGroupSuggestions"],"description":"User-scoped Google Calendar settings.","example":{"connections":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"docket","externalAccountId":"example","accountEmail":"developer@example.com","accountName":"example","accountPictureUrl":"https://api.clearthedocket.com/v1/example","status":"connected","calendarsTotal":0,"calendarsEnabled":0,"lastSyncedAt":"2026-09-19T12:00:00.000Z","lastError":"example","scopeState":{"grantedScopes":["example"],"calendarRead":false,"calendarWrite":false,"capturedAt":"2026-09-19T12:00:00.000Z"},"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}],"calendars":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","externalCalendarId":"example","title":"example","description":"example","timezone":"example","color":"example","accessRole":"example","primary":false,"selected":false,"visibleByDefault":false,"lastSyncedAt":"2026-09-19T12:00:00.000Z","lastError":"example","updatedAt":"2026-09-19T12:00:00.000Z"}],"layers":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"docket","sourceKind":"provider_calendar","externalLayerId":"example","title":"example","description":"example","timezone":"example","color":"example","accessRole":"example","primary":false,"selected":false,"visibleByDefault":false,"editableCore":false,"lastSyncedAt":"2026-09-19T12:00:00.000Z","lastError":"example","watchExpiresAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}],"sourceGroups":[{"id":"example","persistedGroupId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provenance":"single","title":"example","color":"example","selected":false,"visibleByDefault":false,"preferredLayerId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sources":[{"layerId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","relationship":"owned","management":{"canRemoveSubscription":false,"requiresIncrementalConsent":false}}]}],"sourceGroupSuggestions":[{"key":"example","title":"example","layerIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV","01ARZ3NDEKTSV4RRFFQ69G5FAW"]}]}},"GetV1MeCalendarSharesByOrganizationIdResponse200":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CalendarLayerShareOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"],"example":{"items":[{"layerId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","access":"details","createdBy":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}},"PostV1MeWorkLocationPlacesResponse201":{"type":"object","properties":{"place":{"$ref":"#/components/schemas/WorkPlaceOut","description":"Place for this record."},"projections":{"type":"array","items":{"$ref":"#/components/schemas/WorkLocationProjectionOut"},"description":"Projections, in order."}},"required":["place","projections"],"additionalProperties":false,"description":"Saved place and projection status.","example":{"place":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","archivedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"},"projections":[{"connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"example","state":"pending","reason":"unsupported_account"}]}},"PostV1MeWorkLocationAssertionsResponse201":{"type":"object","properties":{"assertion":{"$ref":"#/components/schemas/WorkLocationAssertionOut","description":"Assertion for this record."},"projections":{"type":"array","items":{"$ref":"#/components/schemas/WorkLocationProjectionOut"},"description":"Projections, in order."}},"required":["assertion","projections"],"additionalProperties":false,"description":"Canonical assertion and eventual provider-delivery status.","example":{"assertion":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","schedule":{"type":"one_off_all_day","date":"2026-09-19","timezone":"example"},"exceptions":[{"action":"cancel","date":"2026-09-19"}],"origin":"docket","originProvider":"example","originConnectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","revision":1,"archivedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"},"projections":[{"connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"example","state":"pending","reason":"unsupported_account"}]}},"GetV1MeNotificationsPreferencesResponse200":{"type":"object","properties":{"userId":{"type":"string","minLength":1,"description":"Identifies the referenced user."},"timezone":{"type":"string","minLength":1,"description":"Timezone for this record."},"quietHours":{"anyOf":[{"$ref":"#/components/schemas/NotificationQuietHours"},{"type":"null"}],"description":"Quiet hours for this record."},"categories":{"$ref":"#/components/schemas/Shared8e66927a","description":"Categories for this record."},"organizations":{"$ref":"#/components/schemas/Shared714582ef","description":"Organizations for this record."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["userId","timezone","quietHours","categories","organizations","updatedAt"],"description":"User notification preferences.","example":{"userId":"example","timezone":"example","quietHours":{"enabled":false,"start":"09:30","end":"09:30","days":["mon"]},"categories":{},"organizations":{},"updatedAt":"2026-09-19T12:00:00.000Z"}},"PostV1MePhoneNumbersResponse200":{"type":"object","properties":{"state":{"type":"string","enum":["awaiting_code","delivery_unknown","delivery_failed","expired","attempts_exhausted"],"description":"Current lifecycle state."},"expiresAt":{"type":"string","description":"Expires time as an ISO 8601 instant."},"attemptsRemaining":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Attempts remaining for this record."},"resendAvailableAt":{"type":"string","description":"Resend available time as an ISO 8601 instant."},"deliveryFailed":{"type":"boolean","description":"Delivery failed for this record."},"phoneNumber":{"$ref":"#/components/schemas/PhoneNumberOut","description":"Phone number for this record."}},"required":["state","expiresAt","attemptsRemaining","resendAvailableAt","deliveryFailed","phoneNumber"],"description":"The outstanding one-time-code challenge for a phone number.","example":{"state":"awaiting_code","expiresAt":"2026-09-19T12:00:00.000Z","attemptsRemaining":0,"resendAvailableAt":"2026-09-19T12:00:00.000Z","deliveryFailed":false,"phoneNumber":{"id":"example","masked":"example","dialCode":"example","country":"example","status":"pending","callingEnabled":false,"verifiedAt":"2026-09-19T12:00:00.000Z","lastCalledAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","challenge":{"state":"awaiting_code","expiresAt":"2026-09-19T12:00:00.000Z","attemptsRemaining":0,"resendAvailableAt":"2026-09-19T12:00:00.000Z","deliveryFailed":false}}}},"GetV1MeAccountProfileResponse200":{"type":"object","properties":{"name":{"type":"string","description":"Human-readable name."},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Email for this record."},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Image for this record."}},"required":["name","email","image"],"description":"The caller-owned profile.","example":{"name":"example","email":"developer@example.com","image":"example"}},"GetV1MeAccountResponse200":{"type":"object","properties":{"deletionState":{"type":"string","enum":["active","pending_deletion"],"description":"Whether the account is `active` or scheduled for deletion (`pending_deletion`)."},"deletionRequestedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 instant deletion was scheduled. Set while `pending_deletion`; null when `active`."},"deleteAfterAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 instant the 14-day grace window closes and the cron purge irreversibly deletes the account. Set while `pending_deletion`; null when `active`. The account can be recovered any time before this."},"blockers":{"type":"array","items":{"$ref":"#/components/schemas/OwnershipBlocker"},"description":"Shared orgs the user is the sole active owner of, which must be transferred or deleted before deletion can be scheduled. Empty when there are none (deletion is allowed)."},"export":{"anyOf":[{"$ref":"#/components/schemas/AccountExportOut"},{"type":"null"}],"description":"The user's most recent export job (status + download link when ready), or null when they have never requested one."}},"required":["deletionState","deletionRequestedAt","deleteAfterAt","blockers","export"],"description":"The user's account end-of-life status.","example":{"deletionState":"active","deletionRequestedAt":"2026-09-19T12:00:00.000Z","deleteAfterAt":"2026-09-19T12:00:00.000Z","blockers":[{"organizationId":"example","name":"example","memberCount":0}],"export":{"id":"example","status":"pending","origin":"manual","scope":{"categories":["account"],"workspaces":[{"id":"example","name":"example"}],"allWorkspaces":false},"requestedAt":"2026-09-19T12:00:00.000Z","readyAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z","downloadUrl":"example"}}},"GetV1MeAthenaResponse200":{"type":"object","properties":{"counts":{"$ref":"#/components/schemas/AthenaQueueCounts","description":"Counts for this record."},"currentChat":{"anyOf":[{"$ref":"#/components/schemas/AthenaSessionSummaryOut"},{"type":"null"}],"description":"The current persistent personal chat, or null before first use."},"sessions":{"$ref":"#/components/schemas/AthenaQueueOut","description":"Sessions for this record."},"nextCursors":{"$ref":"#/components/schemas/AthenaQueueCursors","description":"Next cursors for this record."}},"required":["counts","currentChat","sessions"],"description":"The private Athena operating overview.","example":{"counts":{"needsYou":0,"working":0,"finished":0},"currentChat":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"chat","status":"pending","queueState":"needs_you","objective":"example","context":{},"workspace":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"},"startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z"},"sessions":{"needsYou":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"chat","status":"pending","queueState":"needs_you","objective":"example","context":{},"workspace":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"},"startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z"}],"working":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"chat","status":"pending","queueState":"needs_you","objective":"example","context":{},"workspace":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"},"startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z"}],"finished":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"chat","status":"pending","queueState":"needs_you","objective":"example","context":{},"workspace":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"},"startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"GetV1MeAthenaChatResponse200":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The private personal session id."},"kind":{"type":"string","enum":["chat","job"],"description":"Persistent `chat` or episodic `job` work."},"status":{"type":"string","enum":["pending","running","awaiting_input","awaiting_approval","completed","failed","canceled"],"description":"The durable execution lifecycle state."},"queueState":{"type":"string","enum":["needs_you","working","finished"],"description":"The product queue lane derived from `status`."},"objective":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The first user-authored brief, or null before the user supplies one."},"context":{"$ref":"#/components/schemas/Shareda940c5a2","description":"Context for this record."},"workspace":{"$ref":"#/components/schemas/Shared69bf982e","description":"Workspace for this record."},"startedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 start instant, or null before execution."},"endedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 terminal instant, or null while active."},"createdAt":{"type":"string","description":"ISO-8601 creation instant used for newest-first ordering."},"activities":{"type":"array","items":{"$ref":"#/components/schemas/SessionActivityOut"},"description":"A bounded application-visible work-log window ordered oldest-first within this page."},"activityNextCursor":{"description":"Opaque cursor for the next older activity window; absent when the complete visible history is loaded.","type":"string"}},"required":["id","kind","status","queueState","objective","context","workspace","startedAt","endedAt","createdAt","activities"],"description":"Private Athena work and activity detail.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"chat","status":"pending","queueState":"needs_you","objective":"example","context":{},"workspace":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"},"startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","activities":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sessionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","type":"thought","body":{},"createdAt":"2026-09-19T12:00:00.000Z"}]}},"PostV1MeAthenaChatChaptersResponse201":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"title":{"type":"string","description":"Human-readable title."},"startActivityId":{"type":"string","description":"Identifies the referenced start activity."},"endActivityId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced end activity."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."}},"required":["id","title","startActivityId","endActivityId","createdAt","updatedAt"],"example":{"id":"example","title":"example","startActivityId":"example","endActivityId":"example","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"PostV1MeAthenaChatMessagesRequest":{"type":"object","properties":{"body":{"type":"string","minLength":1,"description":"The user-authored message appended to the work log."},"context":{"$ref":"#/components/schemas/AthenaInvocationContext","description":"Context for this record."}},"required":["body"],"additionalProperties":false,"description":"A personal Athena steering message.","example":{"body":"example"}},"GetV1MeElicitationsPresenceResponse200":{"type":"object","properties":{"live":{"type":"boolean","description":"Live for this record."},"lastSeenAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Last seen time as an ISO 8601 instant."},"windowMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Window ms for this record."}},"required":["live","lastSeenAt","windowMs"],"description":"The caller's recorded Athena presence.","example":{"live":false,"lastSeenAt":"2026-09-19T12:00:00.000Z","windowMs":0}},"GetV1MeDeviceNotificationSourcesByDeviceIdResponse200":{"type":"object","properties":{"deviceId":{"type":"string","description":"The install’s ULID."},"platform":{"$ref":"#/components/schemas/DeviceNotificationPlatform","description":"Platform for this record."},"label":{"type":"string","description":"Label for this record."},"retentionDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Retention days for this record."},"syncConsentedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Unix ms."},"lastSeenAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"When the device last registered or uploaded, Unix ms."},"createdAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Unix ms."},"updatedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Unix ms."}},"required":["deviceId","platform","label","retentionDays","syncConsentedAt","lastSeenAt","createdAt","updatedAt"],"description":"A registered notification source.","example":{"deviceId":"example","platform":"android","label":"example","retentionDays":0,"syncConsentedAt":0,"lastSeenAt":0,"createdAt":0,"updatedAt":0}},"GetV1MeDeviceNotificationsTriageSettingsResponse200":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether this behavior is enabled."},"enabledAt":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Enabled time as an ISO 8601 instant."}},"required":["enabled","enabledAt"],"example":{"enabled":false,"enabledAt":0}},"GetV1MeAthenaLatticeResponse200":{"type":"object","properties":{"available":{"type":"boolean","description":"Whether this deployment can offer Lattice at all right now."},"deploymentReason":{"anyOf":[{"type":"string","const":"not_configured"},{"type":"null"}],"description":"Why the feature is unavailable: `not_configured` when no Lovelace OAuth client is registered. Null when available."},"connected":{"type":"boolean","description":"Whether an approved Lovelace grant is stored."},"enabled":{"type":"boolean","description":"Whether Athena’s turns currently run on the connected device."},"deviceId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The chosen device id; null when none is chosen."},"deviceName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The chosen device’s name at selection time."},"deviceStatus":{"anyOf":[{"type":"string","enum":["unpaired","reachable","offline","revoked"]},{"type":"null"}],"description":"The chosen device’s live state at the last gateway read."},"scopes":{"type":"array","items":{"type":"string"},"description":"The scopes Athena requests from Lovelace."},"grantedScope":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The scope string Lovelace granted, when it reported one."},"unavailableReason":{"anyOf":[{"$ref":"#/components/schemas/Sharedc94d4a71"},{"type":"null"}],"description":"Stable, actionable reason the connection cannot currently serve a turn; never provider text. Null when it can."}},"required":["available","deploymentReason","connected","enabled","deviceId","deviceName","deviceStatus","scopes","grantedScope","unavailableReason"],"description":"One person’s Lattice connection state.","example":{"available":false,"deploymentReason":"not_configured","connected":false,"enabled":false,"deviceId":"example","deviceName":"example","deviceStatus":"unpaired","scopes":["example"],"grantedScope":"example","unavailableReason":"not_connected"}},"GetV1MeAthenaMailChannelResponse200":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether this behavior is enabled."},"ownerRepliesEnabled":{"type":"boolean","description":"Owner replies enabled for this record."},"organizationId":{"$ref":"#/components/schemas/Shared9471a220","description":"Identifies the referenced organization."},"ownerAddress":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Owner address for this record."},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Address for this record."},"configured":{"type":"boolean","description":"Configured for this record."}},"required":["enabled","ownerRepliesEnabled","organizationId","ownerAddress","address","configured"],"example":{"enabled":false,"ownerRepliesEnabled":false,"organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","ownerAddress":"example","address":"example","configured":false}},"GetV1MeAthenaMailResponse200":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AthenaMailMessageOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"],"example":{"items":[{"id":"example","kind":"athena_email","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","snippet":"example","content":"example","contentStatus":"complete","source":{"system":"example","provider":"example","reference":"example","label":"example"},"occurredAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","permalink":"example","fromAddress":"example","fromName":"example","toAddress":"example","bodyHtml":"example","attachments":[{"id":"example","filename":"example","contentType":"example"}],"streamEventId":"example","attachedCount":0}]}},"PostV1MeAthenaMcpAppsCallRequest":{"type":"object","properties":{"connectionId":{"type":"string","minLength":1,"description":"Identifies the referenced connection."},"tool":{"type":"string","minLength":1,"description":"Tool for this record."},"arguments":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Arguments for this record."}},"required":["connectionId","tool"],"example":{"connectionId":"example","tool":"example"}},"PostV1MeAthenaMcpAppsCallResponse200":{"type":"object","properties":{"connectionId":{"type":"string","description":"Identifies the referenced connection."},"tool":{"type":"string","description":"Tool for this record."},"resource":{"anyOf":[{"type":"object","properties":{"uri":{"type":"string","description":"Uri for this record."},"mimeType":{"type":"string","description":"Mime type for this record."},"text":{"type":"string","description":"The widget document, exactly as its server served it."},"prefersBorder":{"type":"boolean","description":"Prefers border for this record."},"csp":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"type":"string"}},"description":"Csp for this record."},"permissions":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"Permissions for this record."}},"required":["uri","mimeType","text"],"description":"The `ui://` document to render, or absent when the tool declares none."},{"type":"null"}],"description":"Resource for this record."},"result":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The tool’s `CallToolResult`, delivered to the view as `ui/notifications/tool-result`."},"arguments":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The arguments the tool was called with, delivered as `ui/notifications/tool-input`."}},"required":["connectionId","tool","resource","result","arguments"],"example":{"connectionId":"example","tool":"example","resource":{"uri":"example","mimeType":"example","text":"example"},"result":{},"arguments":{}}},"Shared10871fb8":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Cycle — a time-boxed iteration (sprint) Tasks can be scheduled into."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared8e66927a":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/NotificationChannelPreference"},"description":"Categories for this record.","example":{}},"Shared856c5cf4":{"anyOf":[{"type":"string","enum":["workTypeId","status","health","owner","initiatives","labels","visibility","creator"]},{"type":"null"}],"description":"Group by for this record.","example":"workTypeId"},"Shared2b632cd6":{"default":[],"type":"array","items":{"$ref":"#/components/schemas/WorkPlaceProviderMapping"},"description":"Account-aware provider mappings; these do not classify the core place.","example":[]},"Shared637f8ff8":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}],"description":"Free-form JSON bag of kind-specific extras; null when none.","example":{}},"Shared0b3b62fd":{"type":"boolean","description":"True when the grant applies to the resource AND its whole containment subtree (overridable lower); false when pinned to exactly that one resource.","example":false},"Shared934224b5":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a work status — one entry in a workspace’s status set for Tasks, Projects, Programs, or Initiatives.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedba45ed03":{"type":"string","enum":["task","project","program","initiative","cycle"],"description":"Kind of subject the comment is on: 'task' | 'project' | 'program' | 'initiative' | 'cycle'.","example":"task"},"Sharedefce9048":{"description":"Linear-compatible broad resolution, or null/omitted for a precise start day.","anyOf":[{"type":"string","enum":["month","quarter","halfYear","year"]},{"type":"null"}],"example":"month"},"Sharede94ea940":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Initiative — the highest planning altitude, grouping Programs/Projects toward a strategic outcome.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shareda3c009a6":{"type":"string","enum":["view","comment","contribute","assign","manage"],"description":"The capability ladder used for explicit grants. Higher levels satisfy lower required levels.","example":"view"},"Shared30e9141f":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an AgentSession — one run of an Agent, with a status lifecycle (incl. `awaiting_approval`, `failed`).","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared1028093b":{"type":"string","enum":["task","project","initiative","program","calendar_item","stream_event"],"description":"The canonical kind of Docket object that supplied invocation context.","example":"task"},"Shared4b81d561":{"description":"Linear-compatible broad resolution, or null/omitted for a precise target day.","anyOf":[{"type":"string","enum":["month","quarter","halfYear","year"]},{"type":"null"}],"example":"month"},"Shareda9e3bb2c":{"description":"Fine-grained time estimate in minutes (integer), or null for none.","anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"example":0},"Shared79597039":{"minItems":1,"maxItems":28,"type":"array","items":{"$ref":"#/components/schemas/WorkScheduleCycleDay"},"description":"The complete one-through-twenty-eight-day repeating work cycle.","example":[{"segments":[{"startMinute":0,"durationMinutes":1,"location":{"type":"saved_place","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}]}]},"Shared4d3920f7":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Actor — a member identity within one org (a human user's membership, or an agent/service principal).","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared03da9a3a":{"anyOf":[{"type":"string","enum":["workTypeId","status","health","owner","initiatives","labels","visibility","creator"]},{"type":"null"}],"description":"Sub group by for this record.","example":"workTypeId"},"Shared70f1e3b9":{"description":"How approvers for this agent's gated actions are chosen; null when using the default routing.","anyOf":[{"$ref":"#/components/schemas/ApprovalRouting"},{"type":"null"}],"example":{"mode":"assigner"}},"Shared2b2b2565":{"type":"string","enum":["neutral","primary","success","warning","danger","blue","sky","teal","green","amber","orange","rose","purple","indigo"],"description":"Allowed color key value.","example":"neutral"},"Shared128f0ae3":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared511906ae":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 instant the archive became downloadable. Populated only when `status === ready`; null while pending/failed/expired.","example":"example"},"Shared77778108":{"description":"The Notion data source a `relation` column points at. Required when `representation` is `existing_table`; set by Docket when it is `docket_people_table`.","type":"string","example":"example"},"Sharedc9f1aaa7":{"type":"string","description":"The workspace's one identifier: unique across all orgs, and — unless a custom domain is set — the path segment its published briefs answer on by default.","example":"example"},"Shared331ee649":{"type":"string","maxLength":1500000,"pattern":"^data:image\\/(jpeg|png|webp|gif);base64,[A-Za-z0-9+/]+={0,2}$","description":"A JPG, PNG, WebP, or GIF data URL awaiting managed storage.","example":"data:image/png;base64,AAAA"},"Shared56ed1e4a":{"description":"Optional Program to file the project under at creation. Must reference a Program in the caller’s org (404 otherwise).","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared086f9a64":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedc12d1de4":{"anyOf":[{"type":"string","enum":["month","quarter","halfYear","year"]},{"type":"null"}],"description":"Broad start resolution, or `null` when the saved start is a precise day or unset.","example":"month"},"Shared92bffece":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The provider user's email as of the last sync, refreshed every time; null when the provider does not expose one for this user.","example":"example"},"Shareda940c5a2":{"anyOf":[{"$ref":"#/components/schemas/AthenaInvocationContextOut"},{"type":"null"}],"description":"Validated invocation focus with owner-safe source metadata, or null for neutral work.","example":{}},"Sharede2450f3d":{"description":"New broad target resolution. Omit with the date for a precise day; null clears it.","anyOf":[{"type":"string","enum":["month","quarter","halfYear","year"]},{"type":"null"}],"example":"month"},"Shareddbdf783c":{"description":"The team's assignable shadow actor id. Present on current API reads; optional for backward-compatible cached payloads.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedd9f01acf":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Background re-sync cadence in minutes; null = manual-only (no scheduled sync).","example":1},"Sharedf1cc3f9e":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/PlanObjectSnapshot"},"description":"Live records for confirmed nodes, keyed by ref.","example":{}},"Sharedf670bad8":{"anyOf":[{"type":"string","enum":["month","quarter","halfYear","year"]},{"type":"null"}],"description":"Broad target resolution, or `null` when the saved target is a precise day or unset.","example":"month"},"Shared994a403b":{"type":"string","description":"The org's billing/lifecycle state (e.g. 'active', 'pending_deletion'). Gating on this state runs before the authorization layer; a frozen org blocks writes.","example":"example"},"Shared5d71394e":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Tools advertised at the last successful check; null when never verified.","example":0},"Shared33f46516":{"type":"string","enum":["document","spreadsheet","presentation","folder","pdf","image","video","file","issue","message","event","page","unknown"],"description":"Allowed resource type value.","example":"document"},"Shareddb291e2a":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Manual ordering key among the project’s milestones (ascending); the order they render on the timeline.","example":0},"Sharedc530595f":{"type":"string","description":"Palette token key (see LABEL_COLOR_KEYS). May be a legacy hex on labels mirrored from a provider; readers snap those to the nearest token rather than failing.","example":"example"},"Shared87e5718d":{"type":"string","enum":["replace_property","add_association","remove_association","add_dependency","remove_dependency","change_parent","trash","restore"],"description":"Allowed action value.","example":"replace_property"},"Shared49fb329e":{"description":"Optional owning Actor (accountable person). Must reference an Actor in the caller’s org (404 `Owner not found` otherwise).","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared492417fa":{"description":"Project this task rolls up into. Must be a project in the caller's org. Optional — a task can be project-less (loose work).","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared8eeab602":{"type":"string","enum":["status","priority","health","startDate","targetDate","createdAt","updatedAt","progress","taskCount","dependencyCount","name"],"description":"Field the rule evaluates.","example":"status"},"Shareda5744d1b":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedebc3f6d5":{"type":"array","prefixItems":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Value used by the comparison.","example":[]},"Shared6a7cef0f":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 instant the download link stops being offered (after which `status` becomes `expired`). Populated only when ready; else null.","example":"example"},"Sharedd10792d3":{"anyOf":[{"type":"string","enum":["workTypeId","status","priority","health","owner","leadTeam","labels","updateCadence","organization"]},{"type":"null"}],"description":"Group by for this record.","example":"workTypeId"},"Shared06a96c8e":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The connector config jsonb (see `ConnectorConfig`: target team/project, `listIds`, write-back options).","example":{}},"Shared4c768269":{"type":"object","properties":{"url":{"type":"string","description":"The hosted provider URL the client should redirect the user to (a Stripe checkout or customer-portal URL)."}},"required":["url"],"example":{"url":"example"}},"Sharede4c45e4a":{"minItems":1,"type":"array","items":{"type":"string","enum":["none","low","medium","high"],"description":"The Initiative priority; defaults to none."},"description":"Value used by the comparison.","example":["none"]},"Shared61480e48":{"anyOf":[{"type":"string","enum":["unsupported_account","missing_scope","unsupported_recurrence","provider_unavailable","reauth_required"]},{"type":"null"}],"description":"Reason for this record.","example":"unsupported_account"},"Sharedd084be6b":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/TaskTimeboxAgendaEntry"},{"$ref":"#/components/schemas/CalendarAgendaEventOut"}]},"description":"Agenda entries sorted by start time.","example":[{"kind":"task_timebox","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example","priority":"none","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z"}]},"Shared0802df44":{"description":"Planned completion date (ISO-8601 string), or `null` when the milestone is undated. Drives the on-track/at-risk signal relative to today.","anyOf":[{"type":"string"},{"type":"null"}],"example":"example"},"Shared4808d1df":{"type":"string","description":"The path the brief answers on, relative to whichever host serves it (e.g. `/acme/q3-roadmap` on the shared brief host, or `/q3-roadmap` on a verified custom domain).","example":"example"},"Sharedff5409b2":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"A same-origin URL to the generated ZIP archive (the `/file` binary sub-resource), populated only when `status === ready`; null otherwise.","example":"example"},"Shared353dcbfa":{"description":"The runtime connection metadata (endpoint + protocol, never the secret); null when no runtime is configured.","anyOf":[{"$ref":"#/components/schemas/AgentConnection"},{"type":"null"}],"example":{"endpoint":"example","protocol":"mcp"}},"Shared47a94883":{"type":"number","minimum":0,"maximum":1,"description":"Completion ratio in `[0, 1]` (`completedWeight / totalWeight`). Exactly `0` for an empty project (never NaN). Multiply by 100 for a percentage.","example":0},"Shared2a5c7415":{"anyOf":[{"type":"string","enum":["workTypeId","status","priority","health","owner","leadTeam","labels","updateCadence","organization"]},{"type":"null"}],"description":"Sub group by for this record.","example":"workTypeId"},"Sharedc7a97878":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Sort order of this status among the statuses sharing its category, ascending. Full board order is category rank, then position.","example":0},"Shared36936e2c":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The member's org-level job title (e.g. 'Event Coordinator'), or null when unset. Distinct from `role`, which is their standing on this team.","example":"example"},"Sharede270a0d5":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Milestone — a dated checkpoint within a Project."},{"type":"null"}],"description":"Stored or returned value.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedcb071161":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Institutional email for this record.","example":"developer@example.com"},"Shared4955e423":{"type":"string","enum":["status","priority","title","startDate","dueDate","createdAt","updatedAt","estimate","estimateMinutes","blocked","blocking","archived"],"description":"Field the rule evaluates.","example":"status"},"Shared53fb2ed9":{"description":"Access scope. Defaults to `public` (visible to all org members) when omitted; `private` restricts the program to actors with an explicit grant.","type":"string","enum":["public","private"],"example":"public"},"Sharedf0afa86a":{"type":"string","enum":["initiative","program","project"],"description":"Which kind of work record a brief describes. Tasks and cycles are excluded: a brief is a narrative document about a body of work.","example":"initiative"},"Shared69bf982e":{"anyOf":[{"$ref":"#/components/schemas/AthenaWorkspaceOut"},{"type":"null"}],"description":"Canonical workspace metadata visible to the authenticated owner, or null when neutral or no longer accessible.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}},"Sharedc392aa07":{"type":"string","enum":["none","urgent","high","medium","low"],"description":"A Task's priority. `none`: unprioritized. `urgent`: do now / drop everything. `high`, `medium`, `low`: descending importance.","example":"none"},"Shared4c96c279":{"type":"number","minimum":0,"description":"Summed weight of all tasks — the estimate sum in estimate mode (used when any task carries a positive estimate), or the total task count in count-fallback mode.","example":0},"Sharedd0d1e01a":{"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"description":"Labels, in order.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared7a983768":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Milestone — a dated checkpoint within a Project."},{"type":"null"}],"description":"Value used by the comparison.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared27ea0cb6":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"A short plain-text excerpt of the Task's description, or null when it has none. Bounded server-side so a Hub row never carries a whole document.","example":"example"},"Shared84ccdaea":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}],"description":"Program for this record.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedcc64c4b8":{"type":"string","description":"Current lifecycle status — one of `planned`/`active`/`completed`/`canceled` (see `ProjectStatus`). Typed as a plain string on the wire; the enum captures the allowed values.","example":"example"},"Shared827990f4":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}],"description":"Stored or returned value.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared57f21d8e":{"type":"boolean","description":"Whether Docket seeded this template as a shipped default. Seeded rows are ordinary rows — editable, renamable, and deletable — so this is presentational, never a permission.","example":false},"Sharedbf6323eb":{"type":"string","enum":["manager","member","guest"],"description":"The member's standing on this team. This value identifies team responsibility; capability grants separately control what the member may do.","example":"manager"},"Shared871ac7bd":{"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"description":"Label ids, in order.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared69023bd3":{"type":"string","enum":["pending","connected","error","disconnected"],"description":"Connection health (pending/connected/error/disconnected) — `connected` is only ever earned by a real connect/verify/sync.","example":"pending"},"Shared61cc11ea":{"type":"string","enum":["task","project","program","initiative"],"description":"The kind of work this status set applies to. Cycles are absent because a Cycle’s status follows its dates rather than a choice.","example":"task"},"Shared6a897217":{"description":"Idempotency key for a proactively created session. Reprocessing the same observation does not start another run. Null for sessions started directly.","anyOf":[{"type":"string"},{"type":"null"}],"example":"example"},"Sharedf2270bf4":{"anyOf":[{"$ref":"#/components/schemas/Sharede94ea940"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared7fe6bfcb":{"type":"string","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)$","example":"123e4567-e89b-42d3-a456-426614174000"},"Shared532e6909":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}],"description":"Value used by the comparison.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared33ea6897":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Milestone — a dated checkpoint within a Project."},{"type":"null"}],"description":"Identifies the referenced milestone.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared9f088645":{"type":"object","properties":{"decision":{"$ref":"#/components/schemas/ApprovalDecision","description":"Decision for this record."}},"required":["decision"],"description":"A reviewer decision on a gated action.","example":{"decision":"approved"}},"Sharede16f8eed":{"type":"object","properties":{"subscribed":{"type":"boolean","description":"Subscribed for this record."}},"required":["subscribed"],"description":"Whether the caller has a registered browser push subscription.","example":{"subscribed":false}},"Shared7f4d4402":{"description":"ISO-8601 instant the notification was marked read (via read/read-all/act), or null while still unread. This single column is the entire read/act state.","anyOf":[{"type":"string"},{"type":"null"}],"example":"example"},"Sharedb7dfbe3a":{"type":"string","enum":["intake","engineering-product","marketing-content","sales-clients","operations-finance","people","nonprofit","events","research-writing","personal"],"description":"Allowed category value.","example":"intake"},"Shareda020a93f":{"type":"string","minLength":1,"description":"The email address or phone number for this contact point. Docket returns the full value only to the account that owns it. Delivery records use a masked value instead.","example":"developer@example.com"},"Shared49bcf214":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}],"description":"Identifies the referenced after.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared68bd0e4d":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}],"description":"Identifies the referenced before.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared7d3f8413":{"anyOf":[{"type":"string","enum":["template_unavailable","permission_changed","destination_unavailable","invalid_work","work_limit","creation_failed"]},{"type":"null"}],"description":"Failure code for this record.","example":"template_unavailable"},"Sharedc94d4a71":{"type":"string","enum":["not_connected","no_device_selected","device_offline","device_unpaired","device_revoked","device_missing","authorization_expired","insufficient_scopes","gateway_unreachable","gateway_error"],"example":"not_connected"},"Shared2a26e9d4":{"description":"Labels to attach on create.","type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Sharede0e96dda":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}],"description":"Identifies the referenced program.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedc6ff5293":{"type":"object","properties":{"kind":{"type":"string","const":"external","description":"Selects the value variant."},"url":{"type":"string","description":"Absolute URL for this resource."}},"required":["kind","url"],"example":{"kind":"external","url":"https://api.clearthedocket.com/v1/example"}},"Shared92f4ddd1":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for work created from one process revision."},{"type":"null"}],"description":"Identifies the referenced process instance.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedefee25e6":{"type":"string","enum":["person","athena","agent","docket"],"description":"Who performed the change: `person`, `athena` (Docket’s assistant), `agent` (a third-party AI client), or `docket` (a rule, sync, or import).","example":"person"},"Shared61b9c479":{"type":"string","enum":["account","personal","workspaces"],"description":"A selectable personal-data export category: account identity and connected apps, cross-workspace personal data, or selected Docket workspaces.","example":"account"},"Shared9e08c9da":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable ULID identifier of the invitation. Used to revoke it (`DELETE /invitations/:id`); note the redeem path keys on the opaque token, not this id.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared76aecb6c":{"type":"object","properties":{"unlinked":{"type":"boolean","const":true,"description":"Always `true`; the association edge no longer exists."}},"required":["unlinked"],"description":"An initiative child-unlink result.","example":{"unlinked":true}},"Shared7f358474":{"type":"array","items":{"type":"string","enum":["workTypeId","status","health","owner","initiatives","labels","visibility","creator","updatedAt","projectCount","taskCount","name"]},"description":"Properties, in order.","example":["workTypeId"]},"Sharedcb297b4d":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},{"type":"null"}],"description":"Group value for this record.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedf34f6224":{"type":"string","enum":["none","exponential","fibonacci","linear","t_shirt"],"description":"The workspace's task-estimation scale. Determines which point values the task estimate picker offers; see `ESTIMATION_SCALES`.","example":"none"},"Shared0a69add3":{"description":"Task priority: 'none' | 'low' | 'medium' | 'high' | 'urgent'. Defaults to 'none'. Drives sorting and badges; does not affect workflow state.","type":"string","enum":["none","urgent","high","medium","low"],"example":"none"},"Sharedae01e774":{"description":"Milestone this task targets; null when none.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Milestone — a dated checkpoint within a Project."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared34c4f4c8":{"anyOf":[{"type":"number","const":1},{"type":"number","const":2},{"type":"number","const":3},{"type":"number","const":4},{"type":"number","const":5},{"type":"number","const":-1}],"description":"Ordinal for this record.","example":1},"Sharedbf473e7d":{"type":"string","description":"The key of the Task's current status in its own workspace (e.g. `todo`, `in_progress`, `done`). A workspace names its own statuses, so this key means something only inside that workspace.","example":"example"},"Sharedcbbc9868":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Cycle — a time-boxed iteration (sprint) Tasks can be scheduled into."},{"type":"null"}],"description":"Stored or returned value.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared163ef838":{"type":"array","items":{"$ref":"#/components/schemas/LabelRef"},"description":"Labels attached to the task, sorted by name. Embedded rather than referenced by id so a list row can render its chips without a second read.","example":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}]},"Shared44fff054":{"default":[],"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"description":"Label ids, in order.","example":[]},"Sharedcae1bfe3":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}],"description":"Identifies the referenced owner program.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared43782783":{"anyOf":[{"type":"string","enum":["workTypeId","status","priority","health","lead","members","teams","program","initiatives","labels","targetTimeframe","creator"]},{"type":"null"}],"description":"Group by for this record.","example":"workTypeId"},"Shareddbc0dc97":{"type":"string","enum":["public","private"],"description":"Resource reach. `public`: visible to every member of the org (subject to capability). `private`: visible only to actors holding an explicit grant on the resource.","example":"public"},"Sharedb637927e":{"anyOf":[{"$ref":"#/components/schemas/DnsRecordOut"},{"type":"null"}],"description":"The `CNAME` that points the host at Docket, once ownership is proved. `null` when the deployment has no custom-domain target configured.","example":{"type":"TXT","name":"example","value":"example","ttlSeconds":0}},"Shared6e45ac6d":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Cycle — a time-boxed iteration (sprint) Tasks can be scheduled into."},{"type":"null"}],"description":"Value used by the comparison.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared9fafbd3e":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},{"type":"null"}],"description":"Source group value for this record.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared1507ca4b":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}],"description":"Stored or returned value.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared91826d45":{"anyOf":[{"type":"string","enum":["workTypeId","status","priority","health","lead","members","teams","program","initiatives","labels","targetTimeframe","creator"]},{"type":"null"}],"description":"Sub group by for this record.","example":"workTypeId"},"Sharedce49009d":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeCategory — a user-owned category for reflection and reporting."},{"type":"null"}],"description":"Identifies the referenced parent.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared22c59c0c":{"type":"string","description":"ISO-8601 deadline after which the invitation can no longer be accepted (7 days from creation). Expiry is enforced at accept time; an expired-but-still-pending row may briefly appear in listings.","example":"example"},"Shared8b85ef6a":{"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"description":"Offered team ids, in order.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shareda6e92c00":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Cycle — a time-boxed iteration (sprint) Tasks can be scheduled into."},{"type":"null"}],"description":"Identifies the referenced cycle.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared1eca808f":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The member's org-scoped human Actor id (`actor.kind = 'human'`). This — not the user id — is how the member is addressed in member/grant/assignment endpoints.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared9c179824":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"description":"Stored or returned value.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared61455fed":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeCategory — a user-owned category for reflection and reporting."},{"type":"null"}],"description":"Identifies the referenced category.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared58935c08":{"description":"The Better Auth User id backing this human Actor — the cross-org identity that links this membership to a real person. Null only for actors not bound to a user account.","anyOf":[{"type":"string"},{"type":"null"}],"example":"example"},"Shared8896f40d":{"anyOf":[{"type":"string","enum":["auth","rate_limit","network","provider","ambiguous","unknown"]},{"type":"null"}],"description":"What sort of failure `lastError` was, for a client to turn into its own copy; null when healthy.","example":"auth"},"Shared473b0e78":{"minItems":1,"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"description":"Value used by the comparison.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared1dfee4b2":{"default":null,"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}],"description":"Identifies the referenced program.","example":null},"Shared08117aa3":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"label":{"type":"string","description":"Label for this record."}},"required":["id","label"],"additionalProperties":false,"example":{"id":"example","label":"example"}},"Shared6577a956":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}],"description":"Value used by the comparison.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared2eb1938a":{"type":"array","items":{"type":"string","enum":["workTypeId","status","priority","health","owner","leadTeam","labels","targetDate","updateCadence","latestUpdate","parent","organization","name"]},"description":"Properties, in order.","example":["workTypeId"]},"Sharedce265319":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"description":"Value used by the comparison.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedb339226b":{"type":"string","enum":["public","private"],"description":"The role's default resource visibility — 'public' (members see public work without a grant) or 'private' (grant-only). Drives the permission resolver's visibility fallback.","example":"public"},"Sharedfffa8b49":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}],"description":"Identifies the referenced after.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared03bc2191":{"type":"object","properties":{"changeSetId":{"type":"string","description":"Identifies the referenced change set."},"undone":{"type":"boolean","const":true,"description":"Undone for this record."}},"required":["changeSetId","undone"],"example":{"changeSetId":"example","undone":true}},"Shared5804df99":{"description":"Program this task is associated with; null when none.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared92c7d287":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"description":"Identifies the referenced team.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared9ab12bb2":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}],"description":"Identifies the referenced before.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedcc7dbe40":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"description":"Team ids, in order.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Sharedae907dc8":{"anyOf":[{"type":"string","enum":["auth","rate_limit","network","provider","ambiguous","unknown"]},{"type":"null"}],"description":"What sort of failure this was, for a client to turn into its own copy; null when the run did not fail.","example":"auth"},"Shared06c8907b":{"description":"One-line statement of what the task is, for list surfaces; null when nothing has written one. Hub rows fall back to a lead-sentence extract of `description` when this is null.","anyOf":[{"type":"string"},{"type":"null"}],"example":"example"},"Shared969dbcd0":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}],"description":"Identifies the referenced project.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared347cf550":{"type":"string","enum":["allow","deny"],"description":"Whether the grant adds ('allow') or subtracts ('deny') capability. The schema models both, but the API only ever writes 'allow' grants — 'deny' is gated off at the write endpoint.","example":"allow"},"Shared303660a6":{"anyOf":[{"type":"string","enum":["workTypeId","status","priority","assignee","delegate","team","project","program","cycle","milestone","labels","creator","dueDate","estimate"]},{"type":"null"}],"description":"Group by for this record.","example":"workTypeId"},"Shared5e401ccf":{"anyOf":[{"type":"string","enum":["work_item","project","program","initiative","cycle","thread","message","document","calendar_event","person","organization","agent_session"]},{"type":"null"}],"description":"Entity kind for this record.","example":"work_item"},"Shared2e6bcf94":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"integer","minimum":1,"maximum":7},"description":"Workspace working calendar as unique ascending ISO weekdays (Monday 1 through Sunday 7). New workspaces use Monday through Friday.","example":[1]},"Shared6f43c81e":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"description":"Value used by the comparison.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedf4fabb54":{"default":[],"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a SavedView — a stored filter/sort/grouping configuration over a work list."},"description":"Favorite view ids, in order.","example":[]},"Shared322d4ec6":{"description":"Owning group id; null when ungrouped.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label group — a named set of related Labels, optionally mutually exclusive."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedf6a8063f":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"description":"Association ids, in order.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared54fa266a":{"description":"Organization-global Labels to attach during creation.","type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Sharedaa8436e4":{"anyOf":[{"type":"string","enum":["workTypeId","status","priority","assignee","delegate","team","project","program","cycle","milestone","labels","creator","dueDate","estimate"]},{"type":"null"}],"description":"Sub group by for this record.","example":"workTypeId"},"Shared557aedf0":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"description":"Identifies the referenced task.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared8919b77a":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"description":"The owning Team, or `null` when none.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedc28be423":{"description":"The owning team of a project or task.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared864646a2":{"description":"Parent task id to create this task as a subtask. Must be an active task in the caller’s org. Prefer `POST /tasks/:id/subtasks`, which inherits team/project from the parent.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared87349ee1":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"description":"Identifies the referenced after.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared6bacd60a":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"description":"Identifies the referenced before.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared07f21ed5":{"type":"string","enum":["task","project","initiative","program"],"description":"The kind of work a template creates: `task`, `project`, `initiative`, or `program`. A Cycle is a date window and a Team is structural, so neither is templatable.","example":"task"},"Shared57c2f301":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"description":"Offered team ids, in order.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared6d097131":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"description":"Remove label ids, in order.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Sharedea9039fd":{"description":"Total attachments across every labelable entity. Present only on list reads that ask for it; drives the settings page’s counts and its \"Unused\" section.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"example":0},"Shared2f34bc0b":{"minItems":1,"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"description":"Value used by the comparison.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Sharedcf16e4aa":{"minItems":1,"type":"array","items":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Milestone — a dated checkpoint within a Project."},{"type":"null"}]},"description":"Value used by the comparison.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared11b9205d":{"type":"object","properties":{"kind":{"type":"string","const":"symbol","description":"Selects the value variant."},"name":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$","description":"Human-readable name."}},"required":["kind","name"],"example":{"kind":"symbol","name":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"}},"Shared32e28b84":{"description":"Cycle this task is committed to; null when none.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Cycle — a time-boxed iteration (sprint) Tasks can be scheduled into."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared4e2c0587":{"description":"Set to reply to an existing comment. The parent must be a ROOT comment on the SAME subject and org — replies are single-level (no replies to replies). Omit for a root comment.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedcef1c935":{"type":"array","items":{"$ref":"#/components/schemas/Sharede94ea940"},"description":"Initiatives, in order.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared55c87cd1":{"description":"The Program this project is filed under, or `null` when unfiled.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedfc14ef4d":{"description":"Label ids to tag the task with for classification/filtering.","type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Sharedf20cac70":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"description":"Identifies the referenced parent task.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared3582b72f":{"description":"Optional organization-global Labels to attach to the Project.","type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared8a8051aa":{"type":"array","items":{"$ref":"#/components/schemas/Sharede94ea940"},"description":"Initiative ids, in order.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared61b1abe0":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"description":"Identifies the referenced created task.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedac140125":{"minItems":1,"type":"array","items":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}]},"description":"Value used by the comparison.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared843c1131":{"type":"array","prefixItems":[{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}],"description":"Value used by the comparison.","example":[]},"Shared285c8aef":{"type":"string","enum":["workTypeId","status","priority","health","lead","members","teams","program","initiatives","labels","startDate","targetDate","targetTimeframe","creator","createdAt","updatedAt","progress","taskCount","dependencyCount","name"],"example":"workTypeId"},"Shared961883a6":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Managed public URL of an uploaded cover image, or null when the cover is derived from `glyph` + `colorKey`. Null is the ordinary state, not a missing value — a derived cover always renders.","example":"example"},"Sharedec05763a":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"description":"Owner for this record.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared83bc4268":{"minItems":1,"type":"array","items":{"type":"string","enum":["weekly","biweekly","monthly","quarterly","none"],"description":"The update interval used to determine whether an active Initiative is stale."},"description":"Value used by the comparison.","example":["weekly"]},"Sharedec0b55b4":{"type":"string","enum":["running","succeeded","failed"],"description":"The outcome of one sync run: `running` (in progress — only one may run per integration at a time), `succeeded` (completed cleanly), or `failed` (errored — see the run's `error`).","example":"running"},"Shareddff1ad0b":{"description":"The lead of a project.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared31bb4be0":{"description":"The accountable owner.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared6e77fda4":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/TaskDetail","description":"Task for this record."},"undoToken":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Undo token for this record."}},"required":["task","undoToken"],"example":{"task":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","state":"example","priority":"none","autoCompletedBySubtasks":false,"provenance":{"source":"native"},"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","blocking":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}],"blockedBy":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}],"subtasks":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}],"relatedTasks":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}]},"undoToken":"example"}},"Shared0ae9de27":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"description":"Creator for this record.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared2ea1ea6a":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"The stable identifier for this resource."},"name":{"type":"string","minLength":1,"description":"Human-readable name."}},"required":["id","name"],"additionalProperties":false,"example":{"id":"example","name":"example"}},"Shared55e48f56":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a CalendarConnection — one user-scoped linked Google account used by Calendar."},{"type":"null"}],"description":"Owning linked account; null for native/local items.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared74de8232":{"description":"Who a task is assigned to.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedfb2f898b":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning team. Required — a task always belongs to exactly one team, and the team's `workflow_states` define the states this task may occupy. Must reference a team in the caller's org.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedaae74083":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},{"type":"null"}],"description":"Identifies the referenced work type.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared9471a220":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},{"type":"null"}],"description":"Identifies the referenced organization.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared90648be9":{"anyOf":[{"$ref":"#/components/schemas/Sharede94ea940"},{"type":"null"}],"description":"Value used by the comparison.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharede3178c4a":{"minItems":1,"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"description":"Value used by the comparison.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared9000651c":{"type":"string","enum":["active","suspended"],"description":"Membership status: 'active' (full participation per their role) or 'suspended' (access revoked but the seat retained). A suspended actor is denied by the permission resolver regardless of role.","example":"active"},"Sharedb390988f":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a CalendarConnection — one user-scoped linked Google account used by Calendar."},{"type":"null"}],"description":"Owning linked account; null for Docket-native layers.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared714582ef":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/NotificationChannelPreference"}},"description":"Organizations for this record.","example":{}},"Shared824061ac":{"type":"string","format":"date","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])))$","example":"2026-09-19"},"Sharede940eb5b":{"description":"Project this task rolls up into; null when project-less.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared11048b9d":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"description":"Team the template belongs to; null unless team-scoped.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared6edfa874":{"anyOf":[{"$ref":"#/components/schemas/Sharede94ea940"},{"type":"null"}],"description":"Identifies the referenced after.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared39e9dbc2":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"description":{"type":"string","description":"Longer plain-language description."}},"additionalProperties":false,"description":"Fields for this record.","example":{}},"Sharedbb767d1b":{"description":"Parent comment id when this is a reply; null for a root comment.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Comment — a threaded message on a Task or other commentable entity."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedccfb1b0f":{"minItems":1,"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"description":"Value used by the comparison.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Sharedb5abe84b":{"type":"object","properties":{"kind":{"type":"string","const":"not","description":"Selects the value variant."},"child":{"$ref":"#/components/schemas/__schema1","description":"Child for this record."}},"required":["kind","child"],"additionalProperties":false,"example":{"kind":"not","child":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"Shareda084d0f0":{"type":"object","properties":{"kind":{"type":"string","const":"not","description":"Selects the value variant."},"child":{"$ref":"#/components/schemas/__schema2","description":"Child for this record."}},"required":["kind","child"],"additionalProperties":false,"example":{"kind":"not","child":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"Shared8d0905c1":{"type":"object","properties":{"kind":{"type":"string","const":"not","description":"Selects the value variant."},"child":{"$ref":"#/components/schemas/__schema3","description":"Child for this record."}},"required":["kind","child"],"additionalProperties":false,"example":{"kind":"not","child":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"Shared684303ad":{"anyOf":[{"$ref":"#/components/schemas/Sharede94ea940"},{"type":"null"}],"description":"Identifies the referenced before.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared3e81910c":{"type":"object","properties":{"kind":{"type":"string","const":"emoji","description":"Selects the value variant."},"hexcode":{"type":"string","pattern":"^[0-9A-F]{2,6}(?:-[0-9A-F]{2,6})*$","description":"Hexcode for this record."}},"required":["kind","hexcode"],"example":{"kind":"emoji","hexcode":"2026-09-19"}},"Sharedd3cc5dd4":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"description":"Identifies the referenced actor.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared5981f796":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"A 26-char Crockford base-32 ULID matching `^[0-9A-HJKMNP-TV-Z]{26}$`.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},{"type":"null"}],"description":"Identifies the referenced parent link.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared9164204e":{"type":"string","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)$","description":"Identifies the referenced request.","example":"123e4567-e89b-42d3-a456-426614174000"},"Shared13d02aaf":{"type":"object","properties":{"kind":{"type":"string","const":"native_title","description":"Selects the value variant."},"revision":{"type":"number","const":1,"description":"Revision for this record."}},"required":["kind","revision"],"additionalProperties":false,"example":{"kind":"native_title","revision":1}},"Sharedef6699d3":{"type":"object","properties":{"kind":{"type":"string","const":"legacy_title","description":"Selects the value variant."},"revision":{"type":"number","const":1,"description":"Revision for this record."}},"required":["kind","revision"],"additionalProperties":false,"example":{"kind":"legacy_title","revision":1}},"Sharedec0a7ca1":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Shared10871fb8"},"description":"Value used by the comparison.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared1a5d5c88":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"description":"Owning actor; null when ownerless.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared95b2fc3a":{"description":"The Team accountable for delivery, or `null` when none is set.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedfea4a7bf":{"type":"string","minLength":1,"description":"Stable identifier for this status within its set, stored on the work it is applied to. Assigned by the server from the name at creation and unchanged by later renames, so saved views and automation rules keep resolving.","example":"example"},"Shareda7ff1219":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Sharede94ea940"},"description":"Value used by the comparison.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Sharedd046f359":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"description":"Identifies the referenced owner actor.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedc1e6b5f1":{"description":"The Project the Task lives under, or null when it has no project.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared9f14798f":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The type-specific payload: `{ text }` for thought/response/elicitation/error, or `{ action: { kind, summary, diff? } }` for an `action` entry describing the proposed mutation.","example":{}},"Shared778d7f58":{"description":"The accountable owner of an initiative.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared9315ea3d":{"anyOf":[{"$ref":"#/components/schemas/Shared30e9141f"},{"type":"null"}],"description":"Identifies the referenced active session.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared3b0fc2e3":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"description":"New parent task, or null to move the task to the top level.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared53be6fdc":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Shared128f0ae3"},"description":"Value used by the comparison.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared7a9b6813":{"description":"The optional workspace in which Athena is operating.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared3cd30ecc":{"anyOf":[{"$ref":"#/components/schemas/Sharede94ea940"},{"type":"null"}],"description":"Identifies the referenced root initiative.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared86e6c691":{"type":"string","enum":["workTypeId","status","priority","assignee","delegate","team","project","program","cycle","milestone","parent","labels","title","creator","startDate","dueDate","createdAt","updatedAt","estimate","estimateMinutes","blocked","blocking","archived"],"example":"workTypeId"},"Shared31176f59":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"description":"The team this set was resolved for, or null for the workspace set.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedc8d25964":{"anyOf":[{"$ref":"#/components/schemas/Sharede94ea940"},{"type":"null"}],"description":"Identifies the referenced parent initiative.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedf2738045":{"type":"object","properties":{"kind":{"type":"string","const":"terminal_actual_tree","description":"Selects the value variant."},"revision":{"type":"number","const":1,"description":"Revision for this record."}},"required":["kind","revision"],"additionalProperties":false,"example":{"kind":"terminal_actual_tree","revision":1}},"Sharedd317ffb5":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Shared086f9a64"},"description":"Value used by the comparison.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared844e7606":{"type":"object","properties":{"kind":{"type":"string","const":"event","description":"Selects the value variant."},"event":{"$ref":"#/components/schemas/AutomationEventMatch","description":"Event for this record."}},"required":["kind","event"],"additionalProperties":false,"example":{"kind":"event","event":{}}},"Shared699a7fc5":{"description":"Parent task when this is a subtask; null when it is top-level.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharede072e2ca":{"description":"Actor the task is assigned to (the owner of the work). Must be an actor in the caller's org. Setting it at creation emits an `assignment` observation. Reassignment later requires the `assign` capability.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared7aa161ac":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"description":"Identifies the referenced responsible actor.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared77d6ca21":{"description":"Initial workflow-state key. Must be one of the team's `workflow_states` keys. Omitted → the team's first state (typically `backlog`). Supplying a terminal key (`completed`/`canceled`) lands the task there with the matching timestamp derived.","type":"string","example":"example"},"Shared9ff11aa3":{"description":"Anticipated start date — the day work is expected to begin (ISO date string); null when unset. Distinct from `dueDate`, and distinct from when the task actually started, which is recoverable from its activity log.","anyOf":[{"type":"string"},{"type":"null"}],"example":"example"},"Sharedc27bb421":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"description":"Identifies the referenced published by actor.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared8bdc6d1a":{"description":"Owning team when limited to one team; null for a workspace-wide label.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharede288c4b1":{"description":"Owning team when limited to one team; null for a workspace-wide group.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared2a1294fa":{"description":"Parent task id when this is a subtask; null for a top-level task.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedbe4cd0db":{"description":"The team chosen in the picker, or null to follow the workspace default.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared4584bd07":{"description":"Task template this task was created from; null when none.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared61b44a61":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable ULID identifier of the actor — the org-scoped identity for any \"who\" (an assignee, grant subject, comment author, etc.). An actor is unique to one org; the same person in two orgs has two actor ids.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared49290e44":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Shareda5744d1b"},"description":"Value used by the comparison.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared315e4946":{"description":"Tasks related to this task. Each must be active and in the caller’s org.","type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared329f1762":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"description":{"type":"string","description":"Longer plain-language description."}},"required":["name"],"additionalProperties":false,"description":"Fields for this record.","example":{"name":"example"}},"Shared6aefde6e":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"trash","description":"Selects the value type."}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"restore","description":"Selects the value type."}},"required":["type"]}],"example":{"type":"trash"}},"Shared671b9489":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},{"type":"null"}],"description":"Workspace this time belongs to; null for unscoped personal time.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedc9baf9d1":{"anyOf":[{"$ref":"#/components/schemas/Sharede94ea940"},{"type":"null"}],"description":"Identifies the referenced inherited through initiative.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared554b0d3e":{"oneOf":[{"$ref":"#/components/schemas/TaskTemplateDraft"},{"$ref":"#/components/schemas/ProjectTemplateDraft"},{"$ref":"#/components/schemas/InitiativeTemplateDraft"},{"$ref":"#/components/schemas/ProgramTemplateDraft"}],"description":"The pre-filled draft this template applies.","example":{"targetType":"task"}},"Sharedbe37ece3":{"description":"The accountable lead Actor, or `null` when unassigned.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shareddbdcf090":{"type":"object","properties":{"kind":{"type":"string","const":"milestone","description":"Selects the value variant."},"stepKey":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Step key for this record."}},"required":["kind","stepKey"],"additionalProperties":false,"example":{"kind":"milestone","stepKey":"example-slug"}},"Shared25d7a6ea":{"type":"string","enum":["organization","team","member","agent","agent_session","task","project","program","initiative","milestone","cycle","label","saved_view","comment","update","attachment","calendar_event","activity","external_resource"],"description":"Selects the value variant.","example":"organization"},"Sharedcf66d0b3":{"type":"string","enum":["backlog","unstarted","started","completed","canceled"],"description":"The category the status behaves as. The Hub gathers work from several workspaces at once, each with its own status names, so this is what a status glyph and any grouping across them read.","example":"backlog"},"Sharedc8d4fda7":{"type":"string","pattern":"^[a-z][a-z0-9_]{1,20}$","description":"The tool namespace: the agent sees this server's tools as `<alias>__<name>`. Lowercase alnum/underscore, 2–21 chars, unique per org. `__` cannot occur inside an alias, so namespaced names never collide with Docket tools.","example":"field_name"},"Sharedd6ef0cfe":{"type":"string","enum":["email","manual"],"description":"How this mapping was resolved: `email` (a historical email mapping retained until explicitly corrected) or `manual` (an admin explicitly linked it via `PATCH …/external-actors/:externalActorId`; never overwritten by re-matching).","example":"email"},"Sharedef45953d":{"description":"The Actor the Task is assigned to, or null when unassigned.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared11939d98":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Sharedc392aa07"},"description":"Value used by the comparison.","example":["none"]},"Sharedf35d7214":{"description":"The human Actor accountable for this agent; null when unset.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedeeaf4fc0":{"default":null,"description":"Canonical saved-place binding; independent of free-form display location text.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned saved place used in work-location schedules and evidence."},{"type":"null"}],"example":null},"Shared6fe9b234":{"description":"The owning Actor (accountable person), or `null` when unowned.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared91f4fd6f":{"default":null,"description":"Canonical saved place for this commitment; independent of display location text.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned saved place used in work-location schedules and evidence."},{"type":"null"}],"example":null},"Shared06ef0a72":{"type":"object","properties":{"kind":{"type":"string","const":"after_count","description":"Selects the value variant."},"count":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["kind","count"],"additionalProperties":false,"example":{"kind":"after_count","count":1}},"Shared215becec":{"type":"object","properties":{"taskId":{"type":"string","minLength":1,"description":"Identifies the referenced task."},"plannedMinutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Planned minutes for this record."}},"required":["taskId","plannedMinutes"],"example":{"taskId":"example","plannedMinutes":1}},"Shared393334c5":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Sharedf2270bf4"},"description":"Value used by the comparison.","example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared46a52d54":{"type":"string","format":"date","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])))$","description":"Date for this record.","example":"2026-09-19"},"Shared43936cc7":{"type":"object","properties":{"reservedFirstVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced reserved first version."}},"required":["reservedFirstVersionId"],"additionalProperties":false,"description":"Pending publication for this record.","example":{"reservedFirstVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared14d27f55":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},{"type":"null"}],"description":"The workspace an action targets, or null for workspace-neutral personal activity.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared86330134":{"type":"string","format":"date","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])))$","description":"Stored or returned value.","example":"2026-09-19"},"Shared47934cc3":{"description":"Actor the task is assigned to (owner of the work); null when unassigned.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared860fe578":{"type":"string","enum":["lookup-failed","no-record","token-mismatch"],"description":"Stable verification failure code. `lookup-failed`: the name could not be resolved at all. `no-record`: no Docket verification record was found. `token-mismatch`: a Docket record exists but carries a different token.","example":"lookup-failed"},"Shared4e4c94cb":{"type":"array","items":{"type":"string"},"description":"Every absolute URL this brief is currently reachable at: the shared brief host (when configured for this deployment) plus one per verified custom domain. Empty for a withdrawn brief, or in a deployment with no brief host and no verified domain.","example":["example"]},"Shared253d80d4":{"type":"string","format":"date","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])))$","description":"Scheduled for for this record.","example":"2026-09-19"},"Sharedc46f25d2":{"description":"Actor who last edited the body; null for a connected agent without an Actor.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shareda9ca2c65":{"description":"Optional health signal: 'on_track' | 'at_risk' | 'off_track'. When set, it also overwrites the subject's current health (latest health-bearing update wins). Omit to post a narrative-only update that leaves subject health untouched.","type":"string","enum":["on_track","at_risk","off_track"],"example":"on_track"},"Shared70987bd5":{"type":"string","format":"date","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])))$","description":"Effective from for this record.","example":"2026-09-19"},"Shared7e755956":{"type":"string","format":"date","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])))$","description":"Start date in YYYY-MM-DD format.","example":"2026-09-19"},"Shared82868ad7":{"type":"object","properties":{"kind":{"type":"string","enum":["all","any"],"description":"Selects the value variant."},"children":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema1"},"description":"Children, in order."}},"required":["kind","children"],"additionalProperties":false,"example":{"kind":"all","children":[{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Shared81d91848":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Shareddbc0dc97"},"description":"Value used by the comparison.","example":["public"]},"Sharedf9597dcc":{"type":"object","properties":{"kind":{"type":"string","enum":["all","any"],"description":"Selects the value variant."},"children":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema2"},"description":"Children, in order."}},"required":["kind","children"],"additionalProperties":false,"example":{"kind":"all","children":[{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Shared11eb2185":{"type":"object","properties":{"kind":{"type":"string","enum":["all","any"],"description":"Selects the value variant."},"children":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/__schema3"},"description":"Children, in order."}},"required":["kind","children"],"additionalProperties":false,"example":{"kind":"all","children":[{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Shared41b119e5":{"type":"string","format":"date","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])))$","description":"Target date in YYYY-MM-DD format.","example":"2026-09-19"},"Shared974a2697":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"description":"Task this commitment tracks, when the work has one. Drives duration learning from the Time Ledger.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared794bb079":{"type":"object","properties":{"days":{"type":"integer","minimum":0,"maximum":36500,"description":"Days for this record."},"unit":{"type":"string","enum":["calendar","working"],"description":"Allowed unit value."}},"required":["days","unit"],"additionalProperties":false,"description":"Offset for this record.","example":{"days":0,"unit":"calendar"}},"Shared6a2f1dda":{"type":"string","enum":["on_track","at_risk","off_track"],"description":"A human judgment of how a Project/Program/Initiative is trending, independent of mechanical status. `on_track`: expected to land as planned. `at_risk`: threatened, needs attention. `off_track`: not expected to land without intervention.","example":"on_track"},"Shared8efbd587":{"type":"string","format":"date","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])))$","description":"First run date in YYYY-MM-DD format.","example":"2026-09-19"},"Sharedc7aa7298":{"type":"string","enum":["mention","assignment","approval_request","status_change","comment","invitation","agent_session","connector_sync_failed","connector_needs_reauth","automation","service_announcement","phone_call","email"],"description":"The notification kind (drives icon, grouping, and inline actions).","example":"mention"},"Shared9d719d0d":{"type":"object","properties":{"singular":{"type":"string","description":"Singular display form (e.g. \"Project\")."},"plural":{"type":"string","description":"Plural display form (e.g. \"Projects\")."}},"required":["singular","plural"],"description":"The singular/plural label pair a vocabulary key resolves to.","example":{"singular":"example","plural":"example"}},"Shared4a46d130":{"type":"array","items":{"$ref":"#/components/schemas/Shared285c8aef"},"description":"Properties, in order.","example":["workTypeId"]},"Shared147566fa":{"type":"object","properties":{"days":{"type":"integer","minimum":-36500,"maximum":36500,"description":"Days for this record."},"unit":{"type":"string","enum":["calendar","working"],"description":"Allowed unit value."}},"required":["days","unit"],"additionalProperties":false,"description":"Offset for this record.","example":{"days":0,"unit":"calendar"}},"Sharedeafd920c":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether this behavior is enabled."},"selectedByDefault":{"type":"boolean","description":"Selected by default for this record."}},"required":["enabled","selectedByDefault"],"additionalProperties":false,"description":"Optional for this record.","example":{"enabled":false,"selectedByDefault":false}},"Shared07587a46":{"description":"Optional one-line statement of what the task is, written for someone scanning a list. Distinct from `description`, which is the full body. Set this when creating work on a person’s behalf so Hub surfaces can say something useful without summarizing the body on every read.","type":"string","maxLength":200,"example":"example"},"Shared719c13f7":{"type":"object","properties":{"kind":{"type":"string","const":"pinned","description":"Selects the value variant."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."}},"required":["kind","workTypeVersionId"],"additionalProperties":false,"example":{"kind":"pinned","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared9f44240a":{"type":"string","enum":["human","agent","team"],"description":"What kind of identity this actor represents: 'human' (a person, backed by a User and carrying a role), 'agent' (an AI agent, authorized purely by Actor-grants with no role), or 'team' (the actor that represents a Team itself, e.g. for team-level assignment).","example":"human"},"Sharede66a8837":{"type":"object","properties":{"kind":{"type":"string","const":"relative_to_trigger","description":"Selects the value variant."},"offsetDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Offset days for this record."}},"required":["kind","offsetDays"],"additionalProperties":false,"example":{"kind":"relative_to_trigger","offsetDays":0}},"Shared76b8a680":{"anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}],"description":"Date for this record.","example":"2026-09-19"},"Sharedc94bd3a5":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"description":"The team owning this status when the team keeps its own Task statuses; null for a status belonging to the workspace set.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared8801afe2":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many of this team's tasks are assigned to this person and not yet completed or canceled. The observed load signal capacity reads, rather than a declared allocation percentage that would go stale silently while looking authoritative.","example":0},"Shareddb94d84e":{"type":"string","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))$","example":"2026-09-19T12:00:00.000Z"},"Shared36bb787c":{"type":"object","properties":{"path":{"minItems":1,"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."},"selected":{"type":"boolean","description":"Selected for this record."}},"required":["path","selected"],"additionalProperties":false,"example":{"path":["example-slug"],"selected":false}},"Shared1f73be61":{"maxItems":50,"type":"array","items":{"$ref":"#/components/schemas/Shared2ea1ea6a"},"description":"Items, in order.","example":[{"id":"example","name":"example"}]},"Sharedd4845624":{"anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}],"description":"Stored or returned value.","example":"2026-09-19"},"Shared6383ce8f":{"description":"The Docket task the session is working on, when task-bound; null for a freeform-prompt or proactively-drafted session.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedfc2dce66":{"type":"object","properties":{"kind":{"type":"string","const":"program","description":"Selects the value variant."},"programId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."}},"required":["kind","programId"],"additionalProperties":false,"example":{"kind":"program","programId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedf3c84258":{"description":"Target finish, `YYYY-MM-DD`.","anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}],"example":"2026-09-19"},"Shared523ce5a8":{"description":"Optional planned completion date (ISO-8601 `YYYY-MM-DD`).","type":"string","format":"date","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])))$","example":"2026-09-19"},"Shared6ef9223a":{"description":"Whether today falls within this cycle’s `[startsAt, endsAt]` window — the date-derived \"current cycle\" signal (cycles auto-roll on a cadence, so \"current\" is derived from dates, not the stored `status`). Populated by reads that resolve a window (detail, list, current-window); omitted otherwise.","type":"boolean","example":false},"Sharedc623beda":{"type":"array","items":{"$ref":"#/components/schemas/Shared86e6c691"},"description":"Properties, in order.","example":["workTypeId"]},"Shared3e1b254e":{"anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}],"description":"Due date in YYYY-MM-DD format.","example":"2026-09-19"},"Shared6738611b":{"type":"string","enum":["work","context","signal","time","code"],"description":"What an integration contributes to the workspace: `work` (tasks/issues), `context` (docs/knowledge), `signal` (notifications/mentions feeding observations), `time` (calendar events), or `code` (repositories/PRs). An integration may contribute several.","example":"work"},"Shared466a8095":{"type":"string","format":"date","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])))$","description":"Agenda day echoed from the request.","example":"2026-09-19"},"Shareda032bd26":{"description":"A task’s due day, `YYYY-MM-DD`.","anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}],"example":"2026-09-19"},"Shared20c14654":{"anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}],"description":"Start date in YYYY-MM-DD format.","example":"2026-09-19"},"Shared86771800":{"type":"object","properties":{"kind":{"type":"string","const":"project","description":"Selects the value variant."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."}},"required":["kind","id"],"additionalProperties":false,"example":{"kind":"project","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared5f69fb7d":{"type":"string","format":"date","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])))$","description":"Civil date that begins cycle day one.","example":"2026-09-19"},"Sharede2b5446c":{"description":"Anticipated start, `YYYY-MM-DD`.","anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}],"example":"2026-09-19"},"Shared630c2f05":{"anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}],"description":"Target date in YYYY-MM-DD format.","example":"2026-09-19"},"Shared304f56b6":{"anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}],"description":"Next run date in YYYY-MM-DD format.","example":"2026-09-19"},"Shared7601aab0":{"anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda"},{"type":"null"}],"example":"on_track"},"Shared41d69885":{"type":"object","properties":{"field":{"type":"string","enum":["status","health","visibility","updatedAt","projectCount","taskCount","name"],"description":"Field the rule evaluates."},"direction":{"type":"string","enum":["asc","desc"],"description":"Allowed direction value."}},"required":["field","direction"],"additionalProperties":false,"example":{"field":"status","direction":"asc"}},"Sharedd6444054":{"type":"object","properties":{"kind":{"type":"string","const":"task","description":"Selects the value variant."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."}},"required":["kind","id"],"additionalProperties":false,"example":{"kind":"task","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedcc936be7":{"type":"object","properties":{"kind":{"type":"string","const":"team","description":"Selects the value variant."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."}},"required":["kind","teamId"],"additionalProperties":false,"example":{"kind":"team","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared6b1ef481":{"anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}],"description":"Original scheduled for for this record.","example":"2026-09-19"},"Shared6bd0e144":{"type":"object","properties":{"field":{"type":"string","enum":["status","priority","health","targetDate","updateCadence","latestUpdate","name"],"description":"Field the rule evaluates."},"direction":{"type":"string","enum":["asc","desc"],"description":"Allowed direction value."}},"required":["field","direction"],"additionalProperties":false,"example":{"field":"status","direction":"asc"}},"Shared6aaeb8f1":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 timestamp of a deliberate `skip`. Non-null means somebody said not to sync this person, which is a different state from nobody having decided yet (`actorId: null, ignoredAt: null`) — and, like a `manual` match, it is immune to email re-matching until undone with `unignore`.","example":"example"},"Sharedfd41399f":{"type":"string","enum":["pending","accepted","revoked","expired"],"description":"Invitation lifecycle: 'pending' (outstanding, redeemable), 'accepted' (redeemed — a member Actor was created), 'revoked' (cancelled by a manager), or 'expired' (past its deadline). Only 'pending' invitations are returned by the list endpoint and are redeemable.","example":"pending"},"Shareda50f42fa":{"type":"string","format":"date","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])))$","description":"First civil date governed by this plan version.","example":"2026-09-19"},"Shared7eea1d31":{"type":"object","properties":{"rootKey":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Root key for this record."},"path":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."}},"required":["rootKey","path"],"additionalProperties":false,"example":{"rootKey":"example-slug","path":["example-slug"]}},"Shared46493a42":{"type":"object","properties":{"kind":{"type":"string","const":"project","description":"Selects the value variant."},"projectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."}},"required":["kind","projectId"],"additionalProperties":false,"example":{"kind":"project","projectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedc074a591":{"type":"object","properties":{"blockerStepKey":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Blocker step key for this record."},"blockedStepKey":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Blocked step key for this record."}},"required":["blockerStepKey","blockedStepKey"],"additionalProperties":false,"example":{"blockerStepKey":"example-slug","blockedStepKey":"example-slug"}},"Sharedb4e8f07e":{"description":"Actor the work is delegated to, distinct from the assignee (e.g. an agent acting on the assignee’s behalf); null when none.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedf762603f":{"anyOf":[{"$ref":"#/components/schemas/Sharedec0b55b4"},{"type":"null"}],"description":"Status of the most recent sync run; null = never synced.","example":"running"},"Shareda05dac85":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 time when an administrator excluded this provider user from matching, or null. An excluded user and an undecided user both have `actorId: null`; only the excluded user has `ignoredAt`. Email matching does not reconsider excluded users. Linking or unlinking the user clears this value.","example":"example"},"Shared8d175974":{"type":"object","properties":{"kind":{"type":"string","const":"preset","description":"Selects the value variant."},"value":{"type":"string","enum":["today","yesterday","tomorrow","this-week","next-week","last-week","this-month","next-month","last-month"],"description":"Stored or returned value."}},"required":["kind","value"],"additionalProperties":false,"example":{"kind":"preset","value":"today"}},"Sharedaa937908":{"type":"string","minLength":1,"description":"The key of an Initiative status in this workspace. A workspace defines its own Initiative statuses, so this is a key into that set rather than a fixed value; new workspaces start with `proposed`, `active`, `completed`, and `canceled`. The accompanying `statusCategory` is what carries meaning across workspaces.","example":"example"},"Shared269a71fd":{"description":"The originating organization, used as the org chip in the cross-org inbox. Null for account-level notifications that belong to no single org.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared9da1c030":{"type":"array","items":{"$ref":"#/components/schemas/Shareda3c009a6"},"description":"The conferred capabilities, each 'view' < 'comment' < 'contribute' < 'assign' < 'manage'; the resolver evaluates at the set's max rank.","example":["view"]},"Shareddb889926":{"type":"string","format":"date","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])))$","description":"A calendar date with no time component, ISO-8601 `YYYY-MM-DD`.","example":"2026-09-19"},"Shared70a93fb8":{"type":"string","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)))$","example":"2026-09-19T12:00:00.000Z"},"Sharedbc2a95a9":{"description":"The human Actor who started or is accountable for the session (the prompt author / observation recipient); null when system-initiated.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared0ba48a6e":{"description":"Actor who posted the update; null for a connected agent without an Actor or if the author record is gone. See origin for the performer.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared3e18fdc4":{"description":"Actor who wrote the comment; null for a connected agent without an Actor or if the author record is gone. See origin for the performer.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Sharedf35173b3":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"team","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"team","operator":"isEmpty"}},"Shared808841d0":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"lead","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"lead","operator":"isEmpty"}},"Shareda4556f91":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"name","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"name","operator":"isEmpty"}},"Shared4fab2ea2":{"description":"The organization-wide capability granted by this role, or null for a role such as Guest that receives access only through explicit grants.","anyOf":[{"$ref":"#/components/schemas/Shareda3c009a6"},{"type":"null"}],"example":"view"},"Sharedcb3bbb06":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"cycle","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"cycle","operator":"isEmpty"}},"Sharedc5f7004e":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"title","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"title","operator":"isEmpty"}},"Sharedec9fca2a":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"teams","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"teams","operator":"isEmpty"}},"Shared50cef3eb":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"owner","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"owner","operator":"isEmpty"}},"Sharedd2953dde":{"description":"Manual ordering key among the project’s milestones (ascending); lists order by this, not by date. Omit it to append after the project’s current last milestone — a client adding checkpoints one at a time never has to compute a position from a list it may have read some time ago.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"example":0},"Shared75c95be0":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"status","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"status","operator":"isEmpty"}},"Shared41edca8a":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"parent","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"parent","operator":"isEmpty"}},"Shared48c9621d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"labels","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"labels","operator":"isEmpty"}},"Shared43852cf0":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"health","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"health","operator":"isEmpty"}},"Shared27511356":{"type":"string","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))$","description":"Stored or returned value.","example":"2026-09-19T12:00:00.000Z"},"Shared300a74ee":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"team","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"team","operator":"isNotEmpty"}},"Shared4b66faa9":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"project","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"project","operator":"isEmpty"}},"Shared8d138ce4":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"program","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"program","operator":"isEmpty"}},"Sharedcaf27038":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"creator","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"creator","operator":"isEmpty"}},"Shared46ca7cce":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dueDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"dueDate","operator":"isEmpty"}},"Shared4ee2ce73":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"lead","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"lead","operator":"isNotEmpty"}},"Sharedb93c214f":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"members","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"members","operator":"isEmpty"}},"Shared2fb9d510":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"name","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"name","operator":"isNotEmpty"}},"Shared2019a908":{"description":"Planned start date (ISO-8601 `YYYY-MM-DD`). Optional; positions the project’s bar on roadmaps.","type":"string","format":"date","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])))$","example":"2026-09-19"},"Shared577cb1d6":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Shared215becec"},"description":"Allocations, in order.","example":[{"taskId":"example","plannedMinutes":1}]},"Shared3bdfd3fe":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"priority","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"priority","operator":"isEmpty"}},"Shared3fff397d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"assignee","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"assignee","operator":"isEmpty"}},"Shared588defed":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"delegate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"delegate","operator":"isEmpty"}},"Sharedfaa0b465":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"cycle","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"cycle","operator":"isNotEmpty"}},"Sharedcb77e7bd":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"title","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"title","operator":"isNotEmpty"}},"Shared132d9818":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimate","operator":"isEmpty"}},"Shared17fb5af9":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"teams","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"teams","operator":"isNotEmpty"}},"Sharedc61fafc1":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"progress","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"progress","operator":"isEmpty"}},"Shared54e53636":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"owner","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"owner","operator":"isNotEmpty"}},"Sharedb8035f09":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"leadTeam","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"leadTeam","operator":"isEmpty"}},"Shared8cde6dfa":{"type":"object","properties":{"kind":{"type":"string","const":"actor","description":"Selects the value variant."},"actorId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."}},"required":["kind","actorId"],"additionalProperties":false,"example":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedf62e2243":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"status","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"status","operator":"isNotEmpty"}},"Shared93d6ec9a":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"milestone","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"milestone","operator":"isEmpty"}},"Shared0f435599":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"parent","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"parent","operator":"isNotEmpty"}},"Shared5dafa7dc":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"labels","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"labels","operator":"isNotEmpty"}},"Shared71a78174":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"startDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"startDate","operator":"isEmpty"}},"Shared11e7d3f9":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"createdAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"createdAt","operator":"isEmpty"}},"Shared15827d32":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"updatedAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"updatedAt","operator":"isEmpty"}},"Shared641c61d3":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"health","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"health","operator":"isNotEmpty"}},"Sharedd7d3d48c":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"taskCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"taskCount","operator":"isEmpty"}},"Shared6eabac25":{"default":"planned","type":"string","minLength":1,"description":"The key of a Project status in this workspace. A workspace defines its own Project statuses, so this is a key into that set rather than a fixed value; new workspaces start with `planned`, `active`, `completed`, and `canceled`. The accompanying `statusCategory` is what carries meaning across workspaces.","example":"planned"},"Sharedbc1e95de":{"type":"object","properties":{"kind":{"type":"string","const":"catalog","description":"Selects the value variant."},"slug":{"type":"string","maxLength":100,"pattern":"^[a-z][a-z0-9-]*$","description":"Slug for this record."},"release":{"type":"number","const":1,"description":"Release for this record."}},"required":["kind","slug","release"],"additionalProperties":false,"example":{"kind":"catalog","slug":"example-slug","release":1}},"Shared68b36de2":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"workTypeId","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"workTypeId","operator":"isEmpty"}},"Shared4f1220f8":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"project","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"project","operator":"isNotEmpty"}},"Shared868f55b7":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"program","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"program","operator":"isNotEmpty"}},"Shared173175cb":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"creator","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"creator","operator":"isNotEmpty"}},"Shared447ae13d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dueDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"dueDate","operator":"isNotEmpty"}},"Sharede0943a8a":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"members","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"members","operator":"isNotEmpty"}},"Shared86212133":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"targetDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"targetDate","operator":"isEmpty"}},"Shared07599252":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"visibility","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"visibility","operator":"isEmpty"}},"Sharedb14894b7":{"type":"string","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))$","description":"When the domain was claimed.","example":"2026-09-19T12:00:00.000Z"},"Shared8d884d2d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"priority","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"priority","operator":"isNotEmpty"}},"Sharedcd11d27c":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"assignee","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"assignee","operator":"isNotEmpty"}},"Shared64daa46c":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"delegate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"delegate","operator":"isNotEmpty"}},"Shared9337f26b":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimate","operator":"isNotEmpty"}},"Shared296392db":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"initiatives","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"initiatives","operator":"isEmpty"}},"Sharedccb08080":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"progress","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"progress","operator":"isNotEmpty"}},"Sharede12f1898":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"leadTeam","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"leadTeam","operator":"isNotEmpty"}},"Shared66d8bd69":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"milestone","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"milestone","operator":"isNotEmpty"}},"Shared52bd7b87":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"startDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"startDate","operator":"isNotEmpty"}},"Sharedb1ba8ec8":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"createdAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"createdAt","operator":"isNotEmpty"}},"Sharedbca14fb1":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"updatedAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"updatedAt","operator":"isNotEmpty"}},"Shared19513c0f":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"taskCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"taskCount","operator":"isNotEmpty"}},"Shared1c76343a":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"projectCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"projectCount","operator":"isEmpty"}},"Shared756c2af0":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"latestUpdate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"latestUpdate","operator":"isEmpty"}},"Shared6217d24d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"organization","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"organization","operator":"isEmpty"}},"Sharedcf6c140f":{"description":"Planned completion/end date (ISO-8601 `YYYY-MM-DD`). Optional; the right edge of the project’s bar.","type":"string","format":"date","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])))$","example":"2026-09-19"},"Shared31eaa421":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"workTypeId","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"workTypeId","operator":"isNotEmpty"}},"Shared4a32c96e":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"targetDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"targetDate","operator":"isNotEmpty"}},"Shared727f8911":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"visibility","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"visibility","operator":"isNotEmpty"}},"Shared41e8a9f8":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"updateCadence","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"updateCadence","operator":"isEmpty"}},"Shared35856466":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"initiatives","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"initiatives","operator":"isNotEmpty"}},"Shared6ce806cd":{"type":"string","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))$","description":"Ends time as an ISO 8601 instant.","example":"2026-09-19T12:00:00.000Z"},"Shared8e361923":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimateMinutes","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimateMinutes","operator":"isEmpty"}},"Shared2a89cc14":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dependencyCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"dependencyCount","operator":"isEmpty"}},"Sharedb7f307c9":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"projectCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"projectCount","operator":"isNotEmpty"}},"Sharedba62cbd3":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"latestUpdate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"latestUpdate","operator":"isNotEmpty"}},"Shared85d7cd8c":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"organization","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"organization","operator":"isNotEmpty"}},"Shared63ac0b06":{"type":"string","enum":["backlog","unstarted","started","completed","canceled"],"description":"The canonical category a status behaves as, driving status glyphs, grouping, and progress: 'backlog' (not yet committed) | 'unstarted' (committed, not begun) | 'started' (in progress) | 'completed' (done) | 'canceled' (abandoned). Several statuses in one set may share a category.","example":"backlog"},"Sharedcf55bf80":{"type":"object","properties":{"kind":{"type":"string","const":"day_of_month","description":"Selects the value variant."},"day":{"type":"integer","minimum":1,"maximum":31,"description":"Day for this record."},"overflow":{"default":"skip","type":"string","enum":["skip","last_day"],"description":"Allowed overflow value."}},"required":["kind","day"],"additionalProperties":false,"example":{"kind":"day_of_month","day":1}},"Sharedbeac8de5":{"type":"string","enum":["actor_unavailable","athena_unavailable","cycle_unavailable","missing_anchor","waiting_completion","label_unavailable","capture_actor","capture_team","capture_cycle","capture_dependency","capture_schedule_assignment","capture_schedule_provider","capture_schedule_cadence","capture_schedule_draft","warning_overflow"],"description":"Allowed code value.","example":"actor_unavailable"},"Sharede2fc785b":{"type":"string","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))$","description":"Start time as an ISO 8601 instant.","example":"2026-09-19T12:00:00.000Z"},"Sharedc40325a4":{"description":"All-day start date; provide together with `allDayEndDate` for an all-day block.","type":"string","format":"date","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])))$","example":"2026-09-19"},"Shared7d5fd98b":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"updateCadence","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"updateCadence","operator":"isNotEmpty"}},"Sharede77dbae2":{"type":"string","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))$","description":"Finish time as an ISO 8601 instant.","example":"2026-09-19T12:00:00.000Z"},"Shared4e634e74":{"type":"string","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))$","description":"Starts time as an ISO 8601 instant.","example":"2026-09-19T12:00:00.000Z"},"Shared87b03b06":{"anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda"},{"type":"null"}],"description":"Health for this record.","example":"on_track"},"Shared831f9e1e":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimateMinutes","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimateMinutes","operator":"isNotEmpty"}},"Sharedecc19ce7":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dependencyCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNotEmpty","description":"Comparison applied by the rule."}},"required":["kind","field","operator"],"additionalProperties":false,"example":{"kind":"predicate","field":"dependencyCount","operator":"isNotEmpty"}},"Sharedffe9b348":{"type":"string","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))$","description":"Accepted time as an ISO 8601 instant.","example":"2026-09-19T12:00:00.000Z"},"Sharedd19098b0":{"anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda"},{"type":"null"}],"description":"Stored or returned value.","example":"on_track"},"Shared72754e75":{"type":"string","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))$","description":"Published time as an ISO 8601 instant.","example":"2026-09-19T12:00:00.000Z"},"Shared37f7c188":{"type":"object","properties":{"kind":{"type":"string","const":"initiative","description":"Selects the value variant."},"initiativeId":{"$ref":"#/components/schemas/Sharede94ea940","description":"Identifies the referenced initiative."}},"required":["kind","initiativeId"],"additionalProperties":false,"example":{"kind":"initiative","initiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedb2b67821":{"description":"The actor id of the member who issued the invitation (recorded from the verified context, never the request body). Null when the inviter is unknown/system.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared92e165e2":{"type":"object","properties":{"rootKey":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Root key for this record."},"path":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."}},"required":["rootKey","path"],"additionalProperties":false,"description":"Work for this record.","example":{"rootKey":"example-slug","path":["example-slug"]}},"Shared2d12b315":{"anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda"},{"type":"null"}],"description":"Value used by the comparison.","example":"on_track"},"Sharedd86bae76":{"type":"string","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))$","description":"The last change time as an ISO 8601 instant.","example":"2026-09-19T12:00:00.000Z"},"Shared3c2005ba":{"type":"object","properties":{"rootKey":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Root key for this record."},"path":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."}},"required":["rootKey","path"],"additionalProperties":false,"description":"Target for this record.","example":{"rootKey":"example-slug","path":["example-slug"]}},"Shared3fb09e92":{"description":"All-day exclusive end date; provide together with `allDayStartDate` for an all-day block.","type":"string","format":"date","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])))$","example":"2026-09-19"},"Shared9bfe6c6d":{"description":"Optional initial health verdict.","anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda"},{"type":"null"}],"example":"on_track"},"Shared557800b5":{"type":"object","properties":{"rootKey":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Root key for this record."},"path":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."}},"required":["rootKey","path"],"additionalProperties":false,"description":"Blocker for this record.","example":{"rootKey":"example-slug","path":["example-slug"]}},"Sharedeeb53b7b":{"type":"object","properties":{"rootKey":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Root key for this record."},"path":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."}},"required":["rootKey","path"],"additionalProperties":false,"description":"Blocked for this record.","example":{"rootKey":"example-slug","path":["example-slug"]}},"Sharede5a02848":{"type":"object","properties":{"rootKey":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Root key for this record."},"path":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."}},"required":["rootKey","path"],"additionalProperties":false,"description":"Project for this record.","example":{"rootKey":"example-slug","path":["example-slug"]}},"Shared7a5bdff8":{"type":"object","properties":{"field":{"$ref":"#/components/schemas/Shared8eeab602","description":"Field the rule evaluates."},"direction":{"type":"string","enum":["asc","desc"],"description":"Allowed direction value."}},"required":["field","direction"],"additionalProperties":false,"example":{"field":"status","direction":"asc"}},"Shared33547ecc":{"type":"string","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))$","description":"Work type assigned time as an ISO 8601 instant.","example":"2026-09-19T12:00:00.000Z"},"Shared433ca09d":{"type":"object","properties":{"rootKey":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Root key for this record."},"path":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."}},"required":["rootKey","path"],"additionalProperties":false,"description":"Milestone for this record.","example":{"rootKey":"example-slug","path":["example-slug"]}},"Shared5a69cae8":{"type":"string","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))$","description":"The record creation time as an ISO 8601 instant.","example":"2026-09-19T12:00:00.000Z"},"Sharedb86bb150":{"type":"object","properties":{"rootKey":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Root key for this record."},"path":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."}},"required":["rootKey","path"],"additionalProperties":false,"description":"Parent task for this record.","example":{"rootKey":"example-slug","path":["example-slug"]}},"Sharedc6549f9b":{"type":"object","properties":{"rootKey":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Root key for this record."},"path":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."}},"required":["rootKey","path"],"additionalProperties":false,"description":"Prerequisite for this record.","example":{"rootKey":"example-slug","path":["example-slug"]}},"Shared113f0821":{"description":"The chosen health, or null for unset.","anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda"},{"type":"null"}],"example":"on_track"},"Sharede1df7ce9":{"type":"object","properties":{"field":{"$ref":"#/components/schemas/Shared4955e423","description":"Field the rule evaluates."},"direction":{"type":"string","enum":["asc","desc"],"description":"Allowed direction value."}},"required":["field","direction"],"additionalProperties":false,"example":{"field":"status","direction":"asc"}},"Shared6f407f35":{"description":"Target due date — the day the work is expected to be finished (ISO `YYYY-MM-DD`, date-only). Must not fall before `startDate`.","type":"string","format":"date","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])))$","example":"2026-09-19"},"Sharedc8178f86":{"type":"array","items":{"$ref":"#/components/schemas/Shared41d69885"},"description":"Order by, in order.","example":[{"field":"status","direction":"asc"}]},"Sharedce029c3c":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Effective end for this record.","example":"2026-09-19T12:00:00.000Z"},"Shared06c1c229":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The scope actually granted by the remote server on its last OAuth approval (comma/space-separated, provider-defined); null for a `bearer`/`none` connector or before the first OAuth approval completes. Visibility only — Docket does not request or enforce a specific scope, since arbitrary remote MCP servers define their own scope vocabulary.","example":"example"},"Shared4cc6a762":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"When ownership was last proved.","example":"2026-09-19T12:00:00.000Z"},"Sharedb43df23f":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Effective start for this record.","example":"2026-09-19T12:00:00.000Z"},"Sharede0ac589c":{"anyOf":[{"$ref":"#/components/schemas/Sharedd6ef0cfe"},{"type":"null"}],"description":"How `actorId` was resolved (`email`/`manual`), or null when unmatched.","example":"email"},"Shared14fec1c9":{"type":"array","items":{"$ref":"#/components/schemas/Shared6bd0e144"},"description":"Order by, in order.","example":[{"field":"status","direction":"asc"}]},"Shared0140a988":{"type":"object","properties":{"kind":{"type":"string","const":"after_completion","description":"Selects the value variant."},"interval":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Interval for this record."},"unit":{"type":"string","enum":["day","week","month"],"description":"Allowed unit value."}},"required":["kind","interval","unit"],"additionalProperties":false,"example":{"kind":"after_completion","interval":1,"unit":"day"}},"Shared5ca83c16":{"description":"Optional checkpoints to create with the new project, in order. Each entry's array position determines its `sort` value unless it supplies one. A request may include at most 50; add more through `POST /projects/:id/milestones`. Project creation either creates every supplied milestone or creates nothing.","maxItems":50,"type":"array","items":{"$ref":"#/components/schemas/MilestoneCreate"},"example":[{"name":"example"}]},"Sharedd31ed1cc":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"When the brief was last withdrawn.","example":"2026-09-19T12:00:00.000Z"},"Shared1e29eb5a":{"description":"Optional set of Initiative themes to associate at creation (writes `initiative_project` edges). Each id must live in the caller’s org (404 on any miss); duplicates are de-duplicated.","type":"array","items":{"$ref":"#/components/schemas/Sharede94ea940"},"example":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"Shared56046b71":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Expires time as an ISO 8601 instant.","example":"2026-09-19T12:00:00.000Z"},"Shared6f559493":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Observed time as an ISO 8601 instant.","example":"2026-09-19T12:00:00.000Z"},"Sharedc57a21de":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"When verification was last attempted.","example":"2026-09-19T12:00:00.000Z"},"Sharedb7c2fd7f":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Verified time as an ISO 8601 instant.","example":"2026-09-19T12:00:00.000Z"},"Shared79a9debf":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Disabled time as an ISO 8601 instant.","example":"2026-09-19T12:00:00.000Z"},"Shared2b864329":{"type":"string","enum":["pending","connected","error","disconnected"],"description":"Connection health: `pending` (created but the credential has NOT been validated by a real `connect()` — must never be shown as connected); `connected` (a successful connect/verify/sync proved a live credential); `error` (a connect, sync, or token refresh failed — see `lastError`); `disconnected` (intentionally severed).","example":"pending"},"Shared331c666a":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Last used time as an ISO 8601 instant.","example":"2026-09-19T12:00:00.000Z"},"Sharedc578c97e":{"default":{"horizonDays":28,"minimumOccurrences":2},"type":"object","properties":{"horizonDays":{"default":28,"type":"integer","minimum":1,"maximum":366,"description":"Horizon days for this record."},"minimumOccurrences":{"default":2,"type":"integer","minimum":1,"maximum":100,"description":"Minimum occurrences for this record."}},"additionalProperties":false,"description":"Materialization for this record.","example":{"horizonDays":28,"minimumOccurrences":2}},"Shared45430398":{"maxItems":499,"type":"array","items":{"$ref":"#/components/schemas/Shared36bb787c"},"description":"Optional choices, in order.","example":[{"path":["example-slug"],"selected":false}]},"Shared832e7919":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"type":{"type":"string","description":"Selects the value type."},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Reason for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."}},"required":["id","type","reason","createdAt"],"example":{"id":"example","type":"example","reason":"example","createdAt":"2026-09-19T12:00:00.000Z"}},"Shared881e90d3":{"type":"object","properties":{"direction":{"type":"string","enum":["next","previous"],"description":"Allowed direction value."},"weekday":{"type":"integer","minimum":1,"maximum":7,"description":"Weekday for this record."},"inclusive":{"default":false,"type":"boolean","description":"Inclusive for this record."}},"required":["direction","weekday"],"additionalProperties":false,"description":"Snap for this record.","example":{"direction":"next","weekday":1}},"Sharedd82965be":{"type":"object","properties":{"blockingStepKey":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Blocking step key for this record."},"blockedStepKey":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Blocked step key for this record."}},"required":["blockingStepKey","blockedStepKey"],"additionalProperties":false,"example":{"blockingStepKey":"123e4567-e89b-42d3-a456-426614174000","blockedStepKey":"123e4567-e89b-42d3-a456-426614174000"}},"Shared6b901672":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"The record creation time as an ISO 8601 instant.","example":"2026-09-19T12:00:00.000Z"},"Shared2f89a668":{"maxItems":500,"type":"array","items":{"$ref":"#/components/schemas/Shared7eea1d31"},"description":"Tasks, in order.","example":[{"rootKey":"example-slug","path":["example-slug"]}]},"Sharedf2064ab3":{"type":"array","items":{"$ref":"#/components/schemas/Shareda3c009a6"},"description":"The role's capability bundle, each one of 'view' < 'comment' < 'contribute' < 'assign' < 'manage' (ascending; higher implies all lower). The resolver evaluates the holder at the bundle's max rank.","example":["view"]},"Sharedffdc9929":{"description":"Planned completion date (ISO-8601 `YYYY-MM-DD`). Drives the milestone’s on-track/at-risk signal relative to today. Omit for an undated checkpoint.","type":"string","format":"date","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])))$","example":"2026-09-19"},"Shared54f71869":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Shared7601aab0"},"description":"Value used by the comparison.","example":["on_track"]},"Sharedcbcf0003":{"default":[],"maxItems":499,"type":"array","items":{"$ref":"#/components/schemas/Shared36bb787c"},"description":"Optional choices, in order.","example":[]},"Shared4b41ad47":{"anyOf":[{"$ref":"#/components/schemas/Shared860fe578"},{"type":"null"}],"description":"Why the last attempt failed; `null` after a success or before the first attempt.","example":"lookup-failed"},"Sharedcd8f1112":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"When the brief last became public; `null` while withdrawn.","example":"2026-09-19T12:00:00.000Z"},"Shared234ab8ba":{"maxItems":2000,"type":"array","items":{"$ref":"#/components/schemas/Sharedc074a591"},"description":"Dependencies, in order.","example":[{"blockerStepKey":"example-slug","blockedStepKey":"example-slug"}]},"Shareddc786590":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."}},"required":["workTypeId","workTypeVersionId"],"additionalProperties":false,"example":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedfb2174e5":{"type":"object","properties":{"kind":{"type":"string","const":"entity","description":"Selects the value variant."},"entityKind":{"type":"string","enum":["task","project","program","initiative","cycle","milestone","team","actor","agent_session","comment","update"],"description":"Allowed entity kind value."},"entityId":{"type":"string","description":"Identifies the referenced entity."}},"required":["kind","entityKind","entityId"],"example":{"kind":"entity","entityKind":"task","entityId":"example"}},"Shared120a5dfe":{"minItems":1,"maxItems":499,"type":"array","items":{"$ref":"#/components/schemas/Shared7eea1d31"},"description":"Works, in order.","example":[{"rootKey":"example-slug","path":["example-slug"]}]},"Sharedef8752d1":{"description":"Current health verdict (`on_track`/`at_risk`/`off_track`), or `null` when unset.","anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda"},{"type":"null"}],"example":"on_track"},"Sharedece9b779":{"anyOf":[{"$ref":"#/components/schemas/Shareddb889926"},{"type":"null"}],"description":"Rescheduled to for this record.","example":"2026-09-19"},"Shared62e7b18a":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7"},{"type":"null"}],"description":"The matched Docket Actor, or null — an explicit, queryable UNMATCHED state (never a fallback assignment). A push for a Docket assignee absent from the reverse of this mapping simply omits the assignee field.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared34d5540a":{"anyOf":[{"$ref":"#/components/schemas/Shareddb889926"},{"type":"null"}],"description":"Start date in YYYY-MM-DD format.","example":"2026-09-19"},"Shared0a721ac4":{"description":"Per-resource visibility flip ('public'/'private') applied at this node, or null to inherit. Most-specific override wins when resolving a resource's effective visibility.","anyOf":[{"$ref":"#/components/schemas/Shareddbc0dc97"},{"type":"null"}],"example":"public"},"Shared512900eb":{"anyOf":[{"$ref":"#/components/schemas/Shareddb889926"},{"type":"null"}],"description":"Effective until for this record.","example":"2026-09-19"},"Shared134dc59f":{"anyOf":[{"$ref":"#/components/schemas/Shareddb889926"},{"type":"null"}],"description":"Target date in YYYY-MM-DD format.","example":"2026-09-19"},"Shared82c40679":{"description":"Optional initial health verdict (`on_track`/`at_risk`/`off_track`). Omit to leave unset.","anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda"},{"type":"null"}],"example":"on_track"},"Shared563b18de":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"name","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"string","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"name","operator":"is","operand":"example"}},"Sharedd3b88d97":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"title","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"string","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"title","operator":"is","operand":"example"}},"Shared92cab41b":{"type":"array","items":{"$ref":"#/components/schemas/Shared6738611b"},"description":"The roles this integration contributes (work/context/signal/time/code).","example":["work"]},"Shared760e24ba":{"anyOf":[{"$ref":"#/components/schemas/Shareddb889926"},{"type":"null"}],"description":"All-day start date; null for timed items.","example":"2026-09-19"},"Shared09bbb5c3":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"name","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"type":"string","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"name","operator":"isNot","operand":"example"}},"Sharedaf28c63e":{"anyOf":[{"$ref":"#/components/schemas/Shareddb889926"},{"type":"null"}],"description":"All-day start date; null for a timed item.","example":"2026-09-19"},"Shared93ae0878":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"title","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"type":"string","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"title","operator":"isNot","operand":"example"}},"Shared3d0d3046":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"blocked","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"boolean","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"blocked","operator":"is","operand":false}},"Shared97363bc5":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"unfiled","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"boolean","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"unfiled","operator":"is","operand":false}},"Sharedcb39920b":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"blocking","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"boolean","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"blocking","operator":"is","operand":false}},"Shared74688926":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"archived","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"boolean","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"archived","operator":"is","operand":false}},"Sharedfaf9e951":{"type":"array","items":{"$ref":"#/components/schemas/Shared7a5bdff8"},"description":"Order by, in order.","example":[{"field":"status","direction":"asc"}]},"Shared791ef550":{"type":"object","properties":{"targetDate":{"$ref":"#/components/schemas/Shared630c2f05","description":"Target date in YYYY-MM-DD format."}},"additionalProperties":false,"description":"Dates for this record.","example":{}},"Sharedc8d50665":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"name","description":"Field the rule evaluates."},"operator":{"type":"string","const":"contains","description":"Comparison applied by the rule."},"operand":{"type":"string","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"name","operator":"contains","operand":"example"}},"Shared2748c684":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"title","description":"Field the rule evaluates."},"operator":{"type":"string","const":"contains","description":"Comparison applied by the rule."},"operand":{"type":"string","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"title","operator":"contains","operand":"example"}},"Shared72f75420":{"type":"string","enum":["message","mention","assignment","status_change","comment","reaction","created","completed","calendar_invite","calendar_update","task_assignment","timer_started","timer_paused","timer_resumed","timer_switched","timer_stopped","email_received","elicitation_requested","elicitation_answered","elicitation_expired","agent_started","agent_progress","agent_blocked","agent_completed","agent_failed","field_change","meeting_attended"],"example":"message"},"Shared7c0ba124":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"name","description":"Field the rule evaluates."},"operator":{"type":"string","const":"notContains","description":"Comparison applied by the rule."},"operand":{"type":"string","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"name","operator":"notContains","operand":"example"}},"Sharedae473667":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"title","description":"Field the rule evaluates."},"operator":{"type":"string","const":"notContains","description":"Comparison applied by the rule."},"operand":{"type":"string","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"title","operator":"notContains","operand":"example"}},"Sharedc4745de3":{"anyOf":[{"$ref":"#/components/schemas/Shareddb889926"},{"type":"null"}],"description":"All-day exclusive end date; null for timed items.","example":"2026-09-19"},"Shared3770e495":{"anyOf":[{"$ref":"#/components/schemas/Shareddb889926"},{"type":"null"}],"description":"All-day exclusive end date; null for a timed item.","example":"2026-09-19"},"Sharedf800fc0a":{"type":"object","properties":{"kind":{"type":"string","const":"after_step_completion","description":"Selects the value variant."},"stepKey":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Step key for this record."},"offsetDays":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Offset days for this record."}},"required":["kind","stepKey"],"additionalProperties":false,"example":{"kind":"after_step_completion","stepKey":"123e4567-e89b-42d3-a456-426614174000"}},"Shared67c1b2ee":{"description":"Health this update reported ('on_track' | 'at_risk' | 'off_track'); null when the post set no health.","anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda"},{"type":"null"}],"example":"on_track"},"Sharedd32759a6":{"type":"array","items":{"$ref":"#/components/schemas/Sharede1df7ce9"},"description":"Order by, in order.","example":[{"field":"status","direction":"asc"}]},"Sharedd63f995c":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"status","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"string","minLength":1,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"status","operator":"is","operand":"example"}},"Shared94a73fe8":{"description":"Optional initial health verdict (`on_track`/`at_risk`/`off_track`). Omit to leave unset (no verdict yet).","anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda"},{"type":"null"}],"example":"on_track"},"Shared9ef57d9d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"status","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"type":"string","minLength":1,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"status","operator":"isNot","operand":"example"}},"Sharedbc14e367":{"type":"object","properties":{"sourceSlug":{"type":"string","maxLength":100,"pattern":"^[a-z][a-z0-9-]*$","description":"Source slug for this record."},"teamIds":{"$ref":"#/components/schemas/Sharedcc7dbe40","description":"Team ids for this record."}},"required":["sourceSlug","teamIds"],"additionalProperties":false,"example":{"sourceSlug":"example-slug","teamIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared750efd3e":{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"priority","description":"Property for this record."},"value":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Stored or returned value."}},"required":["type","property","value"],"example":{"type":"replace_property","property":"priority","value":"none"}},"Shared9fdca3f1":{"type":"object","properties":{"rootKey":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Root key for this record."},"path":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."},"field":{"type":"string","enum":["startDate","dueDate","targetDate"],"description":"Field the rule evaluates."}},"required":["rootKey","path","field"],"additionalProperties":false,"example":{"rootKey":"example-slug","path":["example-slug"],"field":"startDate"}},"Shared46791df6":{"description":"The stored health verdict, or `null` when unset (the detail’s `rolledUpHealth` is derived from children instead).","anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda"},{"type":"null"}],"example":"on_track"},"Sharedb0fe19d8":{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"programId","description":"Property for this record."},"value":{"$ref":"#/components/schemas/Shared827990f4","description":"Stored or returned value."}},"required":["type","property","value"],"example":{"type":"replace_property","property":"programId","value":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared3f0da12e":{"description":"The id of the org role this member holds, which supplies their org-wide base capability (Owner/Admin → manage, Member → contribute, Guest → none). May be null for a member with no role assigned. The role's org is validated on every re-point to prevent cross-org capability leakage.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Role — a named bundle of capabilities assignable to an actor."},{"type":"null"}],"example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"Shared5a61052a":{"type":"array","items":{"$ref":"#/components/schemas/Shared832e7919"},"description":"Events, in order.","example":[{"id":"example","type":"example","reason":"example","createdAt":"2026-09-19T12:00:00.000Z"}]},"Shared949f5aa0":{"anyOf":[{"$ref":"#/components/schemas/Shareddb889926"},{"type":"null"}],"description":"Inclusive final civil date, or null while the version remains open.","example":"2026-09-19"},"Shared7ae61a2f":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"progress","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"number","minimum":0,"maximum":1,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"progress","operator":"is","operand":0}},"Shareda06407a0":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"progress","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"type":"number","minimum":0,"maximum":1,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"progress","operator":"isNot","operand":0}},"Shared936edf68":{"type":"object","properties":{"kind":{"type":"string","const":"on_date","description":"Selects the value variant."},"date":{"$ref":"#/components/schemas/Shared46a52d54","description":"Date for this record."}},"required":["kind","date"],"additionalProperties":false,"example":{"kind":"on_date","date":"2026-09-19"}},"Shared5c80c189":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"progress","description":"Field the rule evaluates."},"operator":{"type":"string","const":"lessThan","description":"Comparison applied by the rule."},"operand":{"type":"number","minimum":0,"maximum":1,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"progress","operator":"lessThan","operand":0}},"Sharedb80e7468":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"progress","description":"Field the rule evaluates."},"operator":{"type":"string","const":"greaterThan","description":"Comparison applied by the rule."},"operand":{"type":"number","minimum":0,"maximum":1,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"progress","operator":"greaterThan","operand":0}},"Shared55d89477":{"type":"object","properties":{"kind":{"type":"string","const":"absolute","description":"Selects the value variant."},"value":{"$ref":"#/components/schemas/Shared86330134","description":"Stored or returned value."}},"required":["kind","value"],"additionalProperties":false,"example":{"kind":"absolute","value":"2026-09-19"}},"Sharedd4062638":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"progress","description":"Field the rule evaluates."},"operator":{"type":"string","const":"lessThanOrEqual","description":"Comparison applied by the rule."},"operand":{"type":"number","minimum":0,"maximum":1,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"progress","operator":"lessThanOrEqual","operand":0}},"Shared6322dd5e":{"type":"object","properties":{"startDate":{"type":"string","enum":["missing_anchor","waiting_completion"],"description":"Start date in YYYY-MM-DD format."},"dueDate":{"type":"string","enum":["missing_anchor","waiting_completion"],"description":"Due date in YYYY-MM-DD format."},"targetDate":{"type":"string","enum":["missing_anchor","waiting_completion"],"description":"Target date in YYYY-MM-DD format."}},"additionalProperties":false,"description":"Unresolved reasons for this record.","example":{}},"Shared71c46047":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"progress","description":"Field the rule evaluates."},"operator":{"type":"string","const":"greaterThanOrEqual","description":"Comparison applied by the rule."},"operand":{"type":"number","minimum":0,"maximum":1,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"progress","operator":"greaterThanOrEqual","operand":0}},"Shared9ab1852c":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"taskCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"taskCount","operator":"is","operand":0}},"Sharedd8e242ed":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"taskCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"taskCount","operator":"isNot","operand":0}},"Shared8ff022de":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"projectCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"projectCount","operator":"is","operand":0}},"Shared041f93c5":{"type":"array","items":{"$ref":"#/components/schemas/Shareddc786590"},"description":"Templates, in order.","example":[{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]},"Shared83c8710e":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"taskCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"lessThan","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"taskCount","operator":"lessThan","operand":0}},"Shared77a258a4":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dependencyCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"dependencyCount","operator":"is","operand":0}},"Shared83c3a3c3":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"projectCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"projectCount","operator":"isNot","operand":0}},"Shared15cb991c":{"type":"string","enum":["message","mention","assignment","status_change","comment","reaction","created","completed","calendar_invite","calendar_update","task_assignment","timer_started","timer_paused","timer_resumed","timer_switched","timer_stopped","email_received","elicitation_requested","elicitation_answered","elicitation_expired","agent_started","agent_progress","agent_blocked","agent_completed","agent_failed","field_change","meeting_attended"],"description":"Selects the value variant.","example":"message"},"Sharedfb54aacd":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"taskCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"greaterThan","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"taskCount","operator":"greaterThan","operand":0}},"Sharedda4a0575":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dependencyCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"dependencyCount","operator":"isNot","operand":0}},"Sharedb05ec580":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"projectCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"lessThan","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"projectCount","operator":"lessThan","operand":0}},"Shareda0ed303b":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"priority","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"string","enum":["none","low","medium","high"],"description":"The Initiative priority; defaults to none."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"priority","operator":"is","operand":"none"}},"Shared79192a26":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dependencyCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"lessThan","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"dependencyCount","operator":"lessThan","operand":0}},"Shared8dc2d757":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"projectCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"greaterThan","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"projectCount","operator":"greaterThan","operand":0}},"Sharedc50f9249":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"taskCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"lessThanOrEqual","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"taskCount","operator":"lessThanOrEqual","operand":0}},"Shared15ba39ac":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"priority","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"type":"string","enum":["none","low","medium","high"],"description":"The Initiative priority; defaults to none."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"priority","operator":"isNot","operand":"none"}},"Sharedfc910a86":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"parent","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Shareddbdcf090"}],"description":"Anchor for this record.","example":{"kind":"parent"}},"Shared18440dad":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"status","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"minItems":1,"type":"array","items":{"type":"string","minLength":1},"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"status","operator":"isAnyOf","operand":["example"]}},"Shared01574847":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"status","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"minItems":1,"type":"array","items":{"type":"string","minLength":1},"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"status","operator":"isNoneOf","operand":["example"]}},"Sharedf17d0385":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dependencyCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"greaterThan","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"dependencyCount","operator":"greaterThan","operand":0}},"Sharede1501424":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"taskCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"greaterThanOrEqual","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"taskCount","operator":"greaterThanOrEqual","operand":0}},"Shared6d47afcf":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"projectCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"lessThanOrEqual","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"projectCount","operator":"lessThanOrEqual","operand":0}},"Shared86169706":{"type":"object","properties":{"rootKey":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Root key for this record."},"path":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."},"field":{"type":"string","enum":["startDate","dueDate","targetDate"],"description":"Field the rule evaluates."}},"required":["rootKey","path","field"],"additionalProperties":false,"description":"Target for this record.","example":{"rootKey":"example-slug","path":["example-slug"],"field":"startDate"}},"Shareda501db31":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dependencyCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"lessThanOrEqual","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"dependencyCount","operator":"lessThanOrEqual","operand":0}},"Sharedaa43d862":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"projectCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"greaterThanOrEqual","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"projectCount","operator":"greaterThanOrEqual","operand":0}},"Shared361a2cef":{"description":"Anticipated start date — the day work is expected to begin (ISO `YYYY-MM-DD`, date-only). A forecast the planner sets, distinct from `dueDate` and from when the task actually moved into a started state (which the activity log records).","type":"string","format":"date","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])))$","example":"2026-09-19"},"Sharedd614fa55":{"anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda"},{"type":"null"}],"description":"The single worst child health (`off_track ≻ at_risk ≻ on_track`), or `null` when no child carries a verdict. The auto-derived health signal for the theme.","example":"on_track"},"Shared362448b0":{"type":"object","properties":{"kind":{"type":"string","const":"relative","description":"Selects the value variant."},"anchor":{"type":"string","enum":["today","now"],"description":"Allowed anchor value."},"unit":{"type":"string","enum":["day","week","month","quarter","year"],"description":"Allowed unit value."},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Offset for this record."}},"required":["kind","anchor","unit","offset"],"additionalProperties":false,"example":{"kind":"relative","anchor":"today","unit":"day","offset":0}},"Shareda0dfb50c":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dependencyCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"greaterThanOrEqual","description":"Comparison applied by the rule."},"operand":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"dependencyCount","operator":"greaterThanOrEqual","operand":0}},"Shared52711abe":{"default":null,"anyOf":[{"$ref":"#/components/schemas/Shareddc786590"},{"type":"null"}],"description":"Origin for this record.","example":null},"Shared28167409":{"type":"object","properties":{"sourceSlug":{"type":"string","maxLength":100,"pattern":"^[a-z][a-z0-9-]*$","description":"Source slug for this record."},"suggestion":{"type":"string","minLength":1,"maxLength":100,"description":"Suggestion for this record."},"destinationLabelId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."}},"required":["sourceSlug","suggestion","destinationLabelId"],"additionalProperties":false,"example":{"sourceSlug":"example-slug","suggestion":"example","destinationLabelId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedf295f6ac":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimate","operator":"is","operand":0}},"Shareddb800f6b":{"type":"array","items":{"$ref":"#/components/schemas/Shared72f75420"},"description":"Event kinds, in order.","example":["message"]},"Sharedb9ee7eef":{"oneOf":[{"$ref":"#/components/schemas/Shared11b9205d"},{"$ref":"#/components/schemas/Shared3e81910c"}],"example":{"kind":"symbol","name":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"}},"Shared4d2c036d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimate","operator":"isNot","operand":0}},"Shared19fd568e":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"lessThan","description":"Comparison applied by the rule."},"operand":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimate","operator":"lessThan","operand":0}},"Shared5e5ce2cd":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimateMinutes","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimateMinutes","operator":"is","operand":0}},"Shared2a4c674d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"greaterThan","description":"Comparison applied by the rule."},"operand":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimate","operator":"greaterThan","operand":0}},"Sharedd615e2f4":{"default":null,"anyOf":[{"$ref":"#/components/schemas/Shareddc786590"},{"type":"null"}],"description":"Retained template for this record.","example":null},"Shared8c3b6a6a":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimateMinutes","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimateMinutes","operator":"isNot","operand":0}},"Shared40e696c9":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"lessThanOrEqual","description":"Comparison applied by the rule."},"operand":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimate","operator":"lessThanOrEqual","operand":0}},"Sharedab59c3df":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimateMinutes","description":"Field the rule evaluates."},"operator":{"type":"string","const":"lessThan","description":"Comparison applied by the rule."},"operand":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimateMinutes","operator":"lessThan","operand":0}},"Shared8c73e5a4":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"greaterThanOrEqual","description":"Comparison applied by the rule."},"operand":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimate","operator":"greaterThanOrEqual","operand":0}},"Shareda3e209fe":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimateMinutes","description":"Field the rule evaluates."},"operator":{"type":"string","const":"greaterThan","description":"Comparison applied by the rule."},"operand":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimateMinutes","operator":"greaterThan","operand":0}},"Shared0db1d831":{"default":{"kind":"never"},"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"never","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared06ef0a72"}],"description":"End for this record.","example":{"kind":"never"}},"Shared69bbd49a":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimateMinutes","description":"Field the rule evaluates."},"operator":{"type":"string","const":"lessThanOrEqual","description":"Comparison applied by the rule."},"operand":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimateMinutes","operator":"lessThanOrEqual","operand":0}},"Shared80ee92f9":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimateMinutes","description":"Field the rule evaluates."},"operator":{"type":"string","const":"greaterThanOrEqual","description":"Comparison applied by the rule."},"operand":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimateMinutes","operator":"greaterThanOrEqual","operand":0}},"Shared41bae4db":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"team","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"team","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared22653d88":{"type":"object","properties":{"action":{"type":"string","const":"cancel","description":"Action for this record."},"date":{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."}},"required":["action","date"],"additionalProperties":false,"example":{"action":"cancel","date":"2026-09-19"}},"Sharedf9d1044f":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"latest","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared719c13f7"}],"description":"Selection for this record.","example":{"kind":"latest"}},"Sharedfc22c98c":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"team","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"team","operator":"isNot","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared62554511":{"type":"object","properties":{"type":{"type":"string","enum":["add_association","remove_association"],"description":"Selects the value type."},"association":{"type":"string","const":"label","description":"Association for this record."},"associationIds":{"$ref":"#/components/schemas/Sharedf6a8063f","description":"Association ids for this record."}},"required":["type","association","associationIds"],"example":{"type":"add_association","association":"label","associationIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared3f808288":{"description":"Per-key term overrides keyed by vocabulary key (e.g. `program`, `project`, `task`); each overrides the preset's default label pair for that key.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/Shared9d719d0d"},"example":{}},"Shareda5928d68":{"maxItems":1000,"type":"array","items":{"$ref":"#/components/schemas/Shared9fdca3f1"},"description":"Absent fields, in order.","example":[{"rootKey":"example-slug","path":["example-slug"],"field":"startDate"}]},"Shared53ac1676":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"progress","description":"Field the rule evaluates."},"operator":{"type":"string","const":"between","description":"Comparison applied by the rule."},"operand":{"type":"array","prefixItems":[{"type":"number","minimum":0,"maximum":1},{"type":"number","minimum":0,"maximum":1}],"description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"progress","operator":"between","operand":[]}},"Sharede27ee791":{"type":"object","properties":{"kind":{"type":"string","const":"absolute","description":"Selects the value variant."},"value":{"$ref":"#/components/schemas/Shared27511356","description":"Stored or returned value."}},"required":["kind","value"],"additionalProperties":false,"example":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}},"Shared3d95b106":{"default":[],"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/Sharedbc14e367"},"description":"Offerings, in order.","example":[]},"Sharedf208b99a":{"oneOf":[{"$ref":"#/components/schemas/Shared8cde6dfa"},{"type":"object","properties":{"kind":{"type":"string","const":"current-actor","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false}],"example":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared544ce6a1":{"oneOf":[{"$ref":"#/components/schemas/Shared11b9205d"},{"$ref":"#/components/schemas/Shared3e81910c"}],"description":"Glyph for this record.","example":{"kind":"symbol","name":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"}},"Shared883d5f0b":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"updateCadence","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"string","enum":["weekly","biweekly","monthly","quarterly","none"],"description":"The update interval used to determine whether an active Initiative is stale."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"updateCadence","operator":"is","operand":"weekly"}},"Shared8481f33c":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"updateCadence","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"type":"string","enum":["weekly","biweekly","monthly","quarterly","none"],"description":"The update interval used to determine whether an active Initiative is stale."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"updateCadence","operator":"isNot","operand":"weekly"}},"Shareda59972dc":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"organization","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"organization","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedb99b8362":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"workTypeId","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedf693a792":{"type":"object","properties":{"path":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"versionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced version."}},"required":["path","workTypeId","versionId"],"additionalProperties":false,"example":{"path":["example-slug"],"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","versionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared9a5cb61d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"organization","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"organization","operator":"isNot","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared132f52b7":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"workTypeId","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"workTypeId","operator":"isNot","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared0db477e6":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"organization","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared37f7c188"}],"example":{"kind":"organization"}},"Shareda2a7a99d":{"type":"object","properties":{"kind":{"type":"string","const":"nth_weekday","description":"Selects the value variant."},"ordinal":{"$ref":"#/components/schemas/Shared34c4f4c8","description":"Ordinal for this record."},"weekday":{"type":"string","enum":["monday","tuesday","wednesday","thursday","friday","saturday","sunday"],"description":"Allowed weekday value."}},"required":["kind","ordinal","weekday"],"additionalProperties":false,"example":{"kind":"nth_weekday","ordinal":1,"weekday":"monday"}},"Sharedbf4c3a13":{"type":"object","properties":{"kind":{"type":"string","const":"draft","description":"Selects the value variant."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."}},"required":["kind","organizationId","workTypeId"],"additionalProperties":false,"example":{"kind":"draft","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared6224133a":{"anyOf":[{"$ref":"#/components/schemas/Sharedb9ee7eef"},{"type":"null"}],"description":"Icon for this record.","example":{"kind":"symbol","name":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"}},"Shared6a2e0565":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"taskCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"between","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedebc3f6d5","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"taskCount","operator":"between","operand":[]}},"Sharedcddd80f0":{"oneOf":[{"$ref":"#/components/schemas/Shared13d02aaf"},{"$ref":"#/components/schemas/Sharedef6699d3"}],"description":"Title policy for this record.","example":{"kind":"native_title","revision":1}},"Shared64be20be":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/Shared76b8a680","description":"Date for this record."},"resolution":{"anyOf":[{"type":"string","enum":["month","quarter","halfYear","year"]},{"type":"null"}],"description":"Resolution for this record."}},"required":["date","resolution"],"description":"Stored or returned value.","example":{"date":"2026-09-19","resolution":"month"}},"Shared5871557f":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"projectCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"between","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedebc3f6d5","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"projectCount","operator":"between","operand":[]}},"Sharedce545471":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"priority","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharede4c45e4a","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"priority","operator":"isAnyOf","operand":["none"]}},"Shared22dd18fb":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"priority","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharede4c45e4a","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"priority","operator":"isNoneOf","operand":["none"]}},"Shared37250889":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"priority","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"priority","operator":"is","operand":"none"}},"Shared5f8025fd":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dependencyCount","description":"Field the rule evaluates."},"operator":{"type":"string","const":"between","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedebc3f6d5","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"dependencyCount","operator":"between","operand":[]}},"Sharede5c2f714":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"milestone","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared7a983768","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"milestone","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared05d06386":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"priority","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"priority","operator":"isNot","operand":"none"}},"Sharedf550d0a5":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"milestone","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared7a983768","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"milestone","operator":"isNot","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared9382ee2d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"program","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared532e6909","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"program","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedc730aa92":{"oneOf":[{"$ref":"#/components/schemas/Shared8cde6dfa"},{"type":"object","properties":{"kind":{"type":"string","const":"current-actor","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false}],"description":"Stored or returned value.","example":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedf328dd8a":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"program","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared532e6909","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"program","operator":"isNot","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared0b6b7c60":{"default":null,"anyOf":[{"$ref":"#/components/schemas/Sharedb9ee7eef"},{"type":"null"}],"description":"Icon for this record.","example":null},"Shared481e82a0":{"type":"object","properties":{"programId":{"$ref":"#/components/schemas/Sharede0e96dda","description":"Identifies the referenced program."},"initiativeIds":{"$ref":"#/components/schemas/Shared8a8051aa","description":"Initiative ids for this record."}},"additionalProperties":false,"description":"Placement for this record.","example":{}},"Shared2cb9f34b":{"oneOf":[{"$ref":"#/components/schemas/Shared8cde6dfa"},{"type":"object","properties":{"kind":{"type":"string","const":"current-actor","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false}],"description":"Value used by the comparison.","example":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared1fe2c0f6":{"default":[],"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/Shared28167409"},"description":"Labels, in order.","example":[]},"Shared03bd7453":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"cycle","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared6e45ac6d","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"cycle","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedf7a17f07":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"organization","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared37f7c188"}],"description":"Context for this record.","example":{"kind":"organization"}},"Sharedbe279154":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"cycle","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared6e45ac6d","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"cycle","operator":"isNot","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared3b9b23e9":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"visibility","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shareddbc0dc97","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"visibility","operator":"is","operand":"public"}},"Sharedeb98cd26":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"visibility","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shareddbc0dc97","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"visibility","operator":"isNot","operand":"public"}},"Sharedf00d5e41":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"project","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared6577a956","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"project","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared4544d86e":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"project","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared6577a956","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"project","operator":"isNot","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared5efd65dc":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"leadTeam","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedce265319","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"leadTeam","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared1f8de71d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"leadTeam","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedce265319","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"leadTeam","operator":"isNot","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared38027716":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"parent","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared6f43c81e","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"parent","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared51daf2c4":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"labels","description":"Field the rule evaluates."},"operator":{"type":"string","const":"includesAny","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared473b0e78","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"labels","operator":"includesAny","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Sharedf462a1fb":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"labels","description":"Field the rule evaluates."},"operator":{"type":"string","const":"includesAll","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared473b0e78","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"labels","operator":"includesAll","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared81079602":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"labels","description":"Field the rule evaluates."},"operator":{"type":"string","const":"includesNone","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared473b0e78","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"labels","operator":"includesNone","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Sharedbe5c19c3":{"type":"string","enum":["proposed","approved","rejected","applied","failed"],"description":"Where a gated `action` sits in the approval gate: `proposed` (awaiting a human decision — parks the session in `awaiting_approval`); `approved` (a human cleared it — transient before apply, used by the session-level shortcut); `rejected` (a human vetoed it — never applies); `applied` (approved AND its effect has been applied — the gate's terminal success state, set by the activity-scoped approve route); `failed` (approved and attempted, but the tool reported an error — nothing changed; the action's `result` carries the error).","example":"proposed"},"Shared62a88beb":{"type":"object","properties":{"kind":{"type":"string","const":"after_completion","description":"Selects the value variant."},"works":{"$ref":"#/components/schemas/Shared120a5dfe","description":"Works for this record."}},"required":["kind","works"],"additionalProperties":false,"example":{"kind":"after_completion","works":[{"rootKey":"example-slug","path":["example-slug"]}]}},"Shared352b7c4b":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"parent","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared6f43c81e","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"parent","operator":"isNot","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedd36e384e":{"anyOf":[{"$ref":"#/components/schemas/Sharedf208b99a"},{"type":"null"}],"description":"Group value for this record.","example":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared0f878267":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"team","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2f34bc0b","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"team","operator":"isAnyOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared1e7a4bbd":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"team","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2f34bc0b","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"team","operator":"isNoneOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Sharede98504a9":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"milestone","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedcf16e4aa","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"milestone","operator":"isAnyOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared88003d82":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"teams","description":"Field the rule evaluates."},"operator":{"type":"string","const":"includesAny","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2f34bc0b","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"teams","operator":"includesAny","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared356bd705":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"teams","description":"Field the rule evaluates."},"operator":{"type":"string","const":"includesAll","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2f34bc0b","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"teams","operator":"includesAll","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared3b099d53":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"milestone","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedcf16e4aa","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"milestone","operator":"isNoneOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared458b0694":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"teams","description":"Field the rule evaluates."},"operator":{"type":"string","const":"includesNone","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2f34bc0b","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"teams","operator":"includesNone","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared7d68ccac":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"program","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedac140125","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"program","operator":"isAnyOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared1f74aaf7":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Sharedf208b99a"},"description":"Value used by the comparison.","example":[{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]},"Shared263d1fa4":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"program","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedac140125","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"program","operator":"isNoneOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared9cc90e15":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"between","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared843c1131","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimate","operator":"between","operand":[]}},"Sharedb750c45d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"parent","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared90648be9","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"parent","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedcf76e40f":{"default":{"kind":"organization"},"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"organization","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared37f7c188"}],"description":"Context for this record.","example":{"kind":"organization"}},"Shared153ad2c5":{"type":"object","properties":{"type":{"type":"string","const":"one_off_all_day","description":"Selects the value type."},"date":{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},"timezone":{"type":"string","minLength":1,"description":"Timezone for this record."}},"required":["type","date","timezone"],"additionalProperties":false,"example":{"type":"one_off_all_day","date":"2026-09-19","timezone":"example"}},"Shared190d58fa":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"parent","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared90648be9","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"parent","operator":"isNot","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedcb769d89":{"type":"object","properties":{"kind":{"type":"string","const":"object","description":"Selects the value variant."},"objectId":{"type":"string","minLength":1,"maxLength":200,"description":"Identifies the referenced object."},"property":{"type":"string","minLength":1,"maxLength":100,"description":"Property for this record."},"before":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}],"description":"Before for this record."},"after":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}],"description":"After for this record."}},"required":["kind","objectId","property","before","after"],"example":{"kind":"object","objectId":"example","property":"example","before":"example","after":"example"}},"Shared0ad42794":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"estimateMinutes","description":"Field the rule evaluates."},"operator":{"type":"string","const":"between","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared843c1131","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"estimateMinutes","operator":"between","operand":[]}},"Shared97bece29":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"updateCadence","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared83bc4268","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"updateCadence","operator":"isAnyOf","operand":["weekly"]}},"Shared0001d1d3":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"updateCadence","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared83bc4268","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"updateCadence","operator":"isNoneOf","operand":["weekly"]}},"Shareddd4b6cc4":{"type":"object","properties":{"kind":{"type":"string","const":"catalog","description":"Selects the value variant."},"release":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Release for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"catalogVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced catalog version."}},"required":["kind","release","workTypeId","catalogVersionId"],"additionalProperties":false,"example":{"kind":"catalog","release":1,"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","catalogVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedcbba0b58":{"maxItems":500,"type":"array","items":{"$ref":"#/components/schemas/Sharedf693a792"},"description":"Resolved manifest, in order.","example":[{"path":["example-slug"],"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","versionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]},"Sharedb1f21962":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"cycle","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedec0a7ca1","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"cycle","operator":"isAnyOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared251560e8":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"organization","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharede3178c4a","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"organization","operator":"isAnyOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared25afcab4":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"workTypeId","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedccfb1b0f","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"workTypeId","operator":"isAnyOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared84dddf36":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"cycle","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedec0a7ca1","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"cycle","operator":"isNoneOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Sharedf29aa7f0":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"organization","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharede3178c4a","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"organization","operator":"isNoneOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared99654aec":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"workTypeId","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedccfb1b0f","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"workTypeId","operator":"isNoneOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared2261dc31":{"type":"object","properties":{"kind":{"type":"string","const":"relation","description":"Selects the value variant."},"objectId":{"type":"string","minLength":1,"maxLength":200,"description":"Identifies the referenced object."},"relation":{"type":"string","enum":["label","initiative","dependency"],"description":"Allowed relation value."},"relatedId":{"type":"string","minLength":1,"maxLength":200,"description":"Identifies the referenced related."},"before":{"type":"boolean","description":"Before for this record."},"after":{"type":"boolean","description":"After for this record."}},"required":["kind","objectId","relation","relatedId","before","after"],"example":{"kind":"relation","objectId":"example","relation":"label","relatedId":"example","before":false,"after":false}},"Shareda592168e":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"project","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared53be6fdc","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"project","operator":"isAnyOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Sharedc331b7f2":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"project","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared53be6fdc","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"project","operator":"isNoneOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared303e5863":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"leadTeam","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd317ffb5","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"leadTeam","operator":"isAnyOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared875559f1":{"type":"object","properties":{"sourceOrganizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"sourceLabelId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"destinationLabelId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."}},"required":["sourceOrganizationId","sourceLabelId","destinationLabelId"],"additionalProperties":false,"example":{"sourceOrganizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sourceLabelId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","destinationLabelId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared0d2da049":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"leadTeam","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd317ffb5","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"leadTeam","operator":"isNoneOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared3c7f3cf7":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"initiatives","description":"Field the rule evaluates."},"operator":{"type":"string","const":"includesAny","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shareda7ff1219","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"initiatives","operator":"includesAny","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared7616ccec":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"initiatives","description":"Field the rule evaluates."},"operator":{"type":"string","const":"includesAll","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shareda7ff1219","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"initiatives","operator":"includesAll","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Sharedbb8e4c5f":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"initiatives","description":"Field the rule evaluates."},"operator":{"type":"string","const":"includesNone","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shareda7ff1219","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"initiatives","operator":"includesNone","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared33a4ae2f":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"parent","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared49290e44","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"parent","operator":"isAnyOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shareddf3aa805":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"parent","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared49290e44","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"parent","operator":"isNoneOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared642e298d":{"type":"object","properties":{"target":{"$ref":"#/components/schemas/Shared3c2005ba","description":"Target for this record."},"kind":{"type":"string","enum":["task","project","milestone"],"description":"Selects the value variant."},"pattern":{"type":"string","description":"Pattern for this record."}},"required":["target","kind","pattern"],"additionalProperties":false,"example":{"target":{"rootKey":"example-slug","path":["example-slug"]},"kind":"task","pattern":"example"}},"Shared620c1953":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"priority","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared11939d98","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"priority","operator":"isAnyOf","operand":["none"]}},"Sharedf4cfabf9":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"priority","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared11939d98","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"priority","operator":"isNoneOf","operand":["none"]}},"Sharedbc5fbce8":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"parent","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared393334c5","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"parent","operator":"isAnyOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Shared1ca97bf0":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"parent","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared393334c5","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"parent","operator":"isNoneOf","operand":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Sharedcfeef4cf":{"type":"object","properties":{"kind":{"type":"string","const":"catalog","description":"Selects the value variant."},"release":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Release for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"catalogVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced catalog version."}},"required":["kind","release","workTypeId","catalogVersionId"],"additionalProperties":false,"description":"Source for this record.","example":{"kind":"catalog","release":1,"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","catalogVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedc1d58b96":{"type":"object","properties":{"kind":{"type":"string","const":"work_date","description":"Selects the value variant."},"work":{"$ref":"#/components/schemas/Shared92e165e2","description":"Work for this record."},"field":{"type":"string","enum":["startDate","dueDate","targetDate"],"description":"Field the rule evaluates."}},"required":["kind","work","field"],"additionalProperties":false,"example":{"kind":"work_date","work":{"rootKey":"example-slug","path":["example-slug"]},"field":"startDate"}},"Sharedda8ee6c0":{"oneOf":[{"$ref":"#/components/schemas/Sharedd6444054"},{"$ref":"#/components/schemas/Shared86771800"}],"example":{"kind":"task","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared709850aa":{"type":"object","properties":{"kind":{"type":"string","const":"catalog","description":"Selects the value variant."},"release":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Release for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"catalogVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced catalog version."}},"required":["kind","release","workTypeId","catalogVersionId"],"additionalProperties":false,"description":"Identity for this record.","example":{"kind":"catalog","release":1,"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","catalogVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedbc4d129d":{"type":"object","properties":{"layout":{"type":"string","enum":["list","board","cards","timeline"],"description":"Allowed layout value."},"properties":{"$ref":"#/components/schemas/Shared7f358474","description":"Properties for this record."},"density":{"type":"string","enum":["comfortable","compact"],"description":"Allowed density value."},"showEmptyGroups":{"type":"boolean","description":"Show empty groups for this record."}},"required":["layout","properties","density","showEmptyGroups"],"additionalProperties":false,"description":"Presentation for this record.","example":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}},"Sharedd4c71bc1":{"oneOf":[{"$ref":"#/components/schemas/Sharedfb2174e5"},{"$ref":"#/components/schemas/Sharedc6ff5293"}],"description":"Ref for this record.","example":{"kind":"entity","entityKind":"task","entityId":"example"}},"Shared5b3d33b3":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"visibility","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared81d91848","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"visibility","operator":"isAnyOf","operand":["public"]}},"Shared3ef7d6d9":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"visibility","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared81d91848","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"visibility","operator":"isNoneOf","operand":["public"]}},"Sharedbb5a04f1":{"type":"object","properties":{"kind":{"type":"string","const":"legacy_authored_tasks","description":"Selects the value variant."},"revision":{"type":"number","const":1,"description":"Revision for this record."},"tasks":{"$ref":"#/components/schemas/Shared2f89a668","description":"Tasks for this record."}},"required":["kind","revision","tasks"],"additionalProperties":false,"example":{"kind":"legacy_authored_tasks","revision":1,"tasks":[{"rootKey":"example-slug","path":["example-slug"]}]}},"Shareddc0fb81b":{"type":"object","properties":{"layout":{"type":"string","enum":["list","board","cards","timeline"],"description":"Allowed layout value."},"properties":{"$ref":"#/components/schemas/Shared2eb1938a","description":"Properties for this record."},"density":{"type":"string","enum":["comfortable","compact"],"description":"Allowed density value."},"showEmptyGroups":{"type":"boolean","description":"Show empty groups for this record."}},"required":["layout","properties","density","showEmptyGroups"],"additionalProperties":false,"description":"Presentation for this record.","example":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}},"Shared3a065a16":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},{"type":"null"}],"description":"Identifies the referenced work type version."},"targetType":{"$ref":"#/components/schemas/Shared07f21ed5","description":"Target type for this record."}},"required":["workTypeId","workTypeVersionId","targetType"],"additionalProperties":false,"example":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetType":"task"}},"Shared4a8f79da":{"type":"object","properties":{"kind":{"type":"string","const":"publication","description":"Selects the value variant."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."}},"required":["kind","organizationId","workTypeId","workTypeVersionId"],"additionalProperties":false,"example":{"kind":"publication","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedf30dde57":{"maxItems":500,"type":"array","items":{"$ref":"#/components/schemas/Shared642e298d"},"description":"Titles, in order.","example":[{"target":{"rootKey":"example-slug","path":["example-slug"]},"kind":"task","pattern":"example"}]},"Shareddf8a8691":{"type":"array","items":{"$ref":"#/components/schemas/Sharedda8ee6c0"},"description":"Roots, in order.","example":[{"kind":"task","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]},"Shared37013f5e":{"default":[],"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/Shared875559f1"},"description":"Labels, in order.","example":[]},"Shared21171429":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"health","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2d12b315","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"health","operator":"is","operand":"on_track"}},"Shared5dd84e72":{"type":"object","properties":{"code":{"$ref":"#/components/schemas/Sharedbeac8de5","description":"Code for this record."},"paths":{"maxItems":100,"type":"array","items":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"}},"description":"Paths, in order."},"count":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["code","paths","count"],"additionalProperties":false,"example":{"code":"actor_unavailable","paths":[["example-slug"]],"count":1}},"Shared1f6cdd66":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"health","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2d12b315","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"health","operator":"isNot","operand":"on_track"}},"Shared416b89f3":{"type":"object","properties":{"startAt":{"$ref":"#/components/schemas/Sharede2fc785b","description":"Start time as an ISO 8601 instant."},"bufferPercent":{"type":"number","minimum":0,"maximum":100,"description":"Buffer percent for this record."},"excludedTaskIds":{"type":"array","items":{"type":"string","minLength":1},"description":"Excluded task ids, in order."},"sequenceEdited":{"type":"boolean","description":"Sequence edited for this record."}},"description":"Settings for this record.","example":{}},"Shared567033e5":{"type":"object","properties":{"layout":{"type":"string","enum":["list","board","cards","timeline"],"description":"Allowed layout value."},"properties":{"$ref":"#/components/schemas/Shared4a46d130","description":"Properties for this record."},"density":{"type":"string","enum":["comfortable","compact"],"description":"Allowed density value."},"showEmptyGroups":{"type":"boolean","description":"Show empty groups for this record."}},"required":["layout","properties","density","showEmptyGroups"],"additionalProperties":false,"description":"Presentation for this record.","example":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}},"Shared376a7181":{"type":"object","properties":{"startDate":{"$ref":"#/components/schemas/Shared20c14654","description":"Start date in YYYY-MM-DD format."},"dueDate":{"$ref":"#/components/schemas/Shared3e1b254e","description":"Due date in YYYY-MM-DD format."}},"additionalProperties":false,"description":"Dates for this record.","example":{}},"Sharedc8a7f6ed":{"type":"object","properties":{"startDate":{"$ref":"#/components/schemas/Shared20c14654","description":"Start date in YYYY-MM-DD format."},"targetDate":{"$ref":"#/components/schemas/Shared630c2f05","description":"Target date in YYYY-MM-DD format."}},"additionalProperties":false,"description":"Dates for this record.","example":{}},"Shared2e6df07a":{"description":"For `action` entries, the gate state (proposed/approved/rejected/applied); null/absent for non-action entries, which are never gated.","anyOf":[{"$ref":"#/components/schemas/Sharedbe5c19c3"},{"type":"null"}],"example":"proposed"},"Sharedf568e420":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"health","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared54f71869","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"health","operator":"isAnyOf","operand":["on_track"]}},"Sharedbaa23297":{"type":"object","properties":{"layout":{"type":"string","enum":["list","board","cards","timeline"],"description":"Allowed layout value."},"properties":{"$ref":"#/components/schemas/Sharedc623beda","description":"Properties for this record."},"density":{"type":"string","enum":["comfortable","compact"],"description":"Allowed density value."},"showEmptyGroups":{"type":"boolean","description":"Show empty groups for this record."}},"required":["layout","properties","density","showEmptyGroups"],"additionalProperties":false,"description":"Presentation for this record.","example":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}},"Shared39c66928":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"health","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared54f71869","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"health","operator":"isNoneOf","operand":["on_track"]}},"Shared927cd36f":{"minItems":1,"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/Shared3a065a16"},"description":"Roots, in order.","example":[{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetType":"task"}]},"Shareda0719e23":{"type":"object","properties":{"previewToken":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Preview token for this record."},"creationTeamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"optionalChoices":{"$ref":"#/components/schemas/Sharedcbcf0003","description":"Optional choices for this record."}},"additionalProperties":false,"description":"Blueprint for this record.","example":{}},"Shareda3e383ea":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"selection":{"$ref":"#/components/schemas/Sharedf9d1044f","description":"Selection for this record."}},"required":["workTypeId","selection"],"additionalProperties":false,"example":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"}}},"Shared59ece44c":{"type":"object","properties":{"projectId":{"$ref":"#/components/schemas/Shared969dbcd0","description":"Identifies the referenced project."},"milestoneId":{"$ref":"#/components/schemas/Shared33ea6897","description":"Identifies the referenced milestone."},"parentTaskId":{"$ref":"#/components/schemas/Sharedf20cac70","description":"Identifies the referenced parent task."}},"additionalProperties":false,"description":"Placement for this record.","example":{}},"Sharedc7b9286a":{"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/Shared5dd84e72"},"description":"Warnings, in order.","example":[{"code":"actor_unavailable","paths":[["example-slug"]],"count":1}]},"Sharedd471097a":{"type":"object","properties":{"kind":{"type":"string","const":"draft","description":"Selects the value variant."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"draftRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Draft revision for this record."},"draftFingerprint":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Draft fingerprint for this record."}},"required":["kind","organizationId","workTypeId","draftRevision","draftFingerprint"],"additionalProperties":false,"example":{"kind":"draft","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","draftRevision":0,"draftFingerprint":"sha256:0000000000000000000000000000000000000000000000000000000000000000"}},"Shared1259217e":{"type":"object","properties":{"taskId":{"type":"string","minLength":1,"description":"Identifies the referenced task."},"organizationId":{"type":"string","minLength":1,"description":"Identifies the referenced organization."},"plannedMinutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Planned minutes for this record."},"sort":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Sort for this record."},"selectionSource":{"type":"string","enum":["explicit","suggested"],"description":"Allowed selection source value."},"durationSource":{"type":"string","enum":["edited","estimate","history","default"],"description":"Allowed duration source value."},"durationResolved":{"type":"boolean","description":"Duration resolved for this record."}},"required":["taskId","organizationId","plannedMinutes","sort"],"example":{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}},"Shared619d3e23":{"default":{"optionalChoices":[]},"type":"object","properties":{"previewToken":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Preview token for this record."},"creationTeamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"optionalChoices":{"$ref":"#/components/schemas/Sharedcbcf0003","description":"Optional choices for this record."}},"additionalProperties":false,"description":"Options for this record.","example":{"optionalChoices":[]}},"Sharedaa1bfcc7":{"type":"object","properties":{"blocker":{"$ref":"#/components/schemas/Shared557800b5","description":"Blocker for this record."},"blocked":{"$ref":"#/components/schemas/Sharedeeb53b7b","description":"Blocked for this record."}},"required":["blocker","blocked"],"additionalProperties":false,"example":{"blocker":{"rootKey":"example-slug","path":["example-slug"]},"blocked":{"rootKey":"example-slug","path":["example-slug"]}}},"Shareda249b11e":{"type":"object","properties":{"preset":{"type":"string","enum":["startup","nonprofit","agency"],"description":"The base preset the organization starts from."},"overrides":{"$ref":"#/components/schemas/Shared3f808288","description":"Overrides for this record."}},"required":["preset"],"description":"The org's terminology skin — a preset ('startup' | 'nonprofit' | 'agency') plus optional per-key label overrides — that relabels entities across the UI.","example":{"preset":"startup"}},"Shared2280be8e":{"anyOf":[{"$ref":"#/components/schemas/Shareda3e383ea"},{"type":"null"}],"description":"Template for this record.","example":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"}}},"Sharede402303e":{"type":"array","items":{"$ref":"#/components/schemas/Shared1259217e"},"description":"Tasks, in order.","example":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}]},"Sharedc4fa1dca":{"type":"object","properties":{"value":{"type":"string","description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false,"example":{"value":"example","label":"example","count":0}},"Shared005914a9":{"type":"object","properties":{"value":{"type":"boolean","description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false,"example":{"value":false,"label":"example","count":0}},"Shared0bc5b173":{"type":"object","properties":{"targetType":{"type":"string","const":"initiative","description":"Discriminant; must equal the template’s `targetType`."},"name":{"description":"Pre-filled initiative name.","type":"string"},"summary":{"description":"Pre-filled one-line summary.","type":"string","maxLength":280},"description":{"description":"Pre-filled markdown body.","type":"string"},"status":{"description":"Pre-filled lifecycle status.","type":"string","minLength":1},"priority":{"description":"Pre-filled priority.","type":"string","enum":["none","low","medium","high"]},"updateCadence":{"description":"Pre-filled expected update interval — the cadence the template’s framing implies.","type":"string","enum":["weekly","biweekly","monthly","quarterly","none"]},"health":{"description":"Pre-filled health verdict.","type":"string","enum":["on_track","at_risk","off_track"]}},"required":["targetType"],"additionalProperties":false,"example":{"targetType":"initiative"}},"Sharedbd68f777":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Shared61b44a61","description":"The stable identifier for this resource."},"kind":{"$ref":"#/components/schemas/Shared9f44240a","description":"Selects the value variant."},"displayName":{"type":"string","description":"The actor's display name as shown throughout the UI."},"avatar":{"description":"URL of the actor's avatar image; null when none is set.","anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","kind","displayName"],"additionalProperties":false,"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"human","displayName":"example"}},"Shared7467d2c3":{"type":"object","properties":{"value":{"type":"string","minLength":1,"description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false,"example":{"value":"example","label":"example","count":0}},"Shared2ad9a339":{"type":"object","properties":{"kind":{"type":"string","const":"program","description":"Selects the value variant."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},"removeLabelIds":{"$ref":"#/components/schemas/Shared6d097131","description":"Remove label ids for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."}},"required":["kind","id","removeLabelIds","workTypeId","workTypeVersionId"],"additionalProperties":false,"example":{"kind":"program","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removeLabelIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared86cf1e4a":{"type":"object","properties":{"groupBy":{"$ref":"#/components/schemas/Shared856c5cf4","description":"Group by for this record."},"subGroupBy":{"$ref":"#/components/schemas/Shared03da9a3a","description":"Sub group by for this record."},"orderBy":{"$ref":"#/components/schemas/Sharedc8178f86","description":"Order by for this record."}},"required":["groupBy","subGroupBy","orderBy"],"additionalProperties":false,"description":"Arrangement for this record.","example":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]}},"Shareda6f07b33":{"type":"object","properties":{"value":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false,"example":{"value":0,"label":"example","count":0}},"Shared10d7a183":{"type":"object","properties":{"kind":{"type":"string","const":"daily","description":"Selects the value variant."},"interval":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Interval for this record."},"startOffsetDays":{"default":0,"type":"integer","minimum":-36500,"maximum":36500,"description":"Start offset days for this record."},"end":{"$ref":"#/components/schemas/Shared0db1d831","description":"End for this record."}},"required":["kind"],"additionalProperties":false,"example":{"kind":"daily"}},"Shared6ac4c489":{"type":"object","properties":{"kind":{"type":"string","const":"project","description":"Selects the value variant."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"removeLabelIds":{"$ref":"#/components/schemas/Shared6d097131","description":"Remove label ids for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."}},"required":["kind","id","removeLabelIds","workTypeId","workTypeVersionId"],"additionalProperties":false,"example":{"kind":"project","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removeLabelIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared418eae71":{"maxItems":500,"type":"array","items":{"$ref":"#/components/schemas/Sharedaa1bfcc7"},"description":"Dependencies, in order.","example":[{"blocker":{"rootKey":"example-slug","path":["example-slug"]},"blocked":{"rootKey":"example-slug","path":["example-slug"]}}]},"Shareda8b4bacd":{"type":"object","properties":{"kind":{"type":"string","const":"task","description":"Selects the value variant."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"removeLabelIds":{"$ref":"#/components/schemas/Shared6d097131","description":"Remove label ids for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."}},"required":["kind","id","removeLabelIds","workTypeId","workTypeVersionId"],"additionalProperties":false,"example":{"kind":"task","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removeLabelIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared3ea976a5":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"lead","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2cb9f34b","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"lead","operator":"is","operand":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"Sharedffebf390":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"owner","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2cb9f34b","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"owner","operator":"is","operand":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"Shared4958041d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"creator","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2cb9f34b","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"creator","operator":"is","operand":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"Sharedcf0cf152":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"lead","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2cb9f34b","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"lead","operator":"isNot","operand":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"Shareddef18396":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"assignee","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2cb9f34b","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"assignee","operator":"is","operand":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"Shared040fda86":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"delegate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"is","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2cb9f34b","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"delegate","operator":"is","operand":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"Sharedc6fde5d1":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"owner","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2cb9f34b","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"owner","operator":"isNot","operand":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"Shared10fc91de":{"type":"array","items":{"$ref":"#/components/schemas/Sharedc4fa1dca"},"description":"Options, in order.","example":[{"value":"example","label":"example","count":0}]},"Sharedd3a0cf59":{"type":"object","properties":{"groupBy":{"$ref":"#/components/schemas/Sharedd10792d3","description":"Group by for this record."},"subGroupBy":{"$ref":"#/components/schemas/Shared2a5c7415","description":"Sub group by for this record."},"orderBy":{"$ref":"#/components/schemas/Shared14fec1c9","description":"Order by for this record."}},"required":["groupBy","subGroupBy","orderBy"],"additionalProperties":false,"description":"Arrangement for this record.","example":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]}},"Shared6395ac29":{"type":"array","items":{"$ref":"#/components/schemas/Shared005914a9"},"description":"Options, in order.","example":[{"value":false,"label":"example","count":0}]},"Shared429e18ba":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"creator","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2cb9f34b","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"creator","operator":"isNot","operand":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"Shareddf89c361":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"summary":{"type":"string","maxLength":280,"description":"Short plain-language summary."},"description":{"type":"string","description":"Longer plain-language description."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared6a2f1dda","description":"Health for this record."},"priority":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."}},"required":["name"],"additionalProperties":false,"description":"Fields for this record.","example":{"name":"example"}},"Shared7df1a5cb":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"assignee","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2cb9f34b","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"assignee","operator":"isNot","operand":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"Shared1ad94d7b":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"delegate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNot","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared2cb9f34b","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"delegate","operator":"isNot","operand":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"Shared4d8111db":{"type":"string","enum":["target","flag","layers","folder","workflow","globe","users","sparkles","bus","train","subway","route","map","campaign","school","book","event","handshake","government","vote","community","hub","psychology","idea","launch","language","park","building","engineering","construction","timeline","analytics","insights","growth","verified","security","energy","favorite","star","explore","travel","award","volunteering","forum","voice","podcast","article","policy","justice","library","pedestrian","mail","chat","phone","inbox","send","camera","image","video","music","film","wallet","payments","receipt","bank","savings","science","biotech","experiment","atom","leaf","tree","flower","water","mountain","sun","cloud","car","flight","rocket","bike","boat","build","wrench","settings","tune","hammer","person","group","contacts","badge","note","archive","clipboard","lock","shield","key","fingerprint","code","terminal","database","bug"],"description":"Allowed icon key value.","example":"target"},"Shared35764e03":{"type":"object","properties":{"value":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false,"example":{"value":0,"label":"example","count":0}},"Sharedc354790e":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"selection":{"$ref":"#/components/schemas/Sharedf9d1044f","description":"Selection for this record."},"targetType":{"type":"string","enum":["task","project"],"description":"Allowed target type value."}},"required":["workTypeId","selection","targetType"],"additionalProperties":false,"description":"Template for this record.","example":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"}},"Sharedd2379e1d":{"oneOf":[{"$ref":"#/components/schemas/Sharedcf55bf80"},{"$ref":"#/components/schemas/Shareda2a7a99d"}],"description":"Pattern for this record.","example":{"kind":"day_of_month","day":1}},"Shared9e5c58dd":{"type":"object","properties":{"kind":{"type":"string","const":"initiative","description":"Selects the value variant."},"id":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"removeLabelIds":{"$ref":"#/components/schemas/Shared6d097131","description":"Remove label ids for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."}},"required":["kind","id","removeLabelIds","workTypeId","workTypeVersionId"],"additionalProperties":false,"example":{"kind":"initiative","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removeLabelIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared8ff749e7":{"type":"array","items":{"$ref":"#/components/schemas/Shared7467d2c3"},"description":"Options, in order.","example":[{"value":"example","label":"example","count":0}]},"Sharedd0409379":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"summary":{"type":"string","maxLength":280,"description":"Short plain-language summary."},"description":{"type":"string","description":"Longer plain-language description."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared6a2f1dda","description":"Health for this record."},"visibility":{"$ref":"#/components/schemas/Shareddbc0dc97","description":"Visibility for this record."}},"required":["name"],"additionalProperties":false,"description":"Fields for this record.","example":{"name":"example"}},"Shared70d1ec92":{"default":{"kind":"never"},"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"never","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared936edf68"},{"$ref":"#/components/schemas/Shared06ef0a72"}],"description":"End for this record.","example":{"kind":"never"}},"Shared1a771b59":{"type":"object","properties":{"value":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false,"example":{"value":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","count":0}},"Shared7b7339a0":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"lead","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared1f74aaf7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"lead","operator":"isAnyOf","operand":[{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Shared33435be9":{"type":"object","properties":{"target":{"$ref":"#/components/schemas/Shared3c2005ba","description":"Target for this record."},"prerequisite":{"$ref":"#/components/schemas/Sharedc6549f9b","description":"Prerequisite for this record."},"offsetDays":{"type":"integer","minimum":-36500,"maximum":36500,"description":"Offset days for this record."}},"required":["target","prerequisite","offsetDays"],"additionalProperties":false,"example":{"target":{"rootKey":"example-slug","path":["example-slug"]},"prerequisite":{"rootKey":"example-slug","path":["example-slug"]},"offsetDays":0}},"Sharedbc0b01a8":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"lead","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared1f74aaf7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"lead","operator":"isNoneOf","operand":[{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Shared94dfedb3":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"owner","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared1f74aaf7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"owner","operator":"isAnyOf","operand":[{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Shared2a0c6637":{"type":"array","items":{"$ref":"#/components/schemas/Shareda6f07b33"},"description":"Options, in order.","example":[{"value":0,"label":"example","count":0}]},"Sharedfa22a4d9":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"owner","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared1f74aaf7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"owner","operator":"isNoneOf","operand":[{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Shareda6eec25e":{"type":"object","properties":{"value":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false,"example":{"value":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","count":0}},"Shared9e003558":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"creator","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared1f74aaf7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"creator","operator":"isAnyOf","operand":[{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Sharedc6294bdd":{"default":null,"anyOf":[{"$ref":"#/components/schemas/Sharedbd68f777"},{"type":"null"}],"description":"Owner actor for this record.","example":null},"Sharedbf3a161d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"assignee","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared1f74aaf7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"assignee","operator":"isAnyOf","operand":[{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Shared10bc3fcd":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"delegate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isAnyOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared1f74aaf7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"delegate","operator":"isAnyOf","operand":[{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Sharedeb9fae60":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"creator","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared1f74aaf7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"creator","operator":"isNoneOf","operand":[{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Shared914a6fb7":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"assignee","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared1f74aaf7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"assignee","operator":"isNoneOf","operand":[{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Sharedd91f2fe7":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"delegate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"isNoneOf","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared1f74aaf7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"delegate","operator":"isNoneOf","operand":[{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Sharedac3ed929":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"members","description":"Field the rule evaluates."},"operator":{"type":"string","const":"includesAny","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared1f74aaf7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"members","operator":"includesAny","operand":[{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Shared70ea106a":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"members","description":"Field the rule evaluates."},"operator":{"type":"string","const":"includesAll","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared1f74aaf7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"members","operator":"includesAll","operand":[{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Shared0a35563d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"members","description":"Field the rule evaluates."},"operator":{"type":"string","const":"includesNone","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared1f74aaf7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"members","operator":"includesNone","operand":[{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Shared524dfa84":{"default":{"kind":"on_trigger"},"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"on_trigger","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Sharede66a8837"},{"$ref":"#/components/schemas/Sharedf800fc0a"}],"description":"Timing for this record.","example":{"kind":"on_trigger"}},"Shareda82aa78a":{"type":"object","properties":{"targetType":{"type":"string","const":"project","description":"Target type for this record."},"name":{"type":"string","description":"Human-readable name."},"summary":{"type":"string","maxLength":280,"description":"Short plain-language summary."},"description":{"type":"string","description":"Longer plain-language description."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared6a2f1dda","description":"Health for this record."},"priority":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."}},"required":["targetType"],"additionalProperties":false,"example":{"targetType":"project"}},"Shared28edc1ba":{"type":"object","properties":{"value":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false,"example":{"value":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","count":0}},"Shared71ed01ee":{"oneOf":[{"$ref":"#/components/schemas/Sharedf2738045"},{"$ref":"#/components/schemas/Sharedbb5a04f1"}],"description":"Completion policy for this record.","example":{"kind":"terminal_actual_tree","revision":1}},"Shared2cc8db04":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Sharede94ea940","description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false,"example":{"value":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","count":0}},"Shared9327199f":{"type":"array","items":{"$ref":"#/components/schemas/Shared35764e03"},"description":"Options, in order.","example":[{"value":0,"label":"example","count":0}]},"Shared74081a55":{"type":"object","properties":{"targetType":{"type":"string","const":"program","description":"Target type for this record."},"name":{"type":"string","description":"Human-readable name."},"summary":{"type":"string","maxLength":280,"description":"Short plain-language summary."},"description":{"type":"string","description":"Longer plain-language description."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared6a2f1dda","description":"Health for this record."},"visibility":{"$ref":"#/components/schemas/Shareddbc0dc97","description":"Visibility for this record."}},"required":["targetType"],"additionalProperties":false,"example":{"targetType":"program"}},"Shared623508ee":{"type":"object","properties":{"type":{"type":"string","const":"one_off_timed","description":"Selects the value type."},"startsAt":{"$ref":"#/components/schemas/Shared4e634e74","description":"Starts time as an ISO 8601 instant."},"endsAt":{"$ref":"#/components/schemas/Shared6ce806cd","description":"Ends time as an ISO 8601 instant."},"timezone":{"type":"string","minLength":1,"description":"Timezone for this record."}},"required":["type","startsAt","endsAt","timezone"],"additionalProperties":false,"example":{"type":"one_off_timed","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","timezone":"example"}},"Shared154a52e3":{"type":"object","properties":{"kind":{"type":"string","const":"milestone","description":"Selects the value variant."},"path":{"minItems":1,"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."},"fields":{"$ref":"#/components/schemas/Shared39e9dbc2","description":"Fields for this record."},"dates":{"$ref":"#/components/schemas/Shared791ef550","description":"Dates for this record."}},"required":["kind","path"],"additionalProperties":false,"example":{"kind":"milestone","path":["example-slug"]}},"Shared42a688f9":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false,"example":{"value":"none","label":"example","count":0}},"Shared30ac0e79":{"type":"array","items":{"$ref":"#/components/schemas/Shared1a771b59"},"description":"Options, in order.","example":[{"value":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","count":0}]},"Shared457edd78":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Shared827990f4","description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false,"example":{"value":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","count":0}},"Sharedb419d96d":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"summary":{"anyOf":[{"type":"string","maxLength":280},{"type":"null"}],"description":"Short plain-language summary."},"description":{"type":"string","description":"Longer plain-language description."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared87b03b06","description":"Health for this record."},"visibility":{"$ref":"#/components/schemas/Shareddbc0dc97","description":"Visibility for this record."}},"additionalProperties":false,"description":"Fields for this record.","example":{}},"Sharedc9e7879f":{"type":"object","properties":{"groupBy":{"$ref":"#/components/schemas/Shared43782783","description":"Group by for this record."},"subGroupBy":{"$ref":"#/components/schemas/Shared91826d45","description":"Sub group by for this record."},"orderBy":{"$ref":"#/components/schemas/Sharedfaf9e951","description":"Order by for this record."}},"required":["groupBy","subGroupBy","orderBy"],"additionalProperties":false,"description":"Arrangement for this record.","example":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]}},"Sharedbf02098a":{"type":"array","items":{"$ref":"#/components/schemas/Shareda6eec25e"},"description":"Options, in order.","example":[{"value":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","count":0}]},"Shared77ce0c49":{"type":"object","properties":{"kind":{"type":"string","const":"after_completion","description":"Selects the value variant."},"stepKeys":{"minItems":1,"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Step keys, in order."},"offset":{"$ref":"#/components/schemas/Shared794bb079","description":"Offset for this record."},"snap":{"$ref":"#/components/schemas/Shared881e90d3","description":"Snap for this record."}},"required":["kind","stepKeys","offset"],"additionalProperties":false,"example":{"kind":"after_completion","stepKeys":["example-slug"],"offset":{"days":0,"unit":"calendar"}}},"Shareda12fe0e8":{"maxItems":500,"type":"array","items":{"$ref":"#/components/schemas/Shared33435be9"},"description":"Timing, in order.","example":[{"target":{"rootKey":"example-slug","path":["example-slug"]},"prerequisite":{"rootKey":"example-slug","path":["example-slug"]},"offsetDays":0}]},"Sharede0cb5f31":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"title":{"type":"string","description":"Human-readable title."},"startsAt":{"$ref":"#/components/schemas/Shared4e634e74","description":"Starts time as an ISO 8601 instant."},"endsAt":{"$ref":"#/components/schemas/Shared6ce806cd","description":"Ends time as an ISO 8601 instant."},"kind":{"type":"string","enum":["event","protected"],"description":"Selects the value variant."}},"required":["id","title","startsAt","endsAt","kind"],"example":{"id":"example","title":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","kind":"event"}},"Shareda7602426":{"type":"array","items":{"$ref":"#/components/schemas/Shared28edc1ba"},"description":"Options, in order.","example":[{"value":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","count":0}]},"Shared67c94c3c":{"type":"array","items":{"$ref":"#/components/schemas/Shared2cc8db04"},"description":"Options, in order.","example":[{"value":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","count":0}]},"Sharedcffda318":{"type":"object","properties":{"groupBy":{"$ref":"#/components/schemas/Shared303660a6","description":"Group by for this record."},"subGroupBy":{"$ref":"#/components/schemas/Sharedaa8436e4","description":"Sub group by for this record."},"orderBy":{"$ref":"#/components/schemas/Sharedd32759a6","description":"Order by for this record."}},"required":["groupBy","subGroupBy","orderBy"],"additionalProperties":false,"description":"Arrangement for this record.","example":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]}},"Shared9416342e":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for a reusable, versioned process definition that can create work."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"name":{"type":"string","description":"Human-readable name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Longer plain-language description."},"status":{"type":"string","enum":["draft","published","archived"],"description":"Current lifecycle state."},"latestRevisionNumber":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Latest revision number for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."}},"required":["id","organizationId","name","description","status","latestRevisionNumber","createdAt","updatedAt"],"additionalProperties":false,"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","description":"example","status":"draft","latestRevisionNumber":1,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}},"Sharedc3a13ad9":{"type":"array","items":{"$ref":"#/components/schemas/Shared42a688f9"},"description":"Options, in order.","example":[{"value":"none","label":"example","count":0}]},"Sharedeb702a60":{"type":"array","items":{"$ref":"#/components/schemas/Shared457edd78"},"description":"Options, in order.","example":[{"value":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","count":0}]},"Shared30469f2a":{"type":"object","properties":{"startDate":{"$ref":"#/components/schemas/Shared20c14654","description":"Start date in YYYY-MM-DD format."},"dueDate":{"$ref":"#/components/schemas/Shared3e1b254e","description":"Due date in YYYY-MM-DD format."},"targetDate":{"$ref":"#/components/schemas/Shared630c2f05","description":"Target date in YYYY-MM-DD format."}},"additionalProperties":false,"description":"Dates for this record.","example":{}},"Sharedc6de327c":{"type":"object","properties":{"kind":{"type":"string","const":"publication","description":"Selects the value variant."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"selection":{"$ref":"#/components/schemas/Sharedf9d1044f","description":"Selection for this record."}},"required":["kind","organizationId","workTypeId","selection"],"additionalProperties":false,"example":{"kind":"publication","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"}}},"Shared35ad3b5e":{"type":"object","properties":{"title":{"type":"string","minLength":1,"description":"Human-readable title."},"summary":{"type":"string","maxLength":200,"description":"Short plain-language summary."},"description":{"type":"string","description":"Longer plain-language description."},"priority":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."},"state":{"type":"string","minLength":1,"description":"Current lifecycle state."},"labelIds":{"$ref":"#/components/schemas/Shared871ac7bd","description":"Label ids for this record."},"estimate":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Estimate for this record."},"estimateMinutes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Estimate minutes for this record."}},"required":["title"],"additionalProperties":false,"description":"Fields for this record.","example":{"title":"example"}},"Sharedcd9a29b6":{"type":"object","properties":{"kind":{"type":"string","const":"weekly","description":"Selects the value variant."},"interval":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Interval for this record."},"weekdays":{"minItems":1,"type":"array","items":{"type":"string","enum":["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]},"description":"Weekdays, in order."},"startOffsetDays":{"default":0,"type":"integer","minimum":-36500,"maximum":36500,"description":"Start offset days for this record."},"end":{"$ref":"#/components/schemas/Shared0db1d831","description":"End for this record."}},"required":["kind","weekdays"],"additionalProperties":false,"example":{"kind":"weekly","weekdays":["monday"]}},"Sharedb3ee87cf":{"type":"array","items":{"$ref":"#/components/schemas/Sharede0cb5f31"},"description":"Fixed intervals, in order.","example":[{"id":"example","title":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","kind":"event"}]},"Sharedfc17008c":{"type":"object","properties":{"path":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"string"},"description":"Canonical path for this resource."},"key":{"type":"string","description":"Stable machine-readable key."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."},"mutable":{"description":"False for read-only groups that cannot receive assignment mutations.","type":"boolean"}},"required":["path","key","label","count"],"additionalProperties":false,"example":{"path":["example"],"key":"example","label":"example","count":0}},"Sharedd1d6073e":{"type":"object","properties":{"targetType":{"type":"string","const":"task","description":"Target type for this record."},"title":{"type":"string","description":"Human-readable title."},"summary":{"type":"string","maxLength":200,"description":"Short plain-language summary."},"description":{"type":"string","description":"Longer plain-language description."},"priority":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."},"state":{"type":"string","minLength":1,"description":"Current lifecycle state."},"labelIds":{"$ref":"#/components/schemas/Shared871ac7bd","description":"Label ids for this record."},"estimate":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Estimate for this record."},"estimateMinutes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Estimate minutes for this record."}},"required":["targetType"],"additionalProperties":false,"example":{"targetType":"task"}},"Shared707d5f9a":{"type":"array","items":{"$ref":"#/components/schemas/Sharedfc17008c"},"description":"Groups, in order.","example":[{"path":["example"],"key":"example","label":"example","count":0}]},"Shared51d1ed54":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Sharedd19098b0","description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false,"example":{"value":"on_track","label":"example","count":0}},"Shared38de4188":{"type":"object","properties":{"kind":{"type":"string","const":"yearly","description":"Selects the value variant."},"interval":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Interval for this record."},"month":{"type":"integer","minimum":1,"maximum":12,"description":"Month for this record."},"day":{"type":"integer","minimum":1,"maximum":31,"description":"Day for this record."},"overflow":{"default":"skip","type":"string","enum":["skip","last_day"],"description":"Allowed overflow value."},"startOffsetDays":{"default":0,"type":"integer","minimum":-36500,"maximum":36500,"description":"Start offset days for this record."},"end":{"$ref":"#/components/schemas/Shared0db1d831","description":"End for this record."}},"required":["kind","month","day"],"additionalProperties":false,"example":{"kind":"yearly","month":1,"day":1}},"Sharedf7751fda":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"organization","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Sharedcc936be7"},{"$ref":"#/components/schemas/Sharedfc2dce66"},{"$ref":"#/components/schemas/Shared37f7c188"}],"description":"Context for this record.","example":{"kind":"organization"}},"Shared256f6195":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"summary":{"anyOf":[{"type":"string","maxLength":280},{"type":"null"}],"description":"Short plain-language summary."},"description":{"type":"string","description":"Longer plain-language description."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared87b03b06","description":"Health for this record."},"priority":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."},"labelIds":{"$ref":"#/components/schemas/Shared871ac7bd","description":"Label ids for this record."}},"additionalProperties":false,"description":"Fields for this record.","example":{}},"Shared8b748a2d":{"type":"object","properties":{"title":{"type":"string","minLength":1,"description":"Human-readable title."},"summary":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"description":"Short plain-language summary."},"description":{"type":"string","description":"Longer plain-language description."},"priority":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."},"state":{"type":"string","minLength":1,"description":"Current lifecycle state."},"labelIds":{"$ref":"#/components/schemas/Shared871ac7bd","description":"Label ids for this record."},"estimate":{"description":"Coarse effort estimate in abstract points (integer). Distinct from `estimateMinutes`.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"estimateMinutes":{"$ref":"#/components/schemas/Shareda9e3bb2c","description":"Estimate minutes for this record."}},"additionalProperties":false,"description":"Fields for this record.","example":{}},"Shared5945b2cc":{"type":"array","items":{"$ref":"#/components/schemas/Shared51d1ed54"},"description":"Options, in order.","example":[{"value":"on_track","label":"example","count":0}]},"Sharedffbc0362":{"anyOf":[{"$ref":"#/components/schemas/Sharedcb769d89"},{"$ref":"#/components/schemas/Shared2261dc31"}],"example":{"kind":"object","objectId":"example","property":"example","before":"example","after":"example"}},"Shared69fa38b2":{"default":{"kind":"organization"},"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"organization","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Sharedcc936be7"},{"$ref":"#/components/schemas/Sharedfc2dce66"},{"$ref":"#/components/schemas/Shared37f7c188"}],"description":"Context for this record.","example":{"kind":"organization"}},"Shared6fb93943":{"maxItems":10000,"type":"array","items":{"$ref":"#/components/schemas/Sharedffbc0362"},"description":"Entries, in order.","example":[{"kind":"object","objectId":"example","property":"example","before":"example","after":"example"}]},"Shared6a3edfd6":{"type":"object","properties":{"rootKey":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Root key for this record."},"project":{"$ref":"#/components/schemas/Sharede5a02848","description":"Project for this record."},"milestone":{"$ref":"#/components/schemas/Shared433ca09d","description":"Milestone for this record."},"parentTask":{"$ref":"#/components/schemas/Sharedb86bb150","description":"Parent task for this record."}},"required":["rootKey"],"additionalProperties":false,"example":{"rootKey":"example-slug"}},"Shareded0472f8":{"oneOf":[{"$ref":"#/components/schemas/Shared55d89477"},{"$ref":"#/components/schemas/Shared362448b0"},{"$ref":"#/components/schemas/Shared8d175974"}],"description":"Stored or returned value.","example":{"kind":"absolute","value":"2026-09-19"}},"Shared05a1a221":{"oneOf":[{"$ref":"#/components/schemas/Shared55d89477"},{"$ref":"#/components/schemas/Shared362448b0"},{"$ref":"#/components/schemas/Shared8d175974"}],"description":"Value used by the comparison.","example":{"kind":"absolute","value":"2026-09-19"}},"Shared2899acba":{"type":"object","properties":{"field":{"type":"string","const":"name","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared10fc91de","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false,"example":{"field":"name","options":[{"value":"example","label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}},"Shared8f28f263":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"isBase":{"type":"boolean","description":"Whether base."},"archived":{"type":"boolean","description":"Archived for this record."},"versionNumber":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Version number for this record."},"latestVersionNumber":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Latest version number for this record."}},"required":["id","name","icon","isBase","archived","versionNumber","latestVersionNumber"],"description":"Work template for this record.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","icon":{"kind":"symbol","name":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"},"isBase":false,"archived":false,"versionNumber":1,"latestVersionNumber":1}},"Sharededa1230e":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."},"externalActorId":{"type":"string","description":"Identifies the referenced external actor."},"integrationId":{"type":"string","description":"Identifies the referenced integration."},"provider":{"type":"string","description":"Provider for this record."},"externalId":{"type":"string","description":"Identifies the referenced external."},"displayName":{"type":"string","description":"Display name for this record."},"avatarUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Avatar url for this record."},"canonicalDisplayName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Canonical display name for this record."},"canonicalAvatarUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Canonical avatar url for this record."},"actorId":{"$ref":"#/components/schemas/Sharedd3cc5dd4","description":"Identifies the referenced actor."},"field":{"type":"string","description":"Field the rule evaluates."}},"required":["id","externalActorId","integrationId","provider","externalId","displayName","avatarUrl","actorId","field"],"example":{"id":"example","externalActorId":"example","integrationId":"example","provider":"example","externalId":"example","displayName":"example","avatarUrl":"example","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","field":"example"}},"Shared33a387fe":{"type":"object","properties":{"field":{"type":"string","const":"status","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared8ff749e7","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false,"example":{"field":"status","options":[{"value":"example","label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}},"Shared144ab914":{"type":"object","properties":{"kind":{"type":"string","const":"anchor","description":"Selects the value variant."},"anchor":{"$ref":"#/components/schemas/Sharedfc910a86","description":"Anchor for this record."},"offset":{"$ref":"#/components/schemas/Shared147566fa","description":"Offset for this record."},"snap":{"$ref":"#/components/schemas/Shared881e90d3","description":"Snap for this record."}},"required":["kind","anchor","offset"],"additionalProperties":false,"example":{"kind":"anchor","anchor":{"kind":"parent"},"offset":{"days":0,"unit":"calendar"}}},"Shared59e238d1":{"type":"object","properties":{"origin":{"type":"string","const":"local","description":"Origin for this record."},"id":{"type":"string","description":"The stable identifier for this resource."},"ref":{"$ref":"#/components/schemas/Sharedd4c71bc1","description":"Ref for this record."},"entityKind":{"type":"string","enum":["task","project","program","initiative","cycle","milestone","team","actor","agent_session","comment","update"],"description":"Allowed entity kind value."},"title":{"type":"string","description":"Human-readable title."},"subtitle":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Subtitle for this record."},"href":{"type":"string","description":"URL a client can open."},"score":{"type":"number","description":"Score for this record."}},"required":["origin","id","ref","entityKind","title","subtitle","href","score"],"example":{"origin":"local","id":"example","ref":{"kind":"entity","entityKind":"task","entityId":"example"},"entityKind":"task","title":"example","subtitle":"example","href":"example","score":0}},"Shared2018e632":{"type":"object","properties":{"field":{"type":"string","const":"taskCount","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared2a0c6637","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false,"example":{"field":"taskCount","options":[{"value":0,"label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}},"Shared2dad32f2":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Sharedc730aa92","description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false,"example":{"value":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"label":"example","count":0}},"Sharedb10413ee":{"oneOf":[{"$ref":"#/components/schemas/Sharede27ee791"},{"$ref":"#/components/schemas/Shared362448b0"},{"$ref":"#/components/schemas/Shared8d175974"}],"description":"Stored or returned value.","example":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}},"Sharedf8563ccb":{"maxItems":500,"type":"array","items":{"$ref":"#/components/schemas/Shared6a3edfd6"},"description":"Placements, in order.","example":[{"rootKey":"example-slug"}]},"Sharedd71f4683":{"oneOf":[{"$ref":"#/components/schemas/Sharede27ee791"},{"$ref":"#/components/schemas/Shared362448b0"},{"$ref":"#/components/schemas/Shared8d175974"}],"description":"Value used by the comparison.","example":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}},"Shared6790cc10":{"type":"object","properties":{"bundleId":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"Identifies the referenced bundle."},"changeSetId":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"Identifies the referenced change set."},"mode":{"type":"string","enum":["private_drafts","published"],"description":"Allowed mode value."},"state":{"type":"string","enum":["installed","undone"],"description":"Current lifecycle state."},"roots":{"$ref":"#/components/schemas/Shared927cd36f","description":"Roots for this record."}},"required":["bundleId","changeSetId","mode","state","roots"],"additionalProperties":false,"description":"Receipt for this record.","example":{"bundleId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","changeSetId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","mode":"private_drafts","state":"installed","roots":[{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetType":"task"}]}},"Sharedf273c5a8":{"type":"array","items":{"$ref":"#/components/schemas/Sharededa1230e"},"description":"Source people, in order.","example":[{"id":"example","externalActorId":"example","integrationId":"example","provider":"example","externalId":"example","displayName":"example","avatarUrl":"example","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","field":"example"}]},"Shared0f8ba9fa":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Human-readable name."},"deviceType":{"type":"string","description":"Device type for this record."},"backedUp":{"type":"boolean","description":"Backed up for this record."},"transports":{"type":"array","items":{"type":"string"},"description":"Transports, in order."},"aaguid":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Aaguid for this record."},"createdAt":{"$ref":"#/components/schemas/Shared6b901672","description":"The record creation time as an ISO 8601 instant."},"lastUsedAt":{"$ref":"#/components/schemas/Shared331c666a","description":"Last used time as an ISO 8601 instant."}},"required":["id","name","deviceType","backedUp","transports","aaguid","createdAt","lastUsedAt"],"example":{"id":"example","name":"example","deviceType":"example","backedUp":false,"transports":["example"],"aaguid":"example","createdAt":"2026-09-19T12:00:00.000Z","lastUsedAt":"2026-09-19T12:00:00.000Z"}},"Shared1ec0f8df":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"organizationName":{"type":"string","description":"Organization name for this record."},"name":{"type":"string","description":"Human-readable name."},"status":{"$ref":"#/components/schemas/Sharedaa937908","description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared87b03b06","description":"Health for this record."},"crossWorkspace":{"type":"boolean","description":"Cross workspace for this record."}},"required":["id","organizationId","organizationName","name","status","health","crossWorkspace"],"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationName":"example","name":"example","status":"example","health":"on_track","crossWorkspace":false}},"Shared8493c94b":{"type":"object","properties":{"field":{"type":"string","const":"labels","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared30ac0e79","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false,"example":{"field":"labels","options":[{"value":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}},"Shared71b211d6":{"type":"array","items":{"$ref":"#/components/schemas/Shared2dad32f2"},"description":"Options, in order.","example":[{"value":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"label":"example","count":0}]},"Sharede3f99c56":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"The stable identifier for this resource."},"startsAt":{"$ref":"#/components/schemas/Shared4e634e74","description":"Starts time as an ISO 8601 instant."},"endsAt":{"$ref":"#/components/schemas/Shared6ce806cd","description":"Ends time as an ISO 8601 instant."},"allocations":{"$ref":"#/components/schemas/Shared577cb1d6","description":"Allocations for this record."},"pinned":{"type":"boolean","description":"Pinned for this record."},"placementSource":{"type":"string","enum":["automatic","manual"],"description":"Allowed placement source value."}},"required":["id","startsAt","endsAt","allocations","pinned"],"example":{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}},"Shared8ddd7c57":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"run","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Sharedc1d58b96"},{"$ref":"#/components/schemas/Shared62a88beb"}],"description":"Source for this record.","example":{"kind":"run"}},"Shared99b2419b":{"type":"object","properties":{"field":{"type":"string","const":"workTypeId","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shareda7602426","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false,"example":{"field":"workTypeId","options":[{"value":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}},"Shareda73c1112":{"type":"object","properties":{"field":{"type":"string","const":"initiatives","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared67c94c3c","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false,"example":{"field":"initiatives","options":[{"value":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}},"Sharedb7e46edd":{"anyOf":[{"$ref":"#/components/schemas/Shared1ec0f8df"},{"type":"null"}],"description":"Parent for this record.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationName":"example","name":"example","status":"example","health":"on_track","crossWorkspace":false}},"Sharedaa700262":{"type":"object","properties":{"field":{"type":"string","const":"priority","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Sharedc3a13ad9","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false,"example":{"field":"priority","options":[{"value":"none","label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}},"Shared1f9936eb":{"type":"object","properties":{"field":{"type":"string","const":"program","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Sharedeb702a60","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false,"example":{"field":"program","options":[{"value":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}},"Sharedfabfac03":{"type":"array","items":{"$ref":"#/components/schemas/Sharede3f99c56"},"description":"Sessions, in order.","example":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]},"Shared76e9bac1":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"organization","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Sharedcc936be7"},{"$ref":"#/components/schemas/Shared46493a42"},{"$ref":"#/components/schemas/Sharedfc2dce66"},{"$ref":"#/components/schemas/Shared37f7c188"}],"description":"Context for this record.","example":{"kind":"organization"}},"Shareda30c18f9":{"default":{"kind":"organization"},"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"organization","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Sharedcc936be7"},{"$ref":"#/components/schemas/Shared46493a42"},{"$ref":"#/components/schemas/Sharedfc2dce66"},{"$ref":"#/components/schemas/Shared37f7c188"}],"description":"Context for this record.","example":{"kind":"organization"}},"Shared84da0154":{"type":"object","properties":{"identity":{"$ref":"#/components/schemas/Shared709850aa","description":"Identity for this record."},"slug":{"type":"string","maxLength":100,"pattern":"^[a-z][a-z0-9-]*$","description":"Slug for this record."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"targetType":{"$ref":"#/components/schemas/Shared07f21ed5","description":"Target type for this record."},"category":{"$ref":"#/components/schemas/Sharedb7dfbe3a","description":"Category for this record."},"forks":{"type":"array","items":{"type":"string","enum":["startup","nonprofit","agency","personal"]},"description":"Forks, in order."},"use":{"type":"string","minLength":1,"maxLength":300,"description":"Use for this record."}},"required":["identity","slug","name","targetType","category","forks","use"],"additionalProperties":false,"example":{"identity":{"kind":"catalog","release":1,"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","catalogVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"slug":"example-slug","name":"example","targetType":"task","category":"intake","forks":["startup"],"use":"example"}},"Shared9aa03d77":{"type":"object","properties":{"field":{"type":"string","const":"health","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared5945b2cc","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false,"example":{"field":"health","options":[{"value":"on_track","label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}},"Sharedce6069de":{"type":"object","properties":{"kind":{"type":"string","const":"daily","description":"Selects the value variant."},"interval":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Interval for this record."},"startDate":{"$ref":"#/components/schemas/Shared7e755956","description":"Start date in YYYY-MM-DD format."},"timezone":{"type":"string","minLength":1,"description":"Timezone for this record."},"end":{"$ref":"#/components/schemas/Shared70d1ec92","description":"End for this record."}},"required":["kind","startDate","timezone"],"additionalProperties":false,"example":{"kind":"daily","startDate":"2026-09-19","timezone":"example"}},"Sharede48dc288":{"oneOf":[{"$ref":"#/components/schemas/Shared153ad2c5"},{"$ref":"#/components/schemas/Shared623508ee"}],"description":"Schedule for this record.","example":{"type":"one_off_all_day","date":"2026-09-19","timezone":"example"}},"Sharedfe566f51":{"type":"object","properties":{"kind":{"type":"string","enum":["program","project"],"description":"Selects the value variant."},"id":{"type":"string","description":"The stable identifier for this resource."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"name":{"type":"string","description":"Human-readable name."},"summary":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Short plain-language summary."},"status":{"type":"string","description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared87b03b06","description":"Health for this record."},"direct":{"type":"boolean","description":"Direct for this record."},"inheritedThroughInitiativeId":{"$ref":"#/components/schemas/Sharedc9baf9d1","description":"Identifies the referenced inherited through initiative."},"programId":{"$ref":"#/components/schemas/Shared1dfee4b2","description":"Identifies the referenced program."}},"required":["kind","id","organizationId","name","status","health","direct","inheritedThroughInitiativeId"],"example":{"kind":"program","id":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","health":"on_track","direct":false,"inheritedThroughInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedbc18337a":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dueDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"on","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared05a1a221","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"dueDate","operator":"on","operand":{"kind":"absolute","value":"2026-09-19"}}},"Shared80a73568":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"startDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"on","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared05a1a221","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"startDate","operator":"on","operand":{"kind":"absolute","value":"2026-09-19"}}},"Shared7081dd4b":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dueDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"after","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared05a1a221","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"dueDate","operator":"after","operand":{"kind":"absolute","value":"2026-09-19"}}},"Sharedc0ba5b0d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"targetDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"on","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared05a1a221","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"targetDate","operator":"on","operand":{"kind":"absolute","value":"2026-09-19"}}},"Shared4a043400":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dueDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"before","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared05a1a221","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"dueDate","operator":"before","operand":{"kind":"absolute","value":"2026-09-19"}}},"Shared5b74ad75":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"startDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"after","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared05a1a221","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"startDate","operator":"after","operand":{"kind":"absolute","value":"2026-09-19"}}},"Shared5b6c9fb6":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"startDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"before","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared05a1a221","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"startDate","operator":"before","operand":{"kind":"absolute","value":"2026-09-19"}}},"Sharedb047acf2":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"targetDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"after","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared05a1a221","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"targetDate","operator":"after","operand":{"kind":"absolute","value":"2026-09-19"}}},"Shared6dc671bb":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dueDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"onOrAfter","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared05a1a221","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"dueDate","operator":"onOrAfter","operand":{"kind":"absolute","value":"2026-09-19"}}},"Shareddf50f367":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"targetDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"before","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared05a1a221","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"targetDate","operator":"before","operand":{"kind":"absolute","value":"2026-09-19"}}},"Sharedbc407c70":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dueDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"onOrBefore","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared05a1a221","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"dueDate","operator":"onOrBefore","operand":{"kind":"absolute","value":"2026-09-19"}}},"Shared18b8ffcd":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"startDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"onOrAfter","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared05a1a221","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"startDate","operator":"onOrAfter","operand":{"kind":"absolute","value":"2026-09-19"}}},"Shared9be228ee":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"startDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"onOrBefore","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared05a1a221","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"startDate","operator":"onOrBefore","operand":{"kind":"absolute","value":"2026-09-19"}}},"Shared751d770a":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"targetDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"onOrAfter","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared05a1a221","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"targetDate","operator":"onOrAfter","operand":{"kind":"absolute","value":"2026-09-19"}}},"Shared4eb3d29f":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"targetDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"onOrBefore","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared05a1a221","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"targetDate","operator":"onOrBefore","operand":{"kind":"absolute","value":"2026-09-19"}}},"Shared10048f0b":{"type":"array","items":{"$ref":"#/components/schemas/Sharedfe566f51"},"description":"Connected work, in order.","example":[{"kind":"program","id":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","health":"on_track","direct":false,"inheritedThroughInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]},"Shareda8651b04":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Stable machine-readable key."},"projectKey":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Project key for this record."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"description":{"type":"string","description":"Longer plain-language description."},"sort":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Sort for this record."},"targetOffsetDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Target offset days for this record."},"timing":{"$ref":"#/components/schemas/Shared524dfa84","description":"Timing for this record."}},"required":["key","projectKey","name"],"additionalProperties":false,"example":{"key":"123e4567-e89b-42d3-a456-426614174000","projectKey":"123e4567-e89b-42d3-a456-426614174000","name":"example"}},"Sharedf1bf8675":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"createdAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"on","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd71f4683","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"createdAt","operator":"on","operand":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}}},"Shared6d5d2698":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"updatedAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"on","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd71f4683","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"updatedAt","operator":"on","operand":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}}},"Sharedba16188a":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"createdAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"after","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd71f4683","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"createdAt","operator":"after","operand":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}}},"Shared94f70405":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"updatedAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"after","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd71f4683","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"updatedAt","operator":"after","operand":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}}},"Sharedc22b0112":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"latestUpdate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"on","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd71f4683","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"latestUpdate","operator":"on","operand":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}}},"Shared621a0f1f":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"createdAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"before","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd71f4683","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"createdAt","operator":"before","operand":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}}},"Shared010b0cc6":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"updatedAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"before","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd71f4683","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"updatedAt","operator":"before","operand":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}}},"Shared07615093":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"latestUpdate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"after","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd71f4683","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"latestUpdate","operator":"after","operand":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}}},"Shared583e45b2":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"createdAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"onOrAfter","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd71f4683","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"createdAt","operator":"onOrAfter","operand":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}}},"Shareda144e87d":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"updatedAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"onOrAfter","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd71f4683","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"updatedAt","operator":"onOrAfter","operand":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}}},"Sharedfc85a448":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"latestUpdate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"before","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd71f4683","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"latestUpdate","operator":"before","operand":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}}},"Shared930bda27":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"createdAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"onOrBefore","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd71f4683","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"createdAt","operator":"onOrBefore","operand":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}}},"Shared70c8bade":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"updatedAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"onOrBefore","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd71f4683","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"updatedAt","operator":"onOrBefore","operand":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}}},"Shared675cef93":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"latestUpdate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"onOrAfter","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd71f4683","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"latestUpdate","operator":"onOrAfter","operand":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}}},"Shared15a0f148":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"latestUpdate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"onOrBefore","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedd71f4683","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"latestUpdate","operator":"onOrBefore","operand":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"}}},"Sharedc65cf045":{"type":"object","properties":{"origin":{"type":"string","const":"external","description":"Origin for this record."},"id":{"type":"string","description":"The stable identifier for this resource."},"ref":{"$ref":"#/components/schemas/Sharedd4c71bc1","description":"Ref for this record."},"provider":{"type":"string","enum":["web","google_drive","onedrive","sharepoint","notion","dropbox","box","figma","confluence"],"description":"Allowed provider value."},"resourceType":{"$ref":"#/components/schemas/Shared33f46516","description":"Resource type for this record."},"title":{"type":"string","description":"Human-readable title."},"subtitle":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Subtitle for this record."},"url":{"type":"string","description":"Absolute URL for this resource."},"iconUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Icon url for this record."},"modifiedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Modified time as an ISO 8601 instant."},"score":{"type":"number","description":"Score for this record."}},"required":["origin","id","ref","provider","resourceType","title","subtitle","url","iconUrl","modifiedAt","score"],"example":{"origin":"external","id":"example","ref":{"kind":"entity","entityKind":"task","entityId":"example"},"provider":"web","resourceType":"document","title":"example","subtitle":"example","url":"https://api.clearthedocket.com/v1/example","iconUrl":"example","modifiedAt":"2026-09-19T12:00:00.000Z","score":0}},"Sharedf4e09281":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"organizationName":{"type":"string","description":"Organization name for this record."},"name":{"type":"string","description":"Human-readable name."},"status":{"$ref":"#/components/schemas/Sharedaa937908","description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared87b03b06","description":"Health for this record."},"crossWorkspace":{"type":"boolean","description":"Cross workspace for this record."},"parentInitiativeId":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"parentLinkId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"A 26-char Crockford base-32 ULID matching `^[0-9A-HJKMNP-TV-Z]{26}$`.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"required":["id","organizationId","organizationName","name","status","health","crossWorkspace","parentInitiativeId","parentLinkId"],"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationName":"example","name":"example","status":"example","health":"on_track","crossWorkspace":false,"parentInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentLinkId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared304fa0db":{"type":"object","properties":{"kind":{"type":"string","const":"weekly","description":"Selects the value variant."},"interval":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Interval for this record."},"startDate":{"$ref":"#/components/schemas/Shared7e755956","description":"Start date in YYYY-MM-DD format."},"timezone":{"type":"string","minLength":1,"description":"Timezone for this record."},"end":{"$ref":"#/components/schemas/Shared70d1ec92","description":"End for this record."},"weekdays":{"minItems":1,"type":"array","items":{"type":"string","enum":["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]},"description":"Weekdays, in order."}},"required":["kind","startDate","timezone","weekdays"],"additionalProperties":false,"example":{"kind":"weekly","startDate":"2026-09-19","timezone":"example","weekdays":["monday"]}},"Shared7650e913":{"type":"object","properties":{"commandId":{"type":"string","minLength":1,"maxLength":200,"description":"Identifies the referenced command."},"objectKind":{"type":"string","enum":["task","project"],"description":"Allowed object kind value."},"action":{"$ref":"#/components/schemas/Shared87e5718d","description":"Action for this record."},"entries":{"$ref":"#/components/schemas/Shared6fb93943","description":"Entries for this record."}},"required":["commandId","objectKind","action","entries"],"description":"Receipt for this record.","example":{"commandId":"example","objectKind":"task","action":"replace_property","entries":[{"kind":"object","objectId":"example","property":"example","before":"example","after":"example"}]}},"Sharedaa8d2720":{"type":"object","properties":{"field":{"type":"string","const":"owner","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared71b211d6","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false,"example":{"field":"owner","options":[{"value":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}},"Shared77897405":{"type":"object","properties":{"field":{"type":"string","const":"creator","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared71b211d6","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false,"example":{"field":"creator","options":[{"value":{"kind":"actor","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}},"Shareda6b370a7":{"type":"object","properties":{"programPath":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Program path, in order."},"programName":{"type":"string","description":"Program name for this record."},"key":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Stable machine-readable key."},"name":{"type":"string","minLength":1,"maxLength":120,"description":"Human-readable name."},"targetType":{"type":"string","enum":["task","project"],"description":"Allowed target type value."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"selection":{"type":"string","enum":["latest","pinned"],"description":"Allowed selection value."},"workTypeVersionId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},{"type":"null"}],"description":"Identifies the referenced work type version."},"titlePattern":{"type":"string","minLength":1,"maxLength":256,"description":"Title pattern for this record."},"cadenceKind":{"type":"string","enum":["daily","weekly","monthly","yearly"],"description":"Allowed cadence kind value."},"interval":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Interval for this record."},"firstRunDate":{"$ref":"#/components/schemas/Shared8efbd587","description":"First run date in YYYY-MM-DD format."},"timezone":{"type":"string","minLength":1,"description":"Timezone for this record."}},"required":["programPath","programName","key","name","targetType","workTypeId","selection","workTypeVersionId","titlePattern","cadenceKind","interval","firstRunDate","timezone"],"additionalProperties":false,"example":{"programPath":["example-slug"],"programName":"example","key":"example-slug","name":"example","targetType":"task","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":"latest","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","titlePattern":"example","cadenceKind":"daily","interval":1,"firstRunDate":"2026-09-19","timezone":"example"}},"Shared812e8bdb":{"type":"object","properties":{"kind":{"type":"string","const":"program","description":"Selects the value variant."},"path":{"minItems":1,"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."},"fields":{"$ref":"#/components/schemas/Sharedb419d96d","description":"Fields for this record."},"teamId":{"$ref":"#/components/schemas/Shared92c7d287","description":"Identifies the referenced team."},"responsibleActorId":{"$ref":"#/components/schemas/Shared7aa161ac","description":"Identifies the referenced responsible actor."}},"required":["kind","path"],"additionalProperties":false,"example":{"kind":"program","path":["example-slug"]}},"Sharedd2e421a7":{"type":"object","properties":{"kind":{"type":"string","const":"monthly","description":"Selects the value variant."},"interval":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Interval for this record."},"pattern":{"$ref":"#/components/schemas/Sharedd2379e1d","description":"Pattern for this record."},"startOffsetDays":{"default":0,"type":"integer","minimum":-36500,"maximum":36500,"description":"Start offset days for this record."},"end":{"$ref":"#/components/schemas/Shared0db1d831","description":"End for this record."}},"required":["kind","pattern"],"additionalProperties":false,"example":{"kind":"monthly","pattern":{"kind":"day_of_month","day":1}}},"Sharedd04957f2":{"type":"array","items":{"$ref":"#/components/schemas/Sharedf4e09281"},"description":"Children, in order.","example":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationName":"example","name":"example","status":"example","health":"on_track","crossWorkspace":false,"parentInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentLinkId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]},"Sharedf1ac07c7":{"type":"object","properties":{"kind":{"type":"string","const":"yearly","description":"Selects the value variant."},"interval":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Interval for this record."},"startDate":{"$ref":"#/components/schemas/Shared7e755956","description":"Start date in YYYY-MM-DD format."},"timezone":{"type":"string","minLength":1,"description":"Timezone for this record."},"end":{"$ref":"#/components/schemas/Shared70d1ec92","description":"End for this record."},"month":{"type":"integer","minimum":1,"maximum":12,"description":"Month for this record."},"day":{"type":"integer","minimum":1,"maximum":31,"description":"Day for this record."},"overflow":{"default":"skip","type":"string","enum":["skip","last_day"],"description":"Allowed overflow value."}},"required":["kind","startDate","timezone","month","day"],"additionalProperties":false,"example":{"kind":"yearly","startDate":"2026-09-19","timezone":"example","month":1,"day":1}},"Shared4070d926":{"default":[],"maxItems":10000,"type":"array","items":{"$ref":"#/components/schemas/Shareda6b370a7"},"description":"Default schedules, in order.","example":[]},"Shared89ac58bc":{"oneOf":[{"$ref":"#/components/schemas/Sharedbc1e95de"},{"$ref":"#/components/schemas/Sharedbf4c3a13"},{"$ref":"#/components/schemas/Sharedc6de327c"}],"example":{"kind":"catalog","slug":"example-slug","release":1}},"Shared2c74b00d":{"type":"object","properties":{"version":{"type":"number","const":2,"description":"Schema or contract version for this value."},"target":{"type":"string","const":"program","description":"Target for this record."},"filter":{"anyOf":[{"$ref":"#/components/schemas/__schema2"},{"type":"null"}],"description":"Filter for this record."},"arrangement":{"$ref":"#/components/schemas/Shared86cf1e4a","description":"Arrangement for this record."},"presentation":{"$ref":"#/components/schemas/Sharedbc4d129d","description":"Presentation for this record."}},"required":["version","target","filter","arrangement","presentation"],"additionalProperties":false,"example":{"version":2,"target":"program","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}},"Sharedc83deef0":{"type":"object","properties":{"version":{"type":"number","const":2,"description":"Schema or contract version for this value."},"target":{"type":"string","const":"program","description":"Target for this record."},"filter":{"anyOf":[{"$ref":"#/components/schemas/__schema2"},{"type":"null"}],"description":"Filter for this record."},"arrangement":{"$ref":"#/components/schemas/Shared86cf1e4a","description":"Arrangement for this record."},"presentation":{"$ref":"#/components/schemas/Sharedbc4d129d","description":"Presentation for this record."}},"required":["version","target","filter","arrangement","presentation"],"additionalProperties":false,"description":"Definition for this record.","example":{"version":2,"target":"program","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}},"Sharedc43ad426":{"type":"object","properties":{"version":{"type":"number","const":2,"description":"Schema or contract version for this value."},"target":{"type":"string","const":"program","description":"Target for this record."},"filter":{"anyOf":[{"$ref":"#/components/schemas/__schema4"},{"type":"null"}],"description":"Filter for this record."},"arrangement":{"$ref":"#/components/schemas/Shared86cf1e4a","description":"Arrangement for this record."},"presentation":{"$ref":"#/components/schemas/Sharedbc4d129d","description":"Presentation for this record."}},"required":["version","target","filter","arrangement","presentation"],"additionalProperties":false,"description":"Definition for this record.","example":{"version":2,"target":"program","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}},"Shared3595b9e7":{"type":"array","prefixItems":[{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"absolute"},"value":{"type":"string","format":"date","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])))$"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"relative"},"anchor":{"type":"string","enum":["today","now"]},"unit":{"type":"string","enum":["day","week","month","quarter","year"]},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["kind","anchor","unit","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"preset"},"value":{"type":"string","enum":["today","yesterday","tomorrow","this-week","next-week","last-week","this-month","next-month","last-month"]}},"required":["kind","value"],"additionalProperties":false}]},{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"absolute"},"value":{"type":"string","format":"date","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])))$"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"relative"},"anchor":{"type":"string","enum":["today","now"]},"unit":{"type":"string","enum":["day","week","month","quarter","year"]},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["kind","anchor","unit","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"preset"},"value":{"type":"string","enum":["today","yesterday","tomorrow","this-week","next-week","last-week","this-month","next-month","last-month"]}},"required":["kind","value"],"additionalProperties":false}]}],"description":"Value used by the comparison.","example":[]},"Sharedc60256e5":{"type":"object","properties":{"version":{"type":"number","const":2,"description":"Schema or contract version for this value."},"target":{"type":"string","const":"initiative","description":"Target for this record."},"filter":{"anyOf":[{"$ref":"#/components/schemas/__schema3"},{"type":"null"}],"description":"Filter for this record."},"arrangement":{"$ref":"#/components/schemas/Sharedd3a0cf59","description":"Arrangement for this record."},"presentation":{"$ref":"#/components/schemas/Shareddc0fb81b","description":"Presentation for this record."}},"required":["version","target","filter","arrangement","presentation"],"additionalProperties":false,"example":{"version":2,"target":"initiative","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}},"Sharedfe90b668":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Occurrence — one durable expected run of a recurrence series."},"seriesId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a RecurrenceSeries — a schedule that expects process occurrences."},"scheduledFor":{"$ref":"#/components/schemas/Shared253d80d4","description":"Scheduled for for this record."},"originalScheduledFor":{"$ref":"#/components/schemas/Shared6b1ef481","description":"Original scheduled for for this record."},"status":{"type":"string","enum":["expected","materialized","completed","skipped","canceled","needs_resolution","superseded","failed"],"description":"Current lifecycle state."},"processInstanceId":{"$ref":"#/components/schemas/Shared92f4ddd1","description":"Identifies the referenced process instance."},"taskId":{"$ref":"#/components/schemas/Shared557aedf0","description":"Identifies the referenced task."},"projectId":{"$ref":"#/components/schemas/Shared969dbcd0","description":"Identifies the referenced project."},"resolvedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Resolved time as an ISO 8601 instant."}},"required":["id","seriesId","scheduledFor","originalScheduledFor","status","processInstanceId","taskId","resolvedAt"],"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","seriesId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","scheduledFor":"2026-09-19","originalScheduledFor":"2026-09-19","status":"expected","processInstanceId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","resolvedAt":"2026-09-19T12:00:00.000Z"}},"Shared3fe8b1d3":{"minItems":1,"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/Shared89ac58bc"},"description":"Roots, in order.","example":[{"kind":"catalog","slug":"example-slug","release":1}]},"Sharedcaa5cf08":{"type":"object","properties":{"version":{"type":"number","const":2,"description":"Schema or contract version for this value."},"target":{"type":"string","const":"initiative","description":"Target for this record."},"filter":{"anyOf":[{"$ref":"#/components/schemas/__schema3"},{"type":"null"}],"description":"Filter for this record."},"arrangement":{"$ref":"#/components/schemas/Sharedd3a0cf59","description":"Arrangement for this record."},"presentation":{"$ref":"#/components/schemas/Shareddc0fb81b","description":"Presentation for this record."}},"required":["version","target","filter","arrangement","presentation"],"additionalProperties":false,"description":"Definition for this record.","example":{"version":2,"target":"initiative","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}},"Sharedc45e3709":{"type":"object","properties":{"version":{"type":"number","const":2,"description":"Schema or contract version for this value."},"target":{"type":"string","const":"initiative","description":"Target for this record."},"filter":{"anyOf":[{"$ref":"#/components/schemas/__schema6"},{"type":"null"}],"description":"Filter for this record."},"arrangement":{"$ref":"#/components/schemas/Sharedd3a0cf59","description":"Arrangement for this record."},"presentation":{"$ref":"#/components/schemas/Shareddc0fb81b","description":"Presentation for this record."}},"required":["version","target","filter","arrangement","presentation"],"additionalProperties":false,"description":"Definition for this record.","example":{"version":2,"target":"initiative","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}},"Shared47cd48cc":{"type":"array","items":{"$ref":"#/components/schemas/Sharedfe90b668"},"description":"Occurrences, in order.","example":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","seriesId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","scheduledFor":"2026-09-19","originalScheduledFor":"2026-09-19","status":"expected","processInstanceId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","resolvedAt":"2026-09-19T12:00:00.000Z"}]},"Shareda596227f":{"oneOf":[{"$ref":"#/components/schemas/Shared4a8f79da"},{"$ref":"#/components/schemas/Sharedd471097a"},{"$ref":"#/components/schemas/Shareddd4b6cc4"}],"example":{"kind":"publication","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared85248d7c":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Shareded0472f8","description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false,"example":{"value":{"kind":"absolute","value":"2026-09-19"},"label":"example","count":0}},"Shared1875481c":{"oneOf":[{"$ref":"#/components/schemas/Shared4a8f79da"},{"$ref":"#/components/schemas/Sharedd471097a"},{"$ref":"#/components/schemas/Shareddd4b6cc4"}],"description":"Source for this record.","example":{"kind":"publication","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedb9b738df":{"type":"array","prefixItems":[{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"absolute"},"value":{"type":"string","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))$"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"relative"},"anchor":{"type":"string","enum":["today","now"]},"unit":{"type":"string","enum":["day","week","month","quarter","year"]},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["kind","anchor","unit","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"preset"},"value":{"type":"string","enum":["today","yesterday","tomorrow","this-week","next-week","last-week","this-month","next-month","last-month"]}},"required":["kind","value"],"additionalProperties":false}]},{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"absolute"},"value":{"type":"string","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))$"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"relative"},"anchor":{"type":"string","enum":["today","now"]},"unit":{"type":"string","enum":["day","week","month","quarter","year"]},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["kind","anchor","unit","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"preset"},"value":{"type":"string","enum":["today","yesterday","tomorrow","this-week","next-week","last-week","this-month","next-month","last-month"]}},"required":["kind","value"],"additionalProperties":false}]}],"description":"Value used by the comparison.","example":[]},"Shared944c3a84":{"type":"array","items":{"$ref":"#/components/schemas/Shared85248d7c"},"description":"Options, in order.","example":[{"value":{"kind":"absolute","value":"2026-09-19"},"label":"example","count":0}]},"Shared980c712c":{"type":"object","properties":{"version":{"type":"number","const":2,"description":"Schema or contract version for this value."},"target":{"type":"string","const":"project","description":"Target for this record."},"filter":{"anyOf":[{"$ref":"#/components/schemas/__schema1"},{"type":"null"}],"description":"Filter for this record."},"arrangement":{"$ref":"#/components/schemas/Sharedc9e7879f","description":"Arrangement for this record."},"presentation":{"$ref":"#/components/schemas/Shared567033e5","description":"Presentation for this record."}},"required":["version","target","filter","arrangement","presentation"],"additionalProperties":false,"example":{"version":2,"target":"project","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}},"Shared8ed2b8ee":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Sharedb10413ee","description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false,"example":{"value":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"},"label":"example","count":0}},"Shared6ce632c7":{"type":"object","properties":{"version":{"type":"number","const":2,"description":"Schema or contract version for this value."},"target":{"type":"string","const":"project","description":"Target for this record."},"filter":{"anyOf":[{"$ref":"#/components/schemas/__schema1"},{"type":"null"}],"description":"Filter for this record."},"arrangement":{"$ref":"#/components/schemas/Sharedc9e7879f","description":"Arrangement for this record."},"presentation":{"$ref":"#/components/schemas/Shared567033e5","description":"Presentation for this record."}},"required":["version","target","filter","arrangement","presentation"],"additionalProperties":false,"description":"Definition for this record.","example":{"version":2,"target":"project","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}},"Shared344adc9e":{"type":"object","properties":{"version":{"type":"number","const":2,"description":"Schema or contract version for this value."},"target":{"type":"string","const":"project","description":"Target for this record."},"filter":{"anyOf":[{"$ref":"#/components/schemas/__schema2"},{"type":"null"}],"description":"Filter for this record."},"arrangement":{"$ref":"#/components/schemas/Sharedc9e7879f","description":"Arrangement for this record."},"presentation":{"$ref":"#/components/schemas/Shared567033e5","description":"Presentation for this record."}},"required":["version","target","filter","arrangement","presentation"],"additionalProperties":false,"description":"Definition for this record.","example":{"version":2,"target":"project","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}},"Sharedd5611ad6":{"type":"object","properties":{"version":{"type":"number","const":2,"description":"Schema or contract version for this value."},"target":{"type":"string","const":"task","description":"Target for this record."},"filter":{"anyOf":[{"$ref":"#/components/schemas/__schema0"},{"type":"null"}],"description":"Filter for this record."},"arrangement":{"$ref":"#/components/schemas/Sharedcffda318","description":"Arrangement for this record."},"presentation":{"$ref":"#/components/schemas/Sharedbaa23297","description":"Presentation for this record."}},"required":["version","target","filter","arrangement","presentation"],"additionalProperties":false,"example":{"version":2,"target":"task","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}},"Sharedd0568182":{"type":"array","items":{"$ref":"#/components/schemas/Shared8ed2b8ee"},"description":"Options, in order.","example":[{"value":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"},"label":"example","count":0}]},"Shared65317ac9":{"type":"object","properties":{"version":{"type":"number","const":2,"description":"Schema or contract version for this value."},"target":{"type":"string","const":"task","description":"Target for this record."},"filter":{"anyOf":[{"$ref":"#/components/schemas/__schema0"},{"type":"null"}],"description":"Filter for this record."},"arrangement":{"$ref":"#/components/schemas/Sharedcffda318","description":"Arrangement for this record."},"presentation":{"$ref":"#/components/schemas/Sharedbaa23297","description":"Presentation for this record."}},"required":["version","target","filter","arrangement","presentation"],"additionalProperties":false,"description":"Definition for this record.","example":{"version":2,"target":"task","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}},"Shared0e075dd9":{"type":"object","properties":{"target":{"$ref":"#/components/schemas/Shared86169706","description":"Target for this record."},"source":{"$ref":"#/components/schemas/Shared8ddd7c57","description":"Source for this record."},"offset":{"$ref":"#/components/schemas/Shared147566fa","description":"Offset for this record."}},"required":["target","source","offset"],"additionalProperties":false,"example":{"target":{"rootKey":"example-slug","path":["example-slug"],"field":"startDate"},"source":{"kind":"run"},"offset":{"days":0,"unit":"calendar"}}},"Shared2074e2f9":{"type":"object","properties":{"action":{"type":"string","const":"replace","description":"Action for this record."},"date":{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},"placeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned saved place used in work-location schedules and evidence."},"schedule":{"$ref":"#/components/schemas/Sharede48dc288","description":"Schedule for this record."}},"required":["action","date","placeId","schedule"],"additionalProperties":false,"example":{"action":"replace","date":"2026-09-19","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","schedule":{"type":"one_off_all_day","date":"2026-09-19","timezone":"example"}}},"Shared9a13b3a1":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"dueDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"between","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared3595b9e7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"dueDate","operator":"between","operand":[]}},"Shared6b51de3b":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"startDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"between","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared3595b9e7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"startDate","operator":"between","operand":[]}},"Shared91256306":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"targetDate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"between","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Shared3595b9e7","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"targetDate","operator":"between","operand":[]}},"Shared0875fa95":{"maxItems":1000,"type":"array","items":{"$ref":"#/components/schemas/Shared0e075dd9"},"description":"Rules, in order.","example":[{"target":{"rootKey":"example-slug","path":["example-slug"],"field":"startDate"},"source":{"kind":"run"},"offset":{"days":0,"unit":"calendar"}}]},"Shared35dc3a3d":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/Shared1875481c","description":"Source for this record."},"teamIds":{"$ref":"#/components/schemas/Sharedcc7dbe40","description":"Team ids for this record."}},"required":["source","teamIds"],"additionalProperties":false,"example":{"source":{"kind":"publication","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"teamIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"Sharedff04c959":{"type":"object","properties":{"subjectType":{"type":"string","enum":["initiative","program","project","task","cycle","milestone","team","label","workStatus"],"description":"Allowed subject type value."},"subjectId":{"type":"string","minLength":1,"description":"Identifies the referenced subject."},"glyph":{"$ref":"#/components/schemas/Shared544ce6a1","description":"Glyph for this record."},"iconKey":{"$ref":"#/components/schemas/Shared4d8111db","description":"Icon key for this record."},"colorKey":{"$ref":"#/components/schemas/Shared2b2b2565","description":"Color key for this record."},"customColor":{"anyOf":[{"type":"string","pattern":"^#[0-9a-f]{6}$"},{"type":"null"}],"description":"Custom color for this record."},"coverImage":{"$ref":"#/components/schemas/Shared961883a6","description":"Cover image for this record."},"customized":{"type":"boolean","description":"Customized for this record."}},"required":["subjectType","subjectId","glyph","iconKey","colorKey","customColor","coverImage","customized"],"example":{"subjectType":"initiative","subjectId":"example","glyph":{"kind":"symbol","name":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"},"iconKey":"target","colorKey":"neutral","customColor":"#336699","coverImage":"example","customized":false}},"Shared457d7769":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The session id."},"taskId":{"$ref":"#/components/schemas/Shared6383ce8f","description":"Identifies the referenced task."},"trigger":{"type":"string","enum":["assignment","delegation","mention"],"description":"Why the session started (assignment/delegation/mention)."},"status":{"type":"string","enum":["pending","running","awaiting_input","awaiting_approval","completed","failed","canceled"],"description":"Current lifecycle state of the session."},"initiatorId":{"$ref":"#/components/schemas/Sharedbc2a95a9","description":"Identifies the referenced initiator."},"externalRunRef":{"$ref":"#/components/schemas/Shared6a897217","description":"External run ref for this record."},"startedAt":{"description":"ISO-8601 instant the session first transitioned to `running`; null while still `pending`.","anyOf":[{"type":"string"},{"type":"null"}]},"endedAt":{"description":"ISO-8601 instant the session reached a terminal state (`completed`/`canceled`); null while non-terminal.","anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"string","description":"ISO-8601 timestamp the session was created — the list sort key (descending)."},"executorKind":{"default":"registered_agent","description":"A workspace-scoped registered third-party agent executes this session.","type":"string","const":"registered_agent"},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The workspace that owns the registered agent."},"contextOrganizationId":{"default":null,"description":"Registered-agent sessions use their owning workspace, not a separate context.","type":"null"},"agentId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The workspace-registered third-party agent executing this session."},"ownerUserId":{"default":null,"description":"Registered agents are workspace-scoped rather than privately user-owned.","type":"null"}},"required":["id","trigger","status","createdAt","organizationId","agentId"],"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","trigger":"assignment","status":"pending","createdAt":"2026-09-19T12:00:00.000Z","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","agentId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared4b7622a0":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"createdAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"between","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedb9b738df","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"createdAt","operator":"between","operand":[]}},"Shareda5f11481":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"updatedAt","description":"Field the rule evaluates."},"operator":{"type":"string","const":"between","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedb9b738df","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"updatedAt","operator":"between","operand":[]}},"Shared928a2a83":{"type":"object","properties":{"kind":{"type":"string","const":"predicate","description":"Selects the value variant."},"field":{"type":"string","const":"latestUpdate","description":"Field the rule evaluates."},"operator":{"type":"string","const":"between","description":"Comparison applied by the rule."},"operand":{"$ref":"#/components/schemas/Sharedb9b738df","description":"Value used by the comparison."}},"required":["kind","field","operator","operand"],"additionalProperties":false,"example":{"kind":"predicate","field":"latestUpdate","operator":"between","operand":[]}},"Sharedb8726fc1":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The session id."},"taskId":{"$ref":"#/components/schemas/Shared6383ce8f","description":"Identifies the referenced task."},"trigger":{"type":"string","enum":["assignment","delegation","mention"],"description":"Why the session started (assignment/delegation/mention)."},"status":{"type":"string","enum":["pending","running","awaiting_input","awaiting_approval","completed","failed","canceled"],"description":"Current lifecycle state of the session."},"initiatorId":{"$ref":"#/components/schemas/Sharedbc2a95a9","description":"Identifies the referenced initiator."},"externalRunRef":{"$ref":"#/components/schemas/Shared6a897217","description":"External run ref for this record."},"startedAt":{"description":"ISO-8601 instant the session first transitioned to `running`; null while still `pending`.","anyOf":[{"type":"string"},{"type":"null"}]},"endedAt":{"description":"ISO-8601 instant the session reached a terminal state (`completed`/`canceled`); null while non-terminal.","anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"string","description":"ISO-8601 timestamp the session was created — the list sort key (descending)."},"executorKind":{"type":"string","const":"athena","description":"The caller-owned Athena runtime executes this session."},"organizationId":{"type":"null","description":"Athena is user-owned; workspace focus is carried only as optional context."},"contextOrganizationId":{"$ref":"#/components/schemas/Shared7a9b6813","description":"Identifies the referenced context organization."},"agentId":{"type":"null","description":"Athena is user-owned and never represented by a registered agent."},"ownerUserId":{"type":"string","minLength":1,"description":"The user who privately owns this Athena session."}},"required":["id","trigger","status","createdAt","executorKind","organizationId","agentId","ownerUserId"],"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","trigger":"assignment","status":"pending","createdAt":"2026-09-19T12:00:00.000Z","executorKind":"athena","organizationId":null,"agentId":null,"ownerUserId":"example"}},"Shared4cbb0d3c":{"default":[],"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/Shared35dc3a3d"},"description":"Offerings, in order.","example":[]},"Shared7a521547":{"default":null,"anyOf":[{"$ref":"#/components/schemas/Sharedff04c959"},{"type":"null"}],"description":"Display for this record.","example":null},"Sharedec85f089":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"none","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared144ab914"},{"$ref":"#/components/schemas/Shared77ce0c49"}],"description":"Due date in YYYY-MM-DD format.","example":{"kind":"none"}},"Shared36de295f":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"none","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared144ab914"},{"$ref":"#/components/schemas/Shared77ce0c49"}],"description":"Start date in YYYY-MM-DD format.","example":{"kind":"none"}},"Sharedd74c323e":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"none","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared144ab914"},{"$ref":"#/components/schemas/Shared77ce0c49"}],"description":"Target date in YYYY-MM-DD format.","example":{"kind":"none"}},"Shared78469dec":{"type":"object","properties":{"kind":{"type":"string","const":"monthly","description":"Selects the value variant."},"interval":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Interval for this record."},"startDate":{"$ref":"#/components/schemas/Shared7e755956","description":"Start date in YYYY-MM-DD format."},"timezone":{"type":"string","minLength":1,"description":"Timezone for this record."},"end":{"$ref":"#/components/schemas/Shared70d1ec92","description":"End for this record."},"pattern":{"$ref":"#/components/schemas/Sharedd2379e1d","description":"Pattern for this record."}},"required":["kind","startDate","timezone","pattern"],"additionalProperties":false,"example":{"kind":"monthly","startDate":"2026-09-19","timezone":"example","pattern":{"kind":"day_of_month","day":1}}},"Shared16f90b47":{"type":"object","properties":{"field":{"type":"string","const":"startDate","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared944c3a84","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false,"example":{"field":"startDate","options":[{"value":{"kind":"absolute","value":"2026-09-19"},"label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}},"Sharedf74c4e8a":{"type":"object","properties":{"field":{"type":"string","const":"targetDate","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared944c3a84","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false,"example":{"field":"targetDate","options":[{"value":{"kind":"absolute","value":"2026-09-19"},"label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}},"Sharedbadcbdea":{"type":"object","properties":{"field":{"type":"string","const":"createdAt","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Sharedd0568182","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false,"example":{"field":"createdAt","options":[{"value":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"},"label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}},"Shared75a4a277":{"type":"object","properties":{"field":{"type":"string","const":"updatedAt","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Sharedd0568182","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false,"example":{"field":"updatedAt","options":[{"value":{"kind":"absolute","value":"2026-09-19T12:00:00.000Z"},"label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}},"Sharedda60bdc9":{"type":"object","properties":{"kind":{"type":"string","const":"field_timing","description":"Selects the value variant."},"revision":{"type":"number","const":2,"description":"Revision for this record."},"rules":{"$ref":"#/components/schemas/Shared0875fa95","description":"Rules for this record."}},"required":["kind","revision","rules"],"additionalProperties":false,"description":"Timing for this record.","example":{"kind":"field_timing","revision":2,"rules":[{"target":{"rootKey":"example-slug","path":["example-slug"],"field":"startDate"},"source":{"kind":"run"},"offset":{"days":0,"unit":"calendar"}}]}},"Sharedc4645ef3":{"type":"object","properties":{"targetDate":{"$ref":"#/components/schemas/Sharedd74c323e","description":"Target date in YYYY-MM-DD format."}},"additionalProperties":false,"description":"Dates for this record.","example":{}},"Sharede69eb2ed":{"type":"object","properties":{"kind":{"type":"string","const":"project","description":"Selects the value variant."},"fields":{"$ref":"#/components/schemas/Shared256f6195","description":"Fields for this record."},"dates":{"$ref":"#/components/schemas/Sharedc8a7f6ed","description":"Dates for this record."},"teamId":{"$ref":"#/components/schemas/Shared92c7d287","description":"Identifies the referenced team."},"responsibleActorId":{"$ref":"#/components/schemas/Shared7aa161ac","description":"Identifies the referenced responsible actor."},"path":{"minItems":1,"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."}},"required":["kind","path"],"additionalProperties":false,"example":{"kind":"project","path":["example-slug"]}},"Shared3a60dcfb":{"type":"object","properties":{"kind":{"type":"string","const":"task","description":"Selects the value variant."},"fields":{"$ref":"#/components/schemas/Shared8b748a2d","description":"Fields for this record."},"dates":{"$ref":"#/components/schemas/Shared376a7181","description":"Dates for this record."},"teamId":{"$ref":"#/components/schemas/Shared92c7d287","description":"Identifies the referenced team."},"responsibleActorId":{"$ref":"#/components/schemas/Shared7aa161ac","description":"Identifies the referenced responsible actor."},"cycleId":{"$ref":"#/components/schemas/Shareda6e92c00","description":"Identifies the referenced cycle."},"path":{"minItems":1,"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."}},"required":["kind","path"],"additionalProperties":false,"example":{"kind":"task","path":["example-slug"]}},"Shared9b550c94":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Stable machine-readable key."},"parentStepKey":{"anyOf":[{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},{"type":"null"}],"description":"Parent step key for this record."},"sort":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Sort for this record."},"optional":{"$ref":"#/components/schemas/Sharedeafd920c","description":"Optional for this record."},"template":{"$ref":"#/components/schemas/Shared2280be8e","description":"Template for this record."},"teamRule":{"type":"string","enum":["parent_team","creation_team","none"],"description":"Allowed team rule value."},"actorRule":{"type":"string","enum":["parent_responsible","creator","athena","unassigned"],"description":"Allowed actor rule value."},"kind":{"type":"string","const":"program","description":"Selects the value variant."},"fields":{"$ref":"#/components/schemas/Sharedd0409379","description":"Fields for this record."},"dates":{"type":"object","properties":{},"additionalProperties":false,"description":"Dates for this record."}},"required":["key","parentStepKey","sort","optional","template","teamRule","actorRule","kind","fields","dates"],"additionalProperties":false,"example":{"key":"example-slug","parentStepKey":"example-slug","sort":0,"optional":{"enabled":false,"selectedByDefault":false},"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"}},"teamRule":"parent_team","actorRule":"parent_responsible","kind":"program","fields":{"name":"example"},"dates":{}}},"Shared61af8484":{"type":"object","properties":{"path":{"minItems":1,"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Canonical path for this resource."},"parentPath":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},"description":"Parent path, in order."},"kind":{"type":"string","enum":["program","project","milestone","task"],"description":"Selects the value variant."},"title":{"type":"string","maxLength":256,"description":"Human-readable title."},"workTypeId":{"$ref":"#/components/schemas/Sharedaae74083","description":"Identifies the referenced work type."},"workTypeVersionId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},{"type":"null"}],"description":"Identifies the referenced work type version."},"dates":{"$ref":"#/components/schemas/Shared30469f2a","description":"Dates for this record."},"unresolvedReasons":{"$ref":"#/components/schemas/Shared6322dd5e","description":"Unresolved reasons for this record."},"optional":{"type":"boolean","description":"Optional for this record."},"selectedByDefault":{"type":"boolean","description":"Selected by default for this record."},"selected":{"type":"boolean","description":"Selected for this record."},"prerequisites":{"maxItems":499,"type":"array","items":{"maxItems":499,"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"}},"description":"Prerequisites, in order."}},"required":["path","parentPath","kind","title","workTypeId","workTypeVersionId","dates","unresolvedReasons","optional","selectedByDefault","selected","prerequisites"],"additionalProperties":false,"example":{"path":["example-slug"],"parentPath":["example-slug"],"kind":"program","title":"example","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","dates":{},"unresolvedReasons":{},"optional":false,"selectedByDefault":false,"selected":false,"prerequisites":[["example-slug"]]}},"Shared814c23b6":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Stable machine-readable key."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"summary":{"type":"string","maxLength":280,"description":"Short plain-language summary."},"description":{"type":"string","description":"Longer plain-language description."},"leadId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced lead."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"programId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},"status":{"$ref":"#/components/schemas/Shared6eabac25","description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared6a2f1dda","description":"Health for this record."},"startOffsetDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Start offset days for this record."},"targetOffsetDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Target offset days for this record."},"labelIds":{"$ref":"#/components/schemas/Shared44fff054","description":"Label ids for this record."},"timing":{"$ref":"#/components/schemas/Shared524dfa84","description":"Timing for this record."}},"required":["key","name"],"additionalProperties":false,"description":"Project for this record.","example":{"key":"123e4567-e89b-42d3-a456-426614174000","name":"example"}},"Shared3b335a98":{"maxItems":499,"type":"array","items":{"$ref":"#/components/schemas/Shared61af8484"},"description":"Descendants, in order.","example":[{"path":["example-slug"],"parentPath":["example-slug"],"kind":"program","title":"example","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","dates":{},"unresolvedReasons":{},"optional":false,"selectedByDefault":false,"selected":false,"prerequisites":[["example-slug"]]}]},"Shared645cd23a":{"oneOf":[{"$ref":"#/components/schemas/Shared59e238d1"},{"$ref":"#/components/schemas/Sharedc65cf045"}],"example":{"origin":"local","id":"example","ref":{"kind":"entity","entityKind":"task","entityId":"example"},"entityKind":"task","title":"example","subtitle":"example","href":"example","score":0}},"Shared125adfac":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Occurrence — one durable expected run of a recurrence series."},"seriesId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a RecurrenceSeries — a schedule that expects process occurrences."},"scheduledFor":{"$ref":"#/components/schemas/Shared253d80d4","description":"Scheduled for for this record."},"originalScheduledFor":{"$ref":"#/components/schemas/Shared6b1ef481","description":"Original scheduled for for this record."},"status":{"type":"string","enum":["expected","materialized","completed","skipped","canceled","needs_resolution","superseded","failed"],"description":"Current lifecycle state."},"attempt":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Attempt for this record."},"failureCode":{"$ref":"#/components/schemas/Shared7d3f8413","description":"Failure code for this record."},"failedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Failed time as an ISO 8601 instant."},"retryAvailableAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Retry available time as an ISO 8601 instant."},"completedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Completed time as an ISO 8601 instant."},"canRetry":{"type":"boolean","description":"Whether retry."},"roots":{"$ref":"#/components/schemas/Shareddf8a8691","description":"Roots for this record."},"templates":{"$ref":"#/components/schemas/Shared041f93c5","description":"Templates for this record."}},"required":["id","seriesId","scheduledFor","originalScheduledFor","status","attempt","failureCode","failedAt","retryAvailableAt","completedAt","canRetry","roots","templates"],"additionalProperties":false,"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","seriesId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","scheduledFor":"2026-09-19","originalScheduledFor":"2026-09-19","status":"expected","attempt":0,"failureCode":"template_unavailable","failedAt":"2026-09-19T12:00:00.000Z","retryAvailableAt":"2026-09-19T12:00:00.000Z","completedAt":"2026-09-19T12:00:00.000Z","canRetry":false,"roots":[{"kind":"task","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"templates":[{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}},"Shared1ca17fa0":{"type":"object","properties":{"kind":{"type":"string","const":"project","description":"Selects the value variant."},"fields":{"$ref":"#/components/schemas/Shared256f6195","description":"Fields for this record."},"dates":{"$ref":"#/components/schemas/Sharedc8a7f6ed","description":"Dates for this record."},"teamId":{"$ref":"#/components/schemas/Shared92c7d287","description":"Identifies the referenced team."},"responsibleActorId":{"$ref":"#/components/schemas/Shared7aa161ac","description":"Identifies the referenced responsible actor."},"placement":{"$ref":"#/components/schemas/Shared481e82a0","description":"Placement for this record."}},"required":["kind","fields","dates","placement"],"additionalProperties":false,"example":{"kind":"project","fields":{},"dates":{},"placement":{}}},"Shareddc577b8a":{"type":"array","items":{"$ref":"#/components/schemas/Shared125adfac"},"description":"Items, in order.","example":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","seriesId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","scheduledFor":"2026-09-19","originalScheduledFor":"2026-09-19","status":"expected","attempt":0,"failureCode":"template_unavailable","failedAt":"2026-09-19T12:00:00.000Z","retryAvailableAt":"2026-09-19T12:00:00.000Z","completedAt":"2026-09-19T12:00:00.000Z","canRetry":false,"roots":[{"kind":"task","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"templates":[{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}]},"Sharedff54ce76":{"oneOf":[{"$ref":"#/components/schemas/Shareda8b4bacd"},{"$ref":"#/components/schemas/Shared6ac4c489"},{"$ref":"#/components/schemas/Shared9e5c58dd"},{"$ref":"#/components/schemas/Shared2ad9a339"}],"example":{"kind":"task","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removeLabelIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared61fd78f2":{"type":"object","properties":{"kind":{"type":"string","const":"task","description":"Selects the value variant."},"fields":{"$ref":"#/components/schemas/Shared8b748a2d","description":"Fields for this record."},"dates":{"$ref":"#/components/schemas/Shared376a7181","description":"Dates for this record."},"teamId":{"$ref":"#/components/schemas/Shared92c7d287","description":"Identifies the referenced team."},"responsibleActorId":{"$ref":"#/components/schemas/Shared7aa161ac","description":"Identifies the referenced responsible actor."},"cycleId":{"$ref":"#/components/schemas/Shareda6e92c00","description":"Identifies the referenced cycle."},"placement":{"$ref":"#/components/schemas/Shared59ece44c","description":"Placement for this record."}},"required":["kind","fields","dates","placement"],"additionalProperties":false,"example":{"kind":"task","fields":{},"dates":{},"placement":{}}},"Shared2c034e10":{"minItems":1,"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/Sharedff54ce76"},"description":"Items, in order.","example":[{"kind":"task","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removeLabelIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]},"Shared405e5185":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/Shared46a52d54","description":"Date for this record."},"finishAt":{"$ref":"#/components/schemas/Sharede77dbae2","description":"Finish time as an ISO 8601 instant."},"mainTaskId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced main task."},"tasks":{"$ref":"#/components/schemas/Sharede402303e","description":"Tasks for this record."},"sessions":{"$ref":"#/components/schemas/Sharedfabfac03","description":"Sessions for this record."},"settings":{"$ref":"#/components/schemas/Shared416b89f3","description":"Settings for this record."}},"required":["date","finishAt","mainTaskId","tasks","sessions"],"example":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}},"Sharede20fcf7a":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/Shared46a52d54","description":"Date for this record."},"finishAt":{"$ref":"#/components/schemas/Sharede77dbae2","description":"Finish time as an ISO 8601 instant."},"mainTaskId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced main task."},"tasks":{"$ref":"#/components/schemas/Sharede402303e","description":"Tasks for this record."},"sessions":{"$ref":"#/components/schemas/Sharedfabfac03","description":"Sessions for this record."},"settings":{"$ref":"#/components/schemas/Shared416b89f3","description":"Settings for this record."}},"required":["date","finishAt","mainTaskId","tasks","sessions"],"description":"Draft for this record.","example":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}},"Shared6dfef85d":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/Shared46a52d54","description":"Date for this record."},"finishAt":{"$ref":"#/components/schemas/Sharede77dbae2","description":"Finish time as an ISO 8601 instant."},"mainTaskId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced main task."},"tasks":{"$ref":"#/components/schemas/Sharede402303e","description":"Tasks for this record."},"sessions":{"$ref":"#/components/schemas/Sharedfabfac03","description":"Sessions for this record."},"settings":{"$ref":"#/components/schemas/Shared416b89f3","description":"Settings for this record."}},"required":["date","finishAt","mainTaskId","tasks","sessions"],"description":"Snapshot for this record.","example":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}},"Shared2907ff68":{"oneOf":[{"$ref":"#/components/schemas/Sharedd1d6073e"},{"$ref":"#/components/schemas/Shareda82aa78a"},{"$ref":"#/components/schemas/Shared0bc5b173"},{"$ref":"#/components/schemas/Shared74081a55"}],"description":"Payload for this record.","example":{"targetType":"task"}},"Shared1e7cf3a6":{"anyOf":[{"$ref":"#/components/schemas/Shared405e5185"},{"type":"null"}],"description":"Draft for this record.","example":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}},"Shared45becea9":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Stable machine-readable key."},"parentStepKey":{"anyOf":[{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},{"type":"null"}],"description":"Parent step key for this record."},"sort":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Sort for this record."},"optional":{"$ref":"#/components/schemas/Sharedeafd920c","description":"Optional for this record."},"template":{"type":"null","description":"Template for this record."},"teamRule":{"type":"string","enum":["parent_team","creation_team","none"],"description":"Allowed team rule value."},"actorRule":{"type":"string","enum":["parent_responsible","creator","athena","unassigned"],"description":"Allowed actor rule value."},"kind":{"type":"string","const":"milestone","description":"Selects the value variant."},"fields":{"$ref":"#/components/schemas/Shared329f1762","description":"Fields for this record."},"dates":{"$ref":"#/components/schemas/Sharedc4645ef3","description":"Dates for this record."}},"required":["key","parentStepKey","sort","optional","template","teamRule","actorRule","kind","fields","dates"],"additionalProperties":false,"example":{"key":"example-slug","parentStepKey":"example-slug","sort":0,"optional":{"enabled":false,"selectedByDefault":false},"template":null,"teamRule":"parent_team","actorRule":"parent_responsible","kind":"milestone","fields":{"name":"example"},"dates":{}}},"Shared5710c65f":{"type":"object","properties":{"acceptedAt":{"$ref":"#/components/schemas/Sharedffe9b348","description":"Accepted time as an ISO 8601 instant."},"snapshot":{"$ref":"#/components/schemas/Shared6dfef85d","description":"Snapshot for this record."}},"required":["acceptedAt","snapshot"],"example":{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}}},"Shared2cef7082":{"type":"object","properties":{"acceptedAt":{"$ref":"#/components/schemas/Sharedffe9b348","description":"Accepted time as an ISO 8601 instant."},"snapshot":{"$ref":"#/components/schemas/Shared6dfef85d","description":"Snapshot for this record."}},"required":["acceptedAt","snapshot"],"description":"Current for this record.","example":{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}}},"Shared94cc31b8":{"type":"object","properties":{"acceptedAt":{"$ref":"#/components/schemas/Sharedffe9b348","description":"Accepted time as an ISO 8601 instant."},"snapshot":{"$ref":"#/components/schemas/Shared6dfef85d","description":"Snapshot for this record."}},"required":["acceptedAt","snapshot"],"description":"Original for this record.","example":{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}}},"Sharedf6476cde":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Shared5710c65f"},"description":"History, in order.","example":[{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}}]},"Shared12c709e9":{"oneOf":[{"$ref":"#/components/schemas/Shared10d7a183"},{"$ref":"#/components/schemas/Sharedcd9a29b6"},{"$ref":"#/components/schemas/Sharedd2e421a7"},{"$ref":"#/components/schemas/Shared38de4188"}],"description":"Cadence for this record.","example":{"kind":"daily"}},"Shared2346310a":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a SavedView — a stored filter/sort/grouping configuration over a work list."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"scope":{"type":"string","enum":["personal","team","organization"],"description":"Allowed scope value."},"ownerActorId":{"$ref":"#/components/schemas/Sharedd046f359","description":"Identifies the referenced owner actor."},"teamId":{"$ref":"#/components/schemas/Shared92c7d287","description":"Identifies the referenced team."},"position":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)*$","description":"Stable position in the current ordering."},"schemaVersion":{"type":"number","const":2,"description":"Schema version for this record."},"createdAt":{"$ref":"#/components/schemas/Shared5a69cae8","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."},"filters":{"type":"array","items":{"$ref":"#/components/schemas/ViewFilter"},"description":"Filters, in order."},"grouping":{"anyOf":[{"$ref":"#/components/schemas/ViewGrouping"},{"type":"null"}],"description":"Grouping for this record."},"sort":{"type":"array","items":{"$ref":"#/components/schemas/ViewSort"},"description":"Sort, in order."},"target":{"type":"string","const":"program","description":"Target for this record."},"context":{"$ref":"#/components/schemas/Sharedf7a17f07","description":"Context for this record."},"definition":{"$ref":"#/components/schemas/Sharedc83deef0","description":"Definition for this record."}},"required":["id","organizationId","name","scope","ownerActorId","position","schemaVersion","createdAt","updatedAt","filters","grouping","sort","target","context","definition"],"additionalProperties":false,"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","scope":"personal","ownerActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","position":"01ARZ3NDEKTSV4RRFFQ69G5FAV","schemaVersion":2,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","filters":[{"field":"example","op":"eq","value":null}],"grouping":{"by":"example"},"sort":[{"field":"example","order":"asc"}],"target":"program","context":{"kind":"organization"},"definition":{"version":2,"target":"program","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}}},"Sharede2a99c82":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a SavedView — a stored filter/sort/grouping configuration over a work list."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"scope":{"type":"string","enum":["personal","team","organization"],"description":"Allowed scope value."},"ownerActorId":{"$ref":"#/components/schemas/Sharedd046f359","description":"Identifies the referenced owner actor."},"teamId":{"$ref":"#/components/schemas/Shared92c7d287","description":"Identifies the referenced team."},"position":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)*$","description":"Stable position in the current ordering."},"schemaVersion":{"type":"number","const":2,"description":"Schema version for this record."},"createdAt":{"$ref":"#/components/schemas/Shared5a69cae8","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."},"filters":{"type":"array","items":{"$ref":"#/components/schemas/ViewFilter"},"description":"Filters, in order."},"grouping":{"anyOf":[{"$ref":"#/components/schemas/ViewGrouping"},{"type":"null"}],"description":"Grouping for this record."},"sort":{"type":"array","items":{"$ref":"#/components/schemas/ViewSort"},"description":"Sort, in order."},"target":{"type":"string","const":"initiative","description":"Target for this record."},"context":{"$ref":"#/components/schemas/Sharedf7a17f07","description":"Context for this record."},"definition":{"$ref":"#/components/schemas/Sharedcaa5cf08","description":"Definition for this record."}},"required":["id","organizationId","name","scope","ownerActorId","position","schemaVersion","createdAt","updatedAt","filters","grouping","sort","target","context","definition"],"additionalProperties":false,"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","scope":"personal","ownerActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","position":"01ARZ3NDEKTSV4RRFFQ69G5FAV","schemaVersion":2,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","filters":[{"field":"example","op":"eq","value":null}],"grouping":{"by":"example"},"sort":[{"field":"example","order":"asc"}],"target":"initiative","context":{"kind":"organization"},"definition":{"version":2,"target":"initiative","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}}},"Sharedb18410cb":{"type":"object","properties":{"startDate":{"$ref":"#/components/schemas/Shared36de295f","description":"Start date in YYYY-MM-DD format."},"dueDate":{"$ref":"#/components/schemas/Sharedec85f089","description":"Due date in YYYY-MM-DD format."}},"additionalProperties":false,"description":"Dates for this record.","example":{}},"Sharede7e08b6d":{"type":"object","properties":{"startDate":{"$ref":"#/components/schemas/Shared36de295f","description":"Start date in YYYY-MM-DD format."},"targetDate":{"$ref":"#/components/schemas/Sharedd74c323e","description":"Target date in YYYY-MM-DD format."}},"additionalProperties":false,"description":"Dates for this record.","example":{}},"Shared09e5e877":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a SavedView — a stored filter/sort/grouping configuration over a work list."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"scope":{"type":"string","enum":["personal","team","organization"],"description":"Allowed scope value."},"ownerActorId":{"$ref":"#/components/schemas/Sharedd046f359","description":"Identifies the referenced owner actor."},"teamId":{"$ref":"#/components/schemas/Shared92c7d287","description":"Identifies the referenced team."},"position":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)*$","description":"Stable position in the current ordering."},"schemaVersion":{"type":"number","const":2,"description":"Schema version for this record."},"createdAt":{"$ref":"#/components/schemas/Shared5a69cae8","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."},"filters":{"type":"array","items":{"$ref":"#/components/schemas/ViewFilter"},"description":"Filters, in order."},"grouping":{"anyOf":[{"$ref":"#/components/schemas/ViewGrouping"},{"type":"null"}],"description":"Grouping for this record."},"sort":{"type":"array","items":{"$ref":"#/components/schemas/ViewSort"},"description":"Sort, in order."},"target":{"type":"string","const":"project","description":"Target for this record."},"context":{"$ref":"#/components/schemas/Sharedf7751fda","description":"Context for this record."},"definition":{"$ref":"#/components/schemas/Shared6ce632c7","description":"Definition for this record."}},"required":["id","organizationId","name","scope","ownerActorId","position","schemaVersion","createdAt","updatedAt","filters","grouping","sort","target","context","definition"],"additionalProperties":false,"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","scope":"personal","ownerActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","position":"01ARZ3NDEKTSV4RRFFQ69G5FAV","schemaVersion":2,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","filters":[{"field":"example","op":"eq","value":null}],"grouping":{"by":"example"},"sort":[{"field":"example","order":"asc"}],"target":"project","context":{"kind":"organization"},"definition":{"version":2,"target":"project","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}}},"Shared952094e6":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a SavedView — a stored filter/sort/grouping configuration over a work list."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"scope":{"type":"string","enum":["personal","team","organization"],"description":"Allowed scope value."},"ownerActorId":{"$ref":"#/components/schemas/Sharedd046f359","description":"Identifies the referenced owner actor."},"teamId":{"$ref":"#/components/schemas/Shared92c7d287","description":"Identifies the referenced team."},"position":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)*$","description":"Stable position in the current ordering."},"schemaVersion":{"type":"number","const":2,"description":"Schema version for this record."},"createdAt":{"$ref":"#/components/schemas/Shared5a69cae8","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."},"filters":{"type":"array","items":{"$ref":"#/components/schemas/ViewFilter"},"description":"Filters, in order."},"grouping":{"anyOf":[{"$ref":"#/components/schemas/ViewGrouping"},{"type":"null"}],"description":"Grouping for this record."},"sort":{"type":"array","items":{"$ref":"#/components/schemas/ViewSort"},"description":"Sort, in order."},"target":{"type":"string","const":"task","description":"Target for this record."},"context":{"$ref":"#/components/schemas/Shared76e9bac1","description":"Context for this record."},"definition":{"$ref":"#/components/schemas/Shared65317ac9","description":"Definition for this record."}},"required":["id","organizationId","name","scope","ownerActorId","position","schemaVersion","createdAt","updatedAt","filters","grouping","sort","target","context","definition"],"additionalProperties":false,"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","scope":"personal","ownerActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","position":"01ARZ3NDEKTSV4RRFFQ69G5FAV","schemaVersion":2,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","filters":[{"field":"example","op":"eq","value":null}],"grouping":{"by":"example"},"sort":[{"field":"example","order":"asc"}],"target":"task","context":{"kind":"organization"},"definition":{"version":2,"target":"task","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}}},"Sharede6ccee4b":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Stable machine-readable key."},"name":{"type":"string","minLength":1,"maxLength":120,"description":"Human-readable name."},"template":{"$ref":"#/components/schemas/Sharedc354790e","description":"Template for this record."},"titlePattern":{"type":"string","minLength":1,"maxLength":256,"description":"Title pattern for this record."},"cadence":{"$ref":"#/components/schemas/Shared12c709e9","description":"Cadence for this record."},"teamRule":{"type":"string","enum":["parent_team","creation_team","none"],"description":"Allowed team rule value."},"actorRule":{"type":"string","enum":["parent_responsible","creator","athena","unassigned"],"description":"Allowed actor rule value."}},"required":["key","name","template","titlePattern","cadence","teamRule","actorRule"],"additionalProperties":false,"example":{"key":"example-slug","name":"example","template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","cadence":{"kind":"daily"},"teamRule":"parent_team","actorRule":"parent_responsible"}},"Shared8dd1e6f1":{"default":[],"maxItems":20,"type":"array","items":{"$ref":"#/components/schemas/Sharede6ccee4b"},"description":"Default schedules, in order.","example":[]},"Shared56fd129c":{"oneOf":[{"$ref":"#/components/schemas/Shared61fd78f2"},{"$ref":"#/components/schemas/Shared1ca17fa0"}],"description":"Root for this record.","example":{"kind":"task","fields":{},"dates":{},"placement":{}}},"Shared987a7271":{"oneOf":[{"$ref":"#/components/schemas/Sharedce6069de"},{"$ref":"#/components/schemas/Shared304fa0db"},{"$ref":"#/components/schemas/Shared78469dec"},{"$ref":"#/components/schemas/Sharedf1ac07c7"}],"description":"Schedule for this record.","example":{"kind":"daily","startDate":"2026-09-19","timezone":"example"}},"Shared2e85bb13":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Stable machine-readable key."},"parentStepKey":{"anyOf":[{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},{"type":"null"}],"description":"Parent step key for this record."},"sort":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Sort for this record."},"optional":{"$ref":"#/components/schemas/Sharedeafd920c","description":"Optional for this record."},"template":{"$ref":"#/components/schemas/Shared2280be8e","description":"Template for this record."},"teamRule":{"type":"string","enum":["parent_team","creation_team","none"],"description":"Allowed team rule value."},"actorRule":{"type":"string","enum":["parent_responsible","creator","athena","unassigned"],"description":"Allowed actor rule value."},"kind":{"type":"string","const":"project","description":"Selects the value variant."},"fields":{"$ref":"#/components/schemas/Shareddf89c361","description":"Fields for this record."},"dates":{"$ref":"#/components/schemas/Sharede7e08b6d","description":"Dates for this record."}},"required":["key","parentStepKey","sort","optional","template","teamRule","actorRule","kind","fields","dates"],"additionalProperties":false,"example":{"key":"example-slug","parentStepKey":"example-slug","sort":0,"optional":{"enabled":false,"selectedByDefault":false},"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"}},"teamRule":"parent_team","actorRule":"parent_responsible","kind":"project","fields":{"name":"example"},"dates":{}}},"Shared651ae1c6":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Stable machine-readable key."},"parentStepKey":{"anyOf":[{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$"},{"type":"null"}],"description":"Parent step key for this record."},"sort":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Sort for this record."},"optional":{"$ref":"#/components/schemas/Sharedeafd920c","description":"Optional for this record."},"template":{"$ref":"#/components/schemas/Shared2280be8e","description":"Template for this record."},"teamRule":{"type":"string","enum":["parent_team","creation_team","none"],"description":"Allowed team rule value."},"actorRule":{"type":"string","enum":["parent_responsible","creator","athena","unassigned"],"description":"Allowed actor rule value."},"kind":{"type":"string","const":"task","description":"Selects the value variant."},"fields":{"$ref":"#/components/schemas/Shared35ad3b5e","description":"Fields for this record."},"cycleRule":{"type":"string","enum":["none","parent_cycle","current_cycle"],"description":"Allowed cycle rule value."},"dates":{"$ref":"#/components/schemas/Sharedb18410cb","description":"Dates for this record."}},"required":["key","parentStepKey","sort","optional","template","teamRule","actorRule","kind","fields","cycleRule","dates"],"additionalProperties":false,"example":{"key":"example-slug","parentStepKey":"example-slug","sort":0,"optional":{"enabled":false,"selectedByDefault":false},"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"}},"teamRule":"parent_team","actorRule":"parent_responsible","kind":"task","fields":{"title":"example"},"cycleRule":"none","dates":{}}},"Shared4f1f10e9":{"anyOf":[{"$ref":"#/components/schemas/Sharedd5611ad6"},{"$ref":"#/components/schemas/Shared980c712c"},{"$ref":"#/components/schemas/Shared2c74b00d"},{"$ref":"#/components/schemas/Sharedc60256e5"}],"description":"Definition for this record.","example":{"version":2,"target":"task","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}},"Sharedc760f65a":{"oneOf":[{"$ref":"#/components/schemas/Shared3a60dcfb"},{"$ref":"#/components/schemas/Sharede69eb2ed"},{"$ref":"#/components/schemas/Shared812e8bdb"},{"$ref":"#/components/schemas/Shared154a52e3"}],"example":{"kind":"task","path":["example-slug"]}},"Sharedee4603ec":{"type":"object","properties":{"kind":{"type":"string","const":"calendar","description":"Selects the value variant."},"schedule":{"$ref":"#/components/schemas/Shared987a7271","description":"Schedule for this record."},"missedPolicy":{"default":"skip","type":"string","enum":["skip","carry","resolve"],"description":"Allowed missed policy value."},"materialization":{"$ref":"#/components/schemas/Sharedc578c97e","description":"Materialization for this record."}},"required":["kind","schedule"],"additionalProperties":false,"example":{"kind":"calendar","schedule":{"kind":"daily","startDate":"2026-09-19","timezone":"example"}}},"Sharedfd9a8993":{"maxItems":499,"type":"array","items":{"$ref":"#/components/schemas/Sharedc760f65a"},"description":"Step overrides, in order.","example":[{"kind":"task","path":["example-slug"]}]},"Sharedf25fb505":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"manual","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Sharedee4603ec"},{"$ref":"#/components/schemas/Shared0140a988"},{"$ref":"#/components/schemas/Shared844e7606"}],"description":"Trigger for this record.","example":{"kind":"manual"}},"Shared51837495":{"type":"object","properties":{"original":{"$ref":"#/components/schemas/Shared94cc31b8","description":"Original for this record."},"current":{"$ref":"#/components/schemas/Shared2cef7082","description":"Current for this record."},"history":{"$ref":"#/components/schemas/Sharedf6476cde","description":"History for this record."}},"required":["original","current","history"],"example":{"original":{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}},"current":{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}},"history":[{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}}]}},"Shared4ff66fc0":{"anyOf":[{"$ref":"#/components/schemas/Shared51837495"},{"type":"null"}],"description":"Accepted for this record.","example":{"original":{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}},"current":{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}},"history":[{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}}]}},"Sharedbfde9ff1":{"type":"object","properties":{"kind":{"type":"string","const":"schedule","description":"Selects the value variant."},"revision":{"type":"number","const":1,"description":"Revision for this record."},"template":{"$ref":"#/components/schemas/Sharedc354790e","description":"Template for this record."},"titlePattern":{"type":"string","minLength":1,"maxLength":256,"description":"Title pattern for this record."},"timezone":{"type":"string","minLength":1,"description":"Timezone for this record."},"root":{"$ref":"#/components/schemas/Shared56fd129c","description":"Root for this record."},"stepOverrides":{"$ref":"#/components/schemas/Sharedfd9a8993","description":"Step overrides for this record."},"optionalChoices":{"$ref":"#/components/schemas/Shared45430398","description":"Optional choices for this record."}},"required":["kind","revision","template","titlePattern","timezone","root","stepOverrides","optionalChoices"],"additionalProperties":false,"example":{"kind":"schedule","revision":1,"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","timezone":"example","root":{"kind":"task","fields":{},"dates":{},"placement":{}},"stepOverrides":[{"kind":"task","path":["example-slug"]}],"optionalChoices":[{"path":["example-slug"],"selected":false}]}},"Shared40bdd49e":{"type":"object","properties":{"kind":{"type":"string","const":"schedule","description":"Selects the value variant."},"revision":{"type":"number","const":1,"description":"Revision for this record."},"template":{"$ref":"#/components/schemas/Sharedc354790e","description":"Template for this record."},"titlePattern":{"type":"string","minLength":1,"maxLength":256,"description":"Title pattern for this record."},"timezone":{"type":"string","minLength":1,"description":"Timezone for this record."},"root":{"$ref":"#/components/schemas/Shared56fd129c","description":"Root for this record."},"stepOverrides":{"$ref":"#/components/schemas/Sharedfd9a8993","description":"Step overrides for this record."},"optionalChoices":{"$ref":"#/components/schemas/Shared45430398","description":"Optional choices for this record."}},"required":["kind","revision","template","titlePattern","timezone","root","stepOverrides","optionalChoices"],"additionalProperties":false,"description":"Draft for this record.","example":{"kind":"schedule","revision":1,"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","timezone":"example","root":{"kind":"task","fields":{},"dates":{},"placement":{}},"stepOverrides":[{"kind":"task","path":["example-slug"]}],"optionalChoices":[{"path":["example-slug"],"selected":false}]}},"Shared9a8bb54e":{"type":"object","properties":{"kind":{"type":"string","const":"schedule","description":"Selects the value variant."},"revision":{"type":"number","const":1,"description":"Revision for this record."},"template":{"$ref":"#/components/schemas/Sharedc354790e","description":"Template for this record."},"titlePattern":{"type":"string","minLength":1,"maxLength":256,"description":"Title pattern for this record."},"timezone":{"type":"string","minLength":1,"description":"Timezone for this record."},"root":{"$ref":"#/components/schemas/Shared56fd129c","description":"Root for this record."},"stepOverrides":{"$ref":"#/components/schemas/Sharedfd9a8993","description":"Step overrides for this record."},"optionalChoices":{"$ref":"#/components/schemas/Shared45430398","description":"Optional choices for this record."}},"required":["kind","revision","template","titlePattern","timezone","root","stepOverrides","optionalChoices"],"additionalProperties":false,"description":"Document for this record.","example":{"kind":"schedule","revision":1,"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","timezone":"example","root":{"kind":"task","fields":{},"dates":{},"placement":{}},"stepOverrides":[{"kind":"task","path":["example-slug"]}],"optionalChoices":[{"path":["example-slug"],"selected":false}]}},"Sharedc588d270":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Stable machine-readable key."},"draft":{"$ref":"#/components/schemas/Shared40bdd49e","description":"Draft for this record."}},"required":["key","draft"],"additionalProperties":false,"example":{"key":"example-slug","draft":{"kind":"schedule","revision":1,"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","timezone":"example","root":{"kind":"task","fields":{},"dates":{},"placement":{}},"stepOverrides":[{"kind":"task","path":["example-slug"]}],"optionalChoices":[{"path":["example-slug"],"selected":false}]}}},"Sharedfdbb88f3":{"minItems":1,"maxItems":500,"type":"array","items":{"$ref":"#/components/schemas/Sharedc588d270"},"description":"Roots, in order.","example":[{"key":"example-slug","draft":{"kind":"schedule","revision":1,"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","timezone":"example","root":{"kind":"task","fields":{},"dates":{},"placement":{}},"stepOverrides":[{"kind":"task","path":["example-slug"]}],"optionalChoices":[{"path":["example-slug"],"selected":false}]}}]},"Shared71c87a88":{"type":"object","properties":{"kind":{"type":"string","const":"forest","description":"Selects the value variant."},"revision":{"type":"number","const":1,"description":"Revision for this record."},"state":{"type":"string","enum":["published","pending_draft"],"description":"Current lifecycle state."},"roots":{"$ref":"#/components/schemas/Sharedfdbb88f3","description":"Roots for this record."},"dependencies":{"$ref":"#/components/schemas/Shared418eae71","description":"Dependencies for this record."},"timing":{"$ref":"#/components/schemas/Shareda12fe0e8","description":"Timing for this record."}},"required":["kind","revision","state","roots","dependencies","timing"],"additionalProperties":false,"example":{"kind":"forest","revision":1,"state":"published","roots":[{"key":"example-slug","draft":{"kind":"schedule","revision":1,"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","timezone":"example","root":{"kind":"task","fields":{},"dates":{},"placement":{}},"stepOverrides":[{"kind":"task","path":["example-slug"]}],"optionalChoices":[{"path":["example-slug"],"selected":false}]}}],"dependencies":[{"blocker":{"rootKey":"example-slug","path":["example-slug"]},"blocked":{"rootKey":"example-slug","path":["example-slug"]}}],"timing":[{"target":{"rootKey":"example-slug","path":["example-slug"]},"prerequisite":{"rootKey":"example-slug","path":["example-slug"]},"offsetDays":0}]}},"Shared9dd94baa":{"oneOf":[{"$ref":"#/components/schemas/Shared651ae1c6"},{"$ref":"#/components/schemas/Shared2e85bb13"},{"$ref":"#/components/schemas/Shared9b550c94"},{"$ref":"#/components/schemas/Shared45becea9"}],"example":{"key":"example-slug","parentStepKey":"example-slug","sort":0,"optional":{"enabled":false,"selectedByDefault":false},"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"}},"teamRule":"parent_team","actorRule":"parent_responsible","kind":"task","fields":{"title":"example"},"cycleRule":"none","dates":{}}},"Sharedb87d7a07":{"maxItems":499,"type":"array","items":{"$ref":"#/components/schemas/Shared9dd94baa"},"description":"Steps, in order.","example":[{"key":"example-slug","parentStepKey":"example-slug","sort":0,"optional":{"enabled":false,"selectedByDefault":false},"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"}},"teamRule":"parent_team","actorRule":"parent_responsible","kind":"task","fields":{"title":"example"},"cycleRule":"none","dates":{}}]},"Shared3fad396c":{"default":{"steps":[],"dependencies":[]},"type":"object","properties":{"steps":{"$ref":"#/components/schemas/Sharedb87d7a07","description":"Steps for this record."},"dependencies":{"$ref":"#/components/schemas/Shared234ab8ba","description":"Dependencies for this record."}},"required":["steps","dependencies"],"additionalProperties":false,"description":"Blueprint for this record.","example":{"steps":[],"dependencies":[]}},"Shared1ae32a13":{"type":"object","properties":{"kind":{"type":"string","const":"forest","description":"Selects the value variant."},"revision":{"type":"number","const":2,"description":"Revision for this record."},"state":{"type":"string","enum":["published","pending_draft"],"description":"Current lifecycle state."},"creationMode":{"type":"string","enum":["all_at_once","when_ready"],"description":"Allowed creation mode value."},"roots":{"$ref":"#/components/schemas/Sharedfdbb88f3","description":"Roots for this record."},"dependencies":{"$ref":"#/components/schemas/Shared418eae71","description":"Dependencies for this record."},"timing":{"$ref":"#/components/schemas/Sharedda60bdc9","description":"Timing for this record."},"absentFields":{"$ref":"#/components/schemas/Shareda5928d68","description":"Absent fields for this record."},"titlePolicy":{"$ref":"#/components/schemas/Sharedcddd80f0","description":"Title policy for this record."},"titles":{"$ref":"#/components/schemas/Sharedf30dde57","description":"Titles for this record."},"completionPolicy":{"$ref":"#/components/schemas/Shared71ed01ee","description":"Completion policy for this record."},"placements":{"$ref":"#/components/schemas/Sharedf8563ccb","description":"Placements for this record."}},"required":["kind","revision","state","creationMode","roots","dependencies","timing","absentFields","titlePolicy","titles","completionPolicy"],"additionalProperties":false,"example":{"kind":"forest","revision":2,"state":"published","creationMode":"all_at_once","roots":[{"key":"example-slug","draft":{"kind":"schedule","revision":1,"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","timezone":"example","root":{"kind":"task","fields":{},"dates":{},"placement":{}},"stepOverrides":[{"kind":"task","path":["example-slug"]}],"optionalChoices":[{"path":["example-slug"],"selected":false}]}}],"dependencies":[{"blocker":{"rootKey":"example-slug","path":["example-slug"]},"blocked":{"rootKey":"example-slug","path":["example-slug"]}}],"timing":{"kind":"field_timing","revision":2,"rules":[{"target":{"rootKey":"example-slug","path":["example-slug"],"field":"startDate"},"source":{"kind":"run"},"offset":{"days":0,"unit":"calendar"}}]},"absentFields":[{"rootKey":"example-slug","path":["example-slug"],"field":"startDate"}],"titlePolicy":{"kind":"native_title","revision":1},"titles":[{"target":{"rootKey":"example-slug","path":["example-slug"]},"kind":"task","pattern":"example"}],"completionPolicy":{"kind":"terminal_actual_tree","revision":1}}},"Sharedc688683a":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"description":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Longer plain-language description."},"icon":{"$ref":"#/components/schemas/Shared0b6b7c60","description":"Icon for this record."},"defaultStatusKey":{"default":null,"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Default status key for this record."},"payload":{"$ref":"#/components/schemas/Shared2907ff68","description":"Payload for this record."},"blueprint":{"$ref":"#/components/schemas/Shared3fad396c","description":"Blueprint for this record."},"defaultSchedules":{"$ref":"#/components/schemas/Shared8dd1e6f1","description":"Default schedules for this record."}},"required":["name","payload"],"additionalProperties":false,"description":"Definition for this record.","example":{"name":"example","payload":{"targetType":"task"}}},"Shared595d593d":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"description":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Longer plain-language description."},"icon":{"$ref":"#/components/schemas/Shared0b6b7c60","description":"Icon for this record."},"defaultStatusKey":{"default":null,"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Default status key for this record."},"payload":{"$ref":"#/components/schemas/Shared2907ff68","description":"Payload for this record."},"blueprint":{"$ref":"#/components/schemas/Shared3fad396c","description":"Blueprint for this record."},"defaultSchedules":{"$ref":"#/components/schemas/Shared8dd1e6f1","description":"Default schedules for this record."}},"required":["name","payload"],"additionalProperties":false,"description":"Draft definition for this record.","example":{"name":"example","payload":{"targetType":"task"}}},"Shareda826fa0c":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The stable identifier for this resource."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"number":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Number for this record."},"definition":{"$ref":"#/components/schemas/Sharedc688683a","description":"Definition for this record."},"publishedAt":{"$ref":"#/components/schemas/Shared72754e75","description":"Published time as an ISO 8601 instant."},"publishedByActorId":{"$ref":"#/components/schemas/Sharedc27bb421","description":"Identifies the referenced published by actor."}},"required":["id","workTypeId","organizationId","number","definition","publishedAt","publishedByActorId"],"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":1,"definition":{"name":"example","payload":{"targetType":"task"}},"publishedAt":"2026-09-19T12:00:00.000Z","publishedByActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedae97781d":{"anyOf":[{"$ref":"#/components/schemas/Shareda826fa0c"},{"type":"null"}],"description":"Latest version for this record.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":1,"definition":{"name":"example","payload":{"targetType":"task"}},"publishedAt":"2026-09-19T12:00:00.000Z","publishedByActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared96f519fe":{"anyOf":[{"$ref":"#/components/schemas/Sharedb99b8362"},{"$ref":"#/components/schemas/Shared132f52b7"},{"$ref":"#/components/schemas/Shared25afcab4"},{"$ref":"#/components/schemas/Shared99654aec"},{"$ref":"#/components/schemas/Shared68b36de2"},{"$ref":"#/components/schemas/Shared31eaa421"},{"$ref":"#/components/schemas/Sharedd63f995c"},{"$ref":"#/components/schemas/Shared9ef57d9d"},{"$ref":"#/components/schemas/Shared18440dad"},{"$ref":"#/components/schemas/Shared01574847"},{"$ref":"#/components/schemas/Shared75c95be0"},{"$ref":"#/components/schemas/Sharedf62e2243"},{"$ref":"#/components/schemas/Shared21171429"},{"$ref":"#/components/schemas/Shared1f6cdd66"},{"$ref":"#/components/schemas/Sharedf568e420"},{"$ref":"#/components/schemas/Shared39c66928"},{"$ref":"#/components/schemas/Shared43852cf0"},{"$ref":"#/components/schemas/Shared641c61d3"},{"$ref":"#/components/schemas/Sharedffebf390"},{"$ref":"#/components/schemas/Sharedc6fde5d1"},{"$ref":"#/components/schemas/Shared94dfedb3"},{"$ref":"#/components/schemas/Sharedfa22a4d9"},{"$ref":"#/components/schemas/Shared50cef3eb"},{"$ref":"#/components/schemas/Shared54e53636"},{"$ref":"#/components/schemas/Shared3c7f3cf7"},{"$ref":"#/components/schemas/Shared7616ccec"},{"$ref":"#/components/schemas/Sharedbb8e4c5f"},{"$ref":"#/components/schemas/Shared296392db"},{"$ref":"#/components/schemas/Shared35856466"},{"$ref":"#/components/schemas/Shared51daf2c4"},{"$ref":"#/components/schemas/Sharedf462a1fb"},{"$ref":"#/components/schemas/Shared81079602"},{"$ref":"#/components/schemas/Shared48c9621d"},{"$ref":"#/components/schemas/Shared5dafa7dc"},{"$ref":"#/components/schemas/Shared3b9b23e9"},{"$ref":"#/components/schemas/Sharedeb98cd26"},{"$ref":"#/components/schemas/Shared5b3d33b3"},{"$ref":"#/components/schemas/Shared3ef7d6d9"},{"$ref":"#/components/schemas/Shared07599252"},{"$ref":"#/components/schemas/Shared727f8911"},{"$ref":"#/components/schemas/Shared4958041d"},{"$ref":"#/components/schemas/Shared429e18ba"},{"$ref":"#/components/schemas/Shared9e003558"},{"$ref":"#/components/schemas/Sharedeb9fae60"},{"$ref":"#/components/schemas/Sharedcaf27038"},{"$ref":"#/components/schemas/Shared173175cb"},{"$ref":"#/components/schemas/Shared6d5d2698"},{"$ref":"#/components/schemas/Shared010b0cc6"},{"$ref":"#/components/schemas/Shared94f70405"},{"$ref":"#/components/schemas/Shared70c8bade"},{"$ref":"#/components/schemas/Shareda144e87d"},{"$ref":"#/components/schemas/Shareda5f11481"},{"$ref":"#/components/schemas/Shared15827d32"},{"$ref":"#/components/schemas/Sharedbca14fb1"},{"$ref":"#/components/schemas/Shared8ff022de"},{"$ref":"#/components/schemas/Shared83c3a3c3"},{"$ref":"#/components/schemas/Shared8dc2d757"},{"$ref":"#/components/schemas/Sharedaa43d862"},{"$ref":"#/components/schemas/Sharedb05ec580"},{"$ref":"#/components/schemas/Shared6d47afcf"},{"$ref":"#/components/schemas/Shared5871557f"},{"$ref":"#/components/schemas/Shared1c76343a"},{"$ref":"#/components/schemas/Sharedb7f307c9"},{"$ref":"#/components/schemas/Shared9ab1852c"},{"$ref":"#/components/schemas/Sharedd8e242ed"},{"$ref":"#/components/schemas/Sharedfb54aacd"},{"$ref":"#/components/schemas/Sharede1501424"},{"$ref":"#/components/schemas/Shared83c8710e"},{"$ref":"#/components/schemas/Sharedc50f9249"},{"$ref":"#/components/schemas/Shared6a2e0565"},{"$ref":"#/components/schemas/Sharedd7d3d48c"},{"$ref":"#/components/schemas/Shared19513c0f"},{"$ref":"#/components/schemas/Shared563b18de"},{"$ref":"#/components/schemas/Shared09bbb5c3"},{"$ref":"#/components/schemas/Sharedc8d50665"},{"$ref":"#/components/schemas/Shared7c0ba124"},{"$ref":"#/components/schemas/Shareda4556f91"},{"$ref":"#/components/schemas/Shared2fb9d510"}],"example":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared4aa4c274":{"anyOf":[{"$ref":"#/components/schemas/Sharedb99b8362"},{"$ref":"#/components/schemas/Shared132f52b7"},{"$ref":"#/components/schemas/Shared25afcab4"},{"$ref":"#/components/schemas/Shared99654aec"},{"$ref":"#/components/schemas/Shared68b36de2"},{"$ref":"#/components/schemas/Shared31eaa421"},{"$ref":"#/components/schemas/Sharedd63f995c"},{"$ref":"#/components/schemas/Shared9ef57d9d"},{"$ref":"#/components/schemas/Shared18440dad"},{"$ref":"#/components/schemas/Shared01574847"},{"$ref":"#/components/schemas/Shared75c95be0"},{"$ref":"#/components/schemas/Sharedf62e2243"},{"$ref":"#/components/schemas/Shareda0ed303b"},{"$ref":"#/components/schemas/Shared15ba39ac"},{"$ref":"#/components/schemas/Sharedce545471"},{"$ref":"#/components/schemas/Shared22dd18fb"},{"$ref":"#/components/schemas/Shared3bdfd3fe"},{"$ref":"#/components/schemas/Shared8d884d2d"},{"$ref":"#/components/schemas/Shared21171429"},{"$ref":"#/components/schemas/Shared1f6cdd66"},{"$ref":"#/components/schemas/Sharedf568e420"},{"$ref":"#/components/schemas/Shared39c66928"},{"$ref":"#/components/schemas/Shared43852cf0"},{"$ref":"#/components/schemas/Shared641c61d3"},{"$ref":"#/components/schemas/Sharedffebf390"},{"$ref":"#/components/schemas/Sharedc6fde5d1"},{"$ref":"#/components/schemas/Shared94dfedb3"},{"$ref":"#/components/schemas/Sharedfa22a4d9"},{"$ref":"#/components/schemas/Shared50cef3eb"},{"$ref":"#/components/schemas/Shared54e53636"},{"$ref":"#/components/schemas/Shared5efd65dc"},{"$ref":"#/components/schemas/Shared1f8de71d"},{"$ref":"#/components/schemas/Shared303e5863"},{"$ref":"#/components/schemas/Shared0d2da049"},{"$ref":"#/components/schemas/Sharedb8035f09"},{"$ref":"#/components/schemas/Sharede12f1898"},{"$ref":"#/components/schemas/Shared51daf2c4"},{"$ref":"#/components/schemas/Sharedf462a1fb"},{"$ref":"#/components/schemas/Shared81079602"},{"$ref":"#/components/schemas/Shared48c9621d"},{"$ref":"#/components/schemas/Shared5dafa7dc"},{"$ref":"#/components/schemas/Sharedc0ba5b0d"},{"$ref":"#/components/schemas/Shareddf50f367"},{"$ref":"#/components/schemas/Sharedb047acf2"},{"$ref":"#/components/schemas/Shared4eb3d29f"},{"$ref":"#/components/schemas/Shared751d770a"},{"$ref":"#/components/schemas/Shared91256306"},{"$ref":"#/components/schemas/Shared86212133"},{"$ref":"#/components/schemas/Shared4a32c96e"},{"$ref":"#/components/schemas/Shared883d5f0b"},{"$ref":"#/components/schemas/Shared8481f33c"},{"$ref":"#/components/schemas/Shared97bece29"},{"$ref":"#/components/schemas/Shared0001d1d3"},{"$ref":"#/components/schemas/Shared41e8a9f8"},{"$ref":"#/components/schemas/Shared7d5fd98b"},{"$ref":"#/components/schemas/Sharedc22b0112"},{"$ref":"#/components/schemas/Sharedfc85a448"},{"$ref":"#/components/schemas/Shared07615093"},{"$ref":"#/components/schemas/Shared15a0f148"},{"$ref":"#/components/schemas/Shared675cef93"},{"$ref":"#/components/schemas/Shared928a2a83"},{"$ref":"#/components/schemas/Shared756c2af0"},{"$ref":"#/components/schemas/Sharedba62cbd3"},{"$ref":"#/components/schemas/Sharedb750c45d"},{"$ref":"#/components/schemas/Shared190d58fa"},{"$ref":"#/components/schemas/Sharedbc5fbce8"},{"$ref":"#/components/schemas/Shared1ca97bf0"},{"$ref":"#/components/schemas/Shared41edca8a"},{"$ref":"#/components/schemas/Shared0f435599"},{"$ref":"#/components/schemas/Shareda59972dc"},{"$ref":"#/components/schemas/Shared9a5cb61d"},{"$ref":"#/components/schemas/Shared251560e8"},{"$ref":"#/components/schemas/Sharedf29aa7f0"},{"$ref":"#/components/schemas/Shared6217d24d"},{"$ref":"#/components/schemas/Shared85d7cd8c"},{"$ref":"#/components/schemas/Shared563b18de"},{"$ref":"#/components/schemas/Shared09bbb5c3"},{"$ref":"#/components/schemas/Sharedc8d50665"},{"$ref":"#/components/schemas/Shared7c0ba124"},{"$ref":"#/components/schemas/Shareda4556f91"},{"$ref":"#/components/schemas/Shared2fb9d510"}],"example":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedfa8764cd":{"anyOf":[{"$ref":"#/components/schemas/Sharedbfde9ff1"},{"$ref":"#/components/schemas/Shared71c87a88"},{"$ref":"#/components/schemas/Shared1ae32a13"}],"example":{"kind":"schedule","revision":1,"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","timezone":"example","root":{"kind":"task","fields":{},"dates":{},"placement":{}},"stepOverrides":[{"kind":"task","path":["example-slug"]}],"optionalChoices":[{"path":["example-slug"],"selected":false}]}},"Shared7875e660":{"anyOf":[{"$ref":"#/components/schemas/Sharedfa8764cd"},{"type":"null"}],"description":"Document for this record.","example":{"kind":"schedule","revision":1,"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","timezone":"example","root":{"kind":"task","fields":{},"dates":{},"placement":{}},"stepOverrides":[{"kind":"task","path":["example-slug"]}],"optionalChoices":[{"path":["example-slug"],"selected":false}]}},"Shared33efa7e8":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a RecurrenceSeriesRevision — one immutable trigger version within a recurrence series."},"number":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Number for this record."},"effectiveFrom":{"$ref":"#/components/schemas/Shared70987bd5","description":"Effective from for this record."},"document":{"$ref":"#/components/schemas/Shared7875e660","description":"Document for this record."},"trigger":{"$ref":"#/components/schemas/Sharedf25fb505","description":"Trigger for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."}},"required":["id","number","effectiveFrom","document","trigger","createdAt"],"additionalProperties":false,"description":"Revision for this record.","example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":1,"effectiveFrom":"2026-09-19","document":{"kind":"schedule","revision":1,"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","timezone":"example","root":{"kind":"task","fields":{},"dates":{},"placement":{}},"stepOverrides":[{"kind":"task","path":["example-slug"]}],"optionalChoices":[{"path":["example-slug"],"selected":false}]},"trigger":{"kind":"manual"},"createdAt":"2026-09-19T12:00:00.000Z"}},"Shareda6e1b5db":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a RecurrenceSeries — a schedule that expects process occurrences."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"ownerProgramId":{"$ref":"#/components/schemas/Sharedcae1bfe3","description":"Identifies the referenced owner program."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Current lifecycle state."},"revision":{"$ref":"#/components/schemas/Shared33efa7e8","description":"Revision for this record."},"nextRunDate":{"$ref":"#/components/schemas/Shared304f56b6","description":"Next run date in YYYY-MM-DD format."},"nextWorkTitle":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Next work title for this record."},"failedRunCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Failed run count."},"templateArchived":{"type":"boolean","description":"Template archived for this record."},"retainedTemplate":{"$ref":"#/components/schemas/Sharedd615e2f4","description":"Retained template for this record."},"canEdit":{"type":"boolean","description":"Whether edit."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."},"pausedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Paused time as an ISO 8601 instant."},"endedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ended time as an ISO 8601 instant."}},"required":["id","organizationId","ownerProgramId","name","status","revision","nextRunDate","templateArchived","canEdit","createdAt","updatedAt","pausedAt","endedAt"],"additionalProperties":false,"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","ownerProgramId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"active","revision":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":1,"effectiveFrom":"2026-09-19","document":{"kind":"schedule","revision":1,"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","timezone":"example","root":{"kind":"task","fields":{},"dates":{},"placement":{}},"stepOverrides":[{"kind":"task","path":["example-slug"]}],"optionalChoices":[{"path":["example-slug"],"selected":false}]},"trigger":{"kind":"manual"},"createdAt":"2026-09-19T12:00:00.000Z"},"nextRunDate":"2026-09-19","templateArchived":false,"canEdit":false,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","pausedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z"}},"Sharedf93dfd5e":{"anyOf":[{"$ref":"#/components/schemas/Sharedb99b8362"},{"$ref":"#/components/schemas/Shared132f52b7"},{"$ref":"#/components/schemas/Shared25afcab4"},{"$ref":"#/components/schemas/Shared99654aec"},{"$ref":"#/components/schemas/Shared68b36de2"},{"$ref":"#/components/schemas/Shared31eaa421"},{"$ref":"#/components/schemas/Sharedd63f995c"},{"$ref":"#/components/schemas/Shared9ef57d9d"},{"$ref":"#/components/schemas/Shared18440dad"},{"$ref":"#/components/schemas/Shared01574847"},{"$ref":"#/components/schemas/Shared75c95be0"},{"$ref":"#/components/schemas/Sharedf62e2243"},{"$ref":"#/components/schemas/Shared37250889"},{"$ref":"#/components/schemas/Shared05d06386"},{"$ref":"#/components/schemas/Shared620c1953"},{"$ref":"#/components/schemas/Sharedf4cfabf9"},{"$ref":"#/components/schemas/Shared3bdfd3fe"},{"$ref":"#/components/schemas/Shared8d884d2d"},{"$ref":"#/components/schemas/Shared21171429"},{"$ref":"#/components/schemas/Shared1f6cdd66"},{"$ref":"#/components/schemas/Sharedf568e420"},{"$ref":"#/components/schemas/Shared39c66928"},{"$ref":"#/components/schemas/Shared43852cf0"},{"$ref":"#/components/schemas/Shared641c61d3"},{"$ref":"#/components/schemas/Shared3ea976a5"},{"$ref":"#/components/schemas/Sharedcf0cf152"},{"$ref":"#/components/schemas/Shared7b7339a0"},{"$ref":"#/components/schemas/Sharedbc0b01a8"},{"$ref":"#/components/schemas/Shared808841d0"},{"$ref":"#/components/schemas/Shared4ee2ce73"},{"$ref":"#/components/schemas/Sharedac3ed929"},{"$ref":"#/components/schemas/Shared70ea106a"},{"$ref":"#/components/schemas/Shared0a35563d"},{"$ref":"#/components/schemas/Sharedb93c214f"},{"$ref":"#/components/schemas/Sharede0943a8a"},{"$ref":"#/components/schemas/Shared88003d82"},{"$ref":"#/components/schemas/Shared356bd705"},{"$ref":"#/components/schemas/Shared458b0694"},{"$ref":"#/components/schemas/Sharedec9fca2a"},{"$ref":"#/components/schemas/Shared17fb5af9"},{"$ref":"#/components/schemas/Shared9382ee2d"},{"$ref":"#/components/schemas/Sharedf328dd8a"},{"$ref":"#/components/schemas/Shared7d68ccac"},{"$ref":"#/components/schemas/Shared263d1fa4"},{"$ref":"#/components/schemas/Shared8d138ce4"},{"$ref":"#/components/schemas/Shared868f55b7"},{"$ref":"#/components/schemas/Shared3c7f3cf7"},{"$ref":"#/components/schemas/Shared7616ccec"},{"$ref":"#/components/schemas/Sharedbb8e4c5f"},{"$ref":"#/components/schemas/Shared296392db"},{"$ref":"#/components/schemas/Shared35856466"},{"$ref":"#/components/schemas/Shared51daf2c4"},{"$ref":"#/components/schemas/Sharedf462a1fb"},{"$ref":"#/components/schemas/Shared81079602"},{"$ref":"#/components/schemas/Shared48c9621d"},{"$ref":"#/components/schemas/Shared5dafa7dc"},{"$ref":"#/components/schemas/Shared80a73568"},{"$ref":"#/components/schemas/Shared5b6c9fb6"},{"$ref":"#/components/schemas/Shared5b74ad75"},{"$ref":"#/components/schemas/Shared9be228ee"},{"$ref":"#/components/schemas/Shared18b8ffcd"},{"$ref":"#/components/schemas/Shared6b51de3b"},{"$ref":"#/components/schemas/Shared71a78174"},{"$ref":"#/components/schemas/Shared52bd7b87"},{"$ref":"#/components/schemas/Sharedc0ba5b0d"},{"$ref":"#/components/schemas/Shareddf50f367"},{"$ref":"#/components/schemas/Sharedb047acf2"},{"$ref":"#/components/schemas/Shared4eb3d29f"},{"$ref":"#/components/schemas/Shared751d770a"},{"$ref":"#/components/schemas/Shared91256306"},{"$ref":"#/components/schemas/Shared86212133"},{"$ref":"#/components/schemas/Shared4a32c96e"},{"$ref":"#/components/schemas/Shared4958041d"},{"$ref":"#/components/schemas/Shared429e18ba"},{"$ref":"#/components/schemas/Shared9e003558"},{"$ref":"#/components/schemas/Sharedeb9fae60"},{"$ref":"#/components/schemas/Sharedcaf27038"},{"$ref":"#/components/schemas/Shared173175cb"},{"$ref":"#/components/schemas/Sharedf1bf8675"},{"$ref":"#/components/schemas/Shared621a0f1f"},{"$ref":"#/components/schemas/Sharedba16188a"},{"$ref":"#/components/schemas/Shared930bda27"},{"$ref":"#/components/schemas/Shared583e45b2"},{"$ref":"#/components/schemas/Shared4b7622a0"},{"$ref":"#/components/schemas/Shared11e7d3f9"},{"$ref":"#/components/schemas/Sharedb1ba8ec8"},{"$ref":"#/components/schemas/Shared6d5d2698"},{"$ref":"#/components/schemas/Shared010b0cc6"},{"$ref":"#/components/schemas/Shared94f70405"},{"$ref":"#/components/schemas/Shared70c8bade"},{"$ref":"#/components/schemas/Shareda144e87d"},{"$ref":"#/components/schemas/Shareda5f11481"},{"$ref":"#/components/schemas/Shared15827d32"},{"$ref":"#/components/schemas/Sharedbca14fb1"},{"$ref":"#/components/schemas/Shared7ae61a2f"},{"$ref":"#/components/schemas/Shareda06407a0"},{"$ref":"#/components/schemas/Sharedb80e7468"},{"$ref":"#/components/schemas/Shared71c46047"},{"$ref":"#/components/schemas/Shared5c80c189"},{"$ref":"#/components/schemas/Sharedd4062638"},{"$ref":"#/components/schemas/Shared53ac1676"},{"$ref":"#/components/schemas/Sharedc61fafc1"},{"$ref":"#/components/schemas/Sharedccb08080"},{"$ref":"#/components/schemas/Shared9ab1852c"},{"$ref":"#/components/schemas/Sharedd8e242ed"},{"$ref":"#/components/schemas/Sharedfb54aacd"},{"$ref":"#/components/schemas/Sharede1501424"},{"$ref":"#/components/schemas/Shared83c8710e"},{"$ref":"#/components/schemas/Sharedc50f9249"},{"$ref":"#/components/schemas/Shared6a2e0565"},{"$ref":"#/components/schemas/Sharedd7d3d48c"},{"$ref":"#/components/schemas/Shared19513c0f"},{"$ref":"#/components/schemas/Shared77a258a4"},{"$ref":"#/components/schemas/Sharedda4a0575"},{"$ref":"#/components/schemas/Sharedf17d0385"},{"$ref":"#/components/schemas/Shareda0dfb50c"},{"$ref":"#/components/schemas/Shared79192a26"},{"$ref":"#/components/schemas/Shareda501db31"},{"$ref":"#/components/schemas/Shared5f8025fd"},{"$ref":"#/components/schemas/Shared2a89cc14"},{"$ref":"#/components/schemas/Sharedecc19ce7"},{"$ref":"#/components/schemas/Shared563b18de"},{"$ref":"#/components/schemas/Shared09bbb5c3"},{"$ref":"#/components/schemas/Sharedc8d50665"},{"$ref":"#/components/schemas/Shared7c0ba124"},{"$ref":"#/components/schemas/Shareda4556f91"},{"$ref":"#/components/schemas/Shared2fb9d510"}],"example":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Shared977cd481":{"anyOf":[{"$ref":"#/components/schemas/Sharedb99b8362"},{"$ref":"#/components/schemas/Shared132f52b7"},{"$ref":"#/components/schemas/Shared25afcab4"},{"$ref":"#/components/schemas/Shared99654aec"},{"$ref":"#/components/schemas/Shared68b36de2"},{"$ref":"#/components/schemas/Shared31eaa421"},{"$ref":"#/components/schemas/Sharedd63f995c"},{"$ref":"#/components/schemas/Shared9ef57d9d"},{"$ref":"#/components/schemas/Shared18440dad"},{"$ref":"#/components/schemas/Shared01574847"},{"$ref":"#/components/schemas/Shared75c95be0"},{"$ref":"#/components/schemas/Sharedf62e2243"},{"$ref":"#/components/schemas/Shared37250889"},{"$ref":"#/components/schemas/Shared05d06386"},{"$ref":"#/components/schemas/Shared620c1953"},{"$ref":"#/components/schemas/Sharedf4cfabf9"},{"$ref":"#/components/schemas/Shared3bdfd3fe"},{"$ref":"#/components/schemas/Shared8d884d2d"},{"$ref":"#/components/schemas/Shareddef18396"},{"$ref":"#/components/schemas/Shared7df1a5cb"},{"$ref":"#/components/schemas/Sharedbf3a161d"},{"$ref":"#/components/schemas/Shared914a6fb7"},{"$ref":"#/components/schemas/Shared3fff397d"},{"$ref":"#/components/schemas/Sharedcd11d27c"},{"$ref":"#/components/schemas/Shared040fda86"},{"$ref":"#/components/schemas/Shared1ad94d7b"},{"$ref":"#/components/schemas/Shared10bc3fcd"},{"$ref":"#/components/schemas/Sharedd91f2fe7"},{"$ref":"#/components/schemas/Shared588defed"},{"$ref":"#/components/schemas/Shared64daa46c"},{"$ref":"#/components/schemas/Shared41bae4db"},{"$ref":"#/components/schemas/Sharedfc22c98c"},{"$ref":"#/components/schemas/Shared0f878267"},{"$ref":"#/components/schemas/Shared1e7a4bbd"},{"$ref":"#/components/schemas/Sharedf35173b3"},{"$ref":"#/components/schemas/Shared300a74ee"},{"$ref":"#/components/schemas/Sharedf00d5e41"},{"$ref":"#/components/schemas/Shared4544d86e"},{"$ref":"#/components/schemas/Shareda592168e"},{"$ref":"#/components/schemas/Sharedc331b7f2"},{"$ref":"#/components/schemas/Shared4b66faa9"},{"$ref":"#/components/schemas/Shared4f1220f8"},{"$ref":"#/components/schemas/Shared9382ee2d"},{"$ref":"#/components/schemas/Sharedf328dd8a"},{"$ref":"#/components/schemas/Shared7d68ccac"},{"$ref":"#/components/schemas/Shared263d1fa4"},{"$ref":"#/components/schemas/Shared8d138ce4"},{"$ref":"#/components/schemas/Shared868f55b7"},{"$ref":"#/components/schemas/Shared03bd7453"},{"$ref":"#/components/schemas/Sharedbe279154"},{"$ref":"#/components/schemas/Sharedb1f21962"},{"$ref":"#/components/schemas/Shared84dddf36"},{"$ref":"#/components/schemas/Sharedcb3bbb06"},{"$ref":"#/components/schemas/Sharedfaa0b465"},{"$ref":"#/components/schemas/Sharede5c2f714"},{"$ref":"#/components/schemas/Sharedf550d0a5"},{"$ref":"#/components/schemas/Sharede98504a9"},{"$ref":"#/components/schemas/Shared3b099d53"},{"$ref":"#/components/schemas/Shared93d6ec9a"},{"$ref":"#/components/schemas/Shared66d8bd69"},{"$ref":"#/components/schemas/Shared38027716"},{"$ref":"#/components/schemas/Shared352b7c4b"},{"$ref":"#/components/schemas/Shared33a4ae2f"},{"$ref":"#/components/schemas/Shareddf3aa805"},{"$ref":"#/components/schemas/Shared41edca8a"},{"$ref":"#/components/schemas/Shared0f435599"},{"$ref":"#/components/schemas/Shared51daf2c4"},{"$ref":"#/components/schemas/Sharedf462a1fb"},{"$ref":"#/components/schemas/Shared81079602"},{"$ref":"#/components/schemas/Shared48c9621d"},{"$ref":"#/components/schemas/Shared5dafa7dc"},{"$ref":"#/components/schemas/Sharedd3b88d97"},{"$ref":"#/components/schemas/Shared93ae0878"},{"$ref":"#/components/schemas/Shared2748c684"},{"$ref":"#/components/schemas/Sharedae473667"},{"$ref":"#/components/schemas/Sharedc5f7004e"},{"$ref":"#/components/schemas/Sharedcb77e7bd"},{"$ref":"#/components/schemas/Shared4958041d"},{"$ref":"#/components/schemas/Shared429e18ba"},{"$ref":"#/components/schemas/Shared9e003558"},{"$ref":"#/components/schemas/Sharedeb9fae60"},{"$ref":"#/components/schemas/Sharedcaf27038"},{"$ref":"#/components/schemas/Shared173175cb"},{"$ref":"#/components/schemas/Shared80a73568"},{"$ref":"#/components/schemas/Shared5b6c9fb6"},{"$ref":"#/components/schemas/Shared5b74ad75"},{"$ref":"#/components/schemas/Shared9be228ee"},{"$ref":"#/components/schemas/Shared18b8ffcd"},{"$ref":"#/components/schemas/Shared6b51de3b"},{"$ref":"#/components/schemas/Shared71a78174"},{"$ref":"#/components/schemas/Shared52bd7b87"},{"$ref":"#/components/schemas/Sharedbc18337a"},{"$ref":"#/components/schemas/Shared4a043400"},{"$ref":"#/components/schemas/Shared7081dd4b"},{"$ref":"#/components/schemas/Sharedbc407c70"},{"$ref":"#/components/schemas/Shared6dc671bb"},{"$ref":"#/components/schemas/Shared9a13b3a1"},{"$ref":"#/components/schemas/Shared46ca7cce"},{"$ref":"#/components/schemas/Shared447ae13d"},{"$ref":"#/components/schemas/Sharedf1bf8675"},{"$ref":"#/components/schemas/Shared621a0f1f"},{"$ref":"#/components/schemas/Sharedba16188a"},{"$ref":"#/components/schemas/Shared930bda27"},{"$ref":"#/components/schemas/Shared583e45b2"},{"$ref":"#/components/schemas/Shared4b7622a0"},{"$ref":"#/components/schemas/Shared11e7d3f9"},{"$ref":"#/components/schemas/Sharedb1ba8ec8"},{"$ref":"#/components/schemas/Shared6d5d2698"},{"$ref":"#/components/schemas/Shared010b0cc6"},{"$ref":"#/components/schemas/Shared94f70405"},{"$ref":"#/components/schemas/Shared70c8bade"},{"$ref":"#/components/schemas/Shareda144e87d"},{"$ref":"#/components/schemas/Shareda5f11481"},{"$ref":"#/components/schemas/Shared15827d32"},{"$ref":"#/components/schemas/Sharedbca14fb1"},{"$ref":"#/components/schemas/Sharedf295f6ac"},{"$ref":"#/components/schemas/Shared4d2c036d"},{"$ref":"#/components/schemas/Shared2a4c674d"},{"$ref":"#/components/schemas/Shared8c73e5a4"},{"$ref":"#/components/schemas/Shared19fd568e"},{"$ref":"#/components/schemas/Shared40e696c9"},{"$ref":"#/components/schemas/Shared9cc90e15"},{"$ref":"#/components/schemas/Shared132d9818"},{"$ref":"#/components/schemas/Shared9337f26b"},{"$ref":"#/components/schemas/Shared5e5ce2cd"},{"$ref":"#/components/schemas/Shared8c3b6a6a"},{"$ref":"#/components/schemas/Shareda3e209fe"},{"$ref":"#/components/schemas/Shared80ee92f9"},{"$ref":"#/components/schemas/Sharedab59c3df"},{"$ref":"#/components/schemas/Shared69bbd49a"},{"$ref":"#/components/schemas/Shared0ad42794"},{"$ref":"#/components/schemas/Shared8e361923"},{"$ref":"#/components/schemas/Shared831f9e1e"},{"$ref":"#/components/schemas/Shared3d0d3046"},{"$ref":"#/components/schemas/Sharedcb39920b"},{"$ref":"#/components/schemas/Shared97363bc5"},{"$ref":"#/components/schemas/Shared74688926"}],"example":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}},"Sharedf6ae8c43":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"targetType":{"$ref":"#/components/schemas/Shared07f21ed5","description":"Target type for this record."},"status":{"type":"string","enum":["draft","published","archived"],"description":"Current lifecycle state."},"scope":{"type":"string","enum":["personal","team","organization"],"description":"Allowed scope value."},"ownerActorId":{"$ref":"#/components/schemas/Sharedd046f359","description":"Identifies the referenced owner actor."},"teamId":{"$ref":"#/components/schemas/Shared92c7d287","description":"Identifies the referenced team."},"isBase":{"type":"boolean","description":"Whether base."},"origin":{"$ref":"#/components/schemas/Shared52711abe","description":"Origin for this record."},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Revision for this record."},"definition":{"$ref":"#/components/schemas/Sharedc688683a","description":"Definition for this record."},"draftDefinition":{"$ref":"#/components/schemas/Shared595d593d","description":"Draft definition for this record."},"offeredTeamIds":{"$ref":"#/components/schemas/Shared8b85ef6a","description":"Offered team ids for this record."},"latestVersion":{"$ref":"#/components/schemas/Sharedae97781d","description":"Latest version for this record."},"pendingPublication":{"$ref":"#/components/schemas/Shared43936cc7","description":"Pending publication for this record."},"canEdit":{"type":"boolean","description":"Whether edit."},"createdAt":{"$ref":"#/components/schemas/Shared5a69cae8","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["id","organizationId","targetType","status","scope","ownerActorId","teamId","isBase","revision","definition","offeredTeamIds","latestVersion","canEdit","createdAt","updatedAt"],"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetType":"task","status":"draft","scope":"personal","ownerActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","isBase":false,"revision":0,"definition":{"name":"example","payload":{"targetType":"task"}},"offeredTeamIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"latestVersion":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":1,"definition":{"name":"example","payload":{"targetType":"task"}},"publishedAt":"2026-09-19T12:00:00.000Z","publishedByActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"canEdit":false,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}}},"responses":{"UnsupportedApiVersionProblem":{"description":"The requested API version is not supported. Send the current Docket-Version value or omit the header to use the current contract. Correct the request using the Problem code and field issues before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UnsupportedApiVersionProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"ValidationErrorProblem":{"description":"Some information needs attention. One or more fields could not be accepted. Correct the reported field issues before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ValidationErrorProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"UnauthorizedProblem":{"description":"Sign in required. Docket could not find a valid session for this request. Obtain a new credential before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UnauthorizedProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"InsufficientScopeProblem":{"description":"This access token needs another permission. Authorize the required scope and retry with the replacement access token. Use a principal with the documented OAuth scope, workspace capability, and resource access.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InsufficientScopeProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"ForbiddenProblem":{"description":"You don't have permission to do that. Your account does not have the required access. Use a principal with the documented OAuth scope, workspace capability, and resource access.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ForbiddenProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"NotFoundProblem":{"description":"That item could not be found. The address may be wrong, or the item may no longer be available. Verify the identifier and caller access. Docket does not reveal whether an inaccessible resource exists.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotFoundProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"ConflictProblem":{"description":"That change conflicts with the current state. The requested change no longer matches the saved state. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConflictProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"AcceptedPlanRequiresRevisionProblem":{"description":"Revise the accepted daily plan to make this change. Preview the change in the daily planner and confirm the revised plan. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AcceptedPlanRequiresRevisionProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"CadenceChangedProblem":{"description":"Cycle settings changed. Refresh and try again. The team cadence changed after you loaded it. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CadenceChangedProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"BlueprintLimitProblem":{"description":"A template can create at most 500 work items. Reduce the expanded template tree before creating work. Correct the reported field issues before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BlueprintLimitProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"BlueprintLoopProblem":{"description":"Remove the template loop before continuing. A nested template, dependency or timing rule points back to itself. Correct the reported field issues before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BlueprintLoopProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"BlueprintPrerequisiteProblem":{"description":"Select the required parent or prerequisite work. Optional selections must include the work they depend on. Correct the reported field issues before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BlueprintPrerequisiteProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"BlueprintDestinationRequiredProblem":{"description":"Choose a team for the generated tasks. Generated Tasks need an authorized destination team. Correct the reported field issues before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BlueprintDestinationRequiredProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"BlueprintInvalidProblem":{"description":"Review the template children and timing. The selected blueprint does not satisfy the work-template rules. Correct the reported field issues before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BlueprintInvalidProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"BlueprintIncompleteCaptureProblem":{"description":"All selected work must be available to save this template. A faithful template cannot omit inaccessible or oversized selected work. Correct the reported field issues before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BlueprintIncompleteCaptureProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"BlueprintPreviewStaleProblem":{"description":"The template preview changed. Review it again. Review current template versions, permissions, choices and dates before accepting. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BlueprintPreviewStaleProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"ImageInUseProblem":{"description":"That image is still used in saved content. Remove the image from saved content before deleting it. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ImageInUseProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"IdentityInUseProblem":{"description":"That connected account is still in use. At least one connection still depends on this account. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/IdentityInUseProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"ExternalIdentityMismatchProblem":{"description":"Connect the account that opened this Athena session. The linked account does not match this external Athena request. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ExternalIdentityMismatchProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"AccountSelectionRequiredProblem":{"description":"Choose an account to continue. More than one connected account can handle this request. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AccountSelectionRequiredProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"LinearWorkspaceAlreadyConnectedProblem":{"description":"That Linear workspace is already connected. That Linear workspace belongs to an existing Docket connection. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/LinearWorkspaceAlreadyConnectedProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"LinearWriteScopeRequiredProblem":{"description":"Reconnect Linear with write access to enable two-way sync. The current Linear connection cannot update Linear. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/LinearWriteScopeRequiredProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"CalendarSourceScopeRequiredProblem":{"description":"Connect this account with calendar-list access to continue. The current calendar grant cannot change source membership. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CalendarSourceScopeRequiredProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"CalendarSourceProtectedProblem":{"description":"This calendar cannot be removed from its account. Primary and owner-managed calendars must stay on their accounts. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CalendarSourceProtectedProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"CalendarSourceWritesPendingProblem":{"description":"Resolve pending calendar changes before removing this source. This source still has changes that could be lost. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CalendarSourceWritesPendingProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"CalendarSourceRemovalFailedProblem":{"description":"The calendar provider did not remove this source. No local calendar data changed. Try the removal again. Wait for Retry-After before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CalendarSourceRemovalFailedProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"TaskAlreadyLinkedProblem":{"description":"That task is already linked. Docket already has this relationship. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/TaskAlreadyLinkedProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"IdempotencyKeyReuseProblem":{"description":"That request conflicts with an earlier attempt. The same request key was used with different information. Correct the reported field issues before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/IdempotencyKeyReuseProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"DependencyCycleProblem":{"description":"That dependency would create a cycle. The requested link would make the task depend on itself. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DependencyCycleProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"LastOwnerGuardProblem":{"description":"Every workspace must retain an owner. This change would leave the workspace without an owner. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/LastOwnerGuardProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"CurrentSessionProblem":{"description":"The current session cannot be revoked here. The session making this request must remain active. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CurrentSessionProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SelfEscalationProblem":{"description":"You cannot raise your own access level. People cannot grant themselves more access. Use a principal with the documented OAuth scope, workspace capability, and resource access.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SelfEscalationProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"PersonalOrgNoInvitesProblem":{"description":"Personal workspaces cannot invite members. A personal workspace has one member. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PersonalOrgNoInvitesProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"ReauthRequiredProblem":{"description":"Verify your identity to continue. The current session is too old for this sensitive action. Obtain a new credential before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ReauthRequiredProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"RateLimitedProblem":{"description":"Too many requests. Try again shortly. Too many requests. Try again shortly. Wait for Retry-After before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RateLimitedProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"GeocodingUnavailableProblem":{"description":"Address search is unavailable. Docket could not complete the address lookup. Try again shortly. Wait for Retry-After before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/GeocodingUnavailableProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"DeletionBlockedProblem":{"description":"Resolve workspace ownership before deleting your account. You still own a shared workspace that must be transferred or deleted. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DeletionBlockedProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"CardRequiredProblem":{"description":"Payment details are required to continue. Docket cannot start this purchase without payment details. Ask a workspace billing administrator to restore the required access.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CardRequiredProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"BillingFrozenProblem":{"description":"Billing currently prevents this change. Past-due or canceled billing currently blocks this change. Ask a workspace billing administrator to restore the required access.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BillingFrozenProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"BillingCustomerMissingProblem":{"description":"Billing needs staff attention before you can continue. Docket could not match this workspace to one Stripe customer. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BillingCustomerMissingProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"BillingUnavailableProblem":{"description":"New billing changes are paused. Docket has paused new purchases and discount applications. Wait for Retry-After before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BillingUnavailableProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"PhoneVerificationUnavailableProblem":{"description":"Phone verification is not available right now. No verification request was created. Try again later. Wait for Retry-After before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PhoneVerificationUnavailableProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"CheckoutPendingProblem":{"description":"Docket is already preparing Checkout. Another Checkout request for this workspace is still in progress. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CheckoutPendingProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SubscriptionExistsProblem":{"description":"Docket Pro is already active for this workspace. This workspace already has a current Docket Pro subscription. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/SubscriptionExistsProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"DiscountApplicationPendingProblem":{"description":"This workspace already has a discount application in review. Docket must finish the current application before another starts. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DiscountApplicationPendingProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"DiscountAwardConflictProblem":{"description":"This workspace already has a discount award. Discounts cannot stack on one workspace. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DiscountAwardConflictProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"BillingProviderSyncFailedProblem":{"description":"Docket could not confirm this billing change. Stripe did not confirm the requested billing change. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BillingProviderSyncFailedProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"BillingGraceExpiredProblem":{"description":"The payment recovery period has ended. Shared work is read-only until payment recovers. Ask a workspace billing administrator to restore the required access.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BillingGraceExpiredProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"ProductRequiredProblem":{"description":"Docket Pro is required for this action. This organization does not have Docket Pro. Ask a workspace billing administrator to restore the required access.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProductRequiredProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"AgentPlanRequiredProblem":{"description":"Docket Pro is required to use Athena. This organization does not have Docket Pro. Ask a workspace billing administrator to restore the required access.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/AgentPlanRequiredProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"DomainAlreadyClaimedProblem":{"description":"That domain is already claimed by a workspace. Another workspace already uses this domain. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/DomainAlreadyClaimedProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"PublicNameTakenProblem":{"description":"That name is already taken. Another public page already uses this address. Read the Problem code and resolve the conflicting resource state.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PublicNameTakenProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"MethodNotAllowedProblem":{"description":"That action is not available on this address. This address does not accept the requested method. Correct the request using the Problem code and field issues before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/MethodNotAllowedProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"NotAcceptableProblem":{"description":"That response format is not available. This address cannot return the requested response format. Request one of the media types documented for the operation.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/NotAcceptableProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"PayloadTooLargeProblem":{"description":"That is too large to upload. The request exceeds the upload limit. Send a smaller body or upload.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PayloadTooLargeProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"PreconditionFailedProblem":{"description":"Someone else changed this first. The saved item changed after you last loaded it. Fetch the current representation and retry with its strong ETag.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"UnsupportedMediaTypeProblem":{"description":"That file or format cannot be read. This address cannot read the request content type. Send one of the documented Content-Type values.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/UnsupportedMediaTypeProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"LatticeUnavailableProblem":{"description":"Your Lattice computer is unavailable. Wake the selected computer or reconnect Lovelace in Settings, then try again. Wait for Retry-After before retrying.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/LatticeUnavailableProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"InternalProblem":{"description":"Something went wrong on our side. Docket could not complete the request. Record X-Request-Id. Retry safe reads with backoff; retry writes only when the operation supports idempotency.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalProblem"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse3294400e":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shared4c768269"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse7c905254":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdBillingDiscountsApplicationsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse1f8cec86":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdBillingDiscountsApplicationsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsea91e902b":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdTeamsByIdMentionsResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse6e44c9d1":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplatePreviewResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse5dfa1f1c":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplateUpdateResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse87d660ac":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplateSaveAsPreviewResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsec7efdcaf":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplateSaveAsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse43c9efd1":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdProjectsByIdResourcesResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse23868411":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse3b7860a7":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteV1OrgsByOrgIdProjectsByIdResourcesByResourceIdResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsed184e5d8":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdTasksResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse94db3ddd":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse9c0b57a5":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shared6e77fda4"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse74918695":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse2637dc40":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shared76aecb6c"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse6f5e8c7a":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdInitiativesByIdLabelsResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse72c05707":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkStatusSetOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse3353deb2":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsebcaa174e":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdTemplatesDefinitionsProposalsTailoringResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse6f00fb13":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdTemplatesDefinitionsGalleryCopiesResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse30807d73":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdTemplatesDefinitionsGalleryCopiesResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse4fda9397":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdTemplatesDefinitionsGalleryCopiesByBundleIdResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse5dcd37c9":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdTemplatesDefinitionsGalleryCopiesByBundleIdUndoResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse39d079a7":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdTemplatesDefinitionsLabelConversionsResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse6b965a17":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sharedf6ae8c43"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse08cd9b37":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProcessDefinitionsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse3bba01c7":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdRecurrenceSeriesForTaskByTaskIdResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse5fb91652":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdRecurrenceSeriesByIdResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse7d0acb1e":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdWorkSchedulesPreviewResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse2dfbaf9a":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shared125adfac"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsecbe04e4c":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse5977bfc2":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsefee380a2":{"description":"Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSessionOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponseda5418f0":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdSessionsChatResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsed732741b":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSessionOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponseb53a4b92":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdSessionsByIdProposalsResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse2ca718fd":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSessionOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse83ac9245":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionActivityOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse4ec5f124":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdSessionsByIdActivityResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse7696c58a":{"description":"Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionActivityOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponseedd31343":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionActivityOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsed2d1a1fc":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncRunOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsea0f6a2e0":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"Human-readable name."}},"required":["name"]},"example":{"name":"example"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsec9650f3b":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"authorizationUrl":{"type":"string","format":"uri","description":"Authorization url for this record."}},"required":["authorizationUrl"]},"example":{"authorizationUrl":"https://api.clearthedocket.com/v1/example"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsee1d5261b":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","const":true,"description":"Ok for this record."}},"required":["ok"]},"example":{"ok":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse1afeb78a":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse3d4e6c63":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1DirectiveReviewResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsee3ddd046":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeRecordOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsed01ebe26":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeRecordOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsece0ebf0c":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeCalendarResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse0833ac88":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeCalendarResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse1c8adc9d":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarItemOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponseac2903a7":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkPlaceGeocodeCandidate"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse24cae330":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1MeWorkLocationAssertionsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse114dc08b":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsed1206744":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactPointOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsef23c4da0":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1MePhoneNumbersResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse74eedd93":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneNumberOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse29b1e2d4":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shared03bc2191"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse2293bb9b":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAccountResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsefbb0c535":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAthenaChatResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse7340ad9d":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAthenaChatResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse69bc3cd5":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAthenaChatResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse593f0b8c":{"description":"Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAthenaChatResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponsef9e81eab":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AthenaSessionSummaryOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse448c7552":{"description":"Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AthenaSessionSummaryOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse44e0a1fd":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sharede16f8eed"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse31caef77":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAthenaLatticeResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse210bbb0b":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAthenaMailResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"SharedResponse690247a1":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1MeAthenaMcpAppsCallResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}}},"securitySchemes":{"sessionCookie":{"type":"apiKey","in":"cookie","name":"__Secure-better-auth.session_token","description":"The secure first-party Docket browser session cookie. External integrations should use OAuth 2.1 instead of reading or setting this cookie."},"restOAuth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://clearthedocket.com/api/auth/oauth2/authorize","tokenUrl":"https://api.clearthedocket.com/api/auth/oauth2/token","scopes":{"work:read":"View workspace structure, work, comments, updates, search, saved views, schedules, calendars, time, and your notifications.","work:write":"Create and update work, comments, plans, schedules, time records, notification read state, and published brief content.","agents:run":"Start, steer, resume, and cancel Athena or agent sessions, use voice sessions, and approve or reject proposed actions.","connectors:link":"Connect, configure, disconnect, and run integrations with other tools you use.","offline_access":"Keep working on your behalf without asking you to sign in again."}}}},"shareToken":{"type":"apiKey","in":"header","name":"X-Docket-Share-Token","description":"A revocable share token for the public shared time status operation. It is not a browser session or an OAuth access token."}}},"security":[{"sessionCookie":[]}],"tags":[{"name":"Config","description":"Read the public bootstrap configuration that clients need before sign-in. These operations expose non-secret settings such as enabled authentication providers and application mode.","x-displayName":"Config"},{"name":"Authentication","description":"Look up registered OAuth client information used during authorization. Each operation documents its own authentication requirements; this group does not grant access to protected resources.","x-displayName":"Authentication"},{"name":"Orgs","description":"Organizations define workspace and tenant boundaries. Create and manage personal or shared workspaces, and list the organizations available to the caller.","x-displayName":"Organizations (workspaces)"},{"name":"Members","description":"Manage workspace membership, invitations, and member roles. Membership connects a person to an organization through an actor whose permissions apply within that workspace.","x-displayName":"Members"},{"name":"Roles","description":"Manage the roles assigned to workspace actors. Roles establish base capabilities and visibility defaults; resource grants can further shape access to individual work items.","x-displayName":"Roles"},{"name":"Grants","description":"Manage resource-level permission grants for workspace actors. Grants complement role capabilities and apply within the resource hierarchy rather than granting cross-workspace access.","x-displayName":"Grants"},{"name":"Teams","description":"Manage teams within a workspace and the people who belong to them. Teams organize work ownership and provide context for the workflow states used by tasks.","x-displayName":"Teams"},{"name":"Statuses","description":"Manage work statuses and their assignment within workspace workflows. These operations define the states that work moves through and the rules for changing or removing those states.","x-displayName":"Statuses"},{"name":"Initiatives","description":"Manage strategic initiatives that connect projects and programs around an objective. Initiatives provide shared context, timelines, and progress information across related work.","x-displayName":"Initiatives"},{"name":"Programs","description":"Manage ongoing programs and the projects linked to them. Programs organize a continuing line of work and expose its relationships, visibility, and status updates.","x-displayName":"Programs"},{"name":"Projects","description":"Manage bounded projects with owners, dates, and health information. Projects organize tasks, milestones, cycles, and updates within the workspace permission model.","x-displayName":"Projects"},{"name":"Milestones","description":"Manage dated checkpoints within a project and the tasks assigned to them. Milestones describe scope targets without becoming a separate workspace or permission boundary.","x-displayName":"Milestones"},{"name":"Cycles","description":"Manage time-boxed iterations and the work assigned to them. Cycle operations expose iteration windows, progress, and lifecycle actions for planning and completing an iteration.","x-displayName":"Cycles"},{"name":"Tasks","description":"Manage tasks, assignments, workflow state, and related work. Tasks can include subtasks, dependencies, attachments, and labels, with authorization checked for each operation.","x-displayName":"Tasks"},{"name":"Labels","description":"Manage labels used to classify and filter work. Labels belong to a defined scope and provide reusable metadata without changing the permissions of the items they label.","x-displayName":"Labels"},{"name":"Comments","description":"Read and manage discussions attached to work items. Comments let collaborators contribute context without requiring the same capability as changing the underlying work.","x-displayName":"Comments"},{"name":"Updates","description":"Read and publish narrative status updates for projects, initiatives, and programs. Updates record progress and health information alongside the work they describe.","x-displayName":"Updates"},{"name":"Templates","description":"Manage reusable templates for creating work with a consistent structure. Template operations expose the saved definitions and the actions available for applying them.","x-displayName":"Templates"},{"name":"Processes","description":"Manage process definitions that describe repeatable work. These operations expose definition structure and lifecycle actions separately from the work produced from a definition.","x-displayName":"Processes"},{"name":"Recurrence","description":"Manage recurring work series and their occurrences. Series settings describe how work repeats, while occurrence operations handle individual instances and their lifecycle.","x-displayName":"Recurrence"},{"name":"Capture","description":"Capture a note as work in a workspace inbox. These operations provide an entry point for recording and triaging new work before its full planning details are known.","x-displayName":"Capture"},{"name":"Search","description":"Search the work visible to the caller within a workspace. Search results follow resource visibility rules and do not reveal work through a separate authorization path.","x-displayName":"Search"},{"name":"Mentions","description":"Find entities and connected resources that can be referenced in content. Mention lookup provides reference metadata while retaining the visibility rules of each source.","x-displayName":"Mentions"},{"name":"Views","description":"Manage saved views over work items. A view stores presentation choices such as filters, grouping, and sorting so people can return to a selected set of work.","x-displayName":"Views"},{"name":"Display","description":"Read and manage entity display settings used to present work. Display configuration changes presentation metadata without replacing the underlying entity or its permissions.","x-displayName":"Display"},{"name":"Activity","description":"Read workspace activity recorded by work changes. Activity provides a chronological account of observations such as creation, assignment, and state transitions.","x-displayName":"Activity"},{"name":"Stream","description":"Subscribe to server-sent events for live workspace updates. Each stream documents its event format and access requirements separately from ordinary JSON response operations.","x-displayName":"Stream"},{"name":"Publishing","description":"Manage published briefs and workspace publication addresses. Publication operations control which work is shared and manage the names or verified domains used to address it.","x-displayName":"Publishing"},{"name":"Objects","description":"Apply commands through the shared object interface. These operations act on supported work objects and preserve the authorization and validation rules of the targeted object.","x-displayName":"Object commands"},{"name":"Hub","description":"Read personal planning views across the workspaces available to the caller. Hub operations combine visible work while retaining each item’s workspace identity and access rules.","x-displayName":"Hub"},{"name":"Calendar","description":"Manage calendar schedules used in personal planning. Calendar configuration describes schedule context separately from the integration operations that connect external providers.","x-displayName":"Calendar"},{"name":"Scheduling","description":"Read and manage scheduled work across a planning week. Scheduling operations connect work to planned time while keeping the source work and calendar context identifiable.","x-displayName":"Scheduling"},{"name":"Agenda","description":"Read a combined agenda for personal planning. Agenda operations bring scheduled information into one response while preserving the identity and context of each source item.","x-displayName":"Agenda"},{"name":"Directive","description":"Manage planning directives and the actions they govern within a schedule week. Directives express planning intent separately from the tasks and time allocations they affect.","x-displayName":"Directive"},{"name":"DailyPlan","description":"Manage the work selected for a person’s daily plan. This person-owned planning list can reference work across workspaces without replacing the source task lists.","x-displayName":"Daily plan"},{"name":"Time","description":"Manage tracked time, the active tracker, and Time Ledger records. Time operations expose recorded work intervals and the actions available for maintaining those records.","x-displayName":"Time"},{"name":"Work location","description":"Resolve current and expected work locations and manage location planning. These operations describe where a person plans to work over individual times or bounded ranges.","x-displayName":"Work locations"},{"name":"Athena","description":"Manage the person’s private Athena conversations, activity, approvals, and voice interactions. Personal assistant operations resolve workspace permissions when work is invoked.","x-displayName":"Athena"},{"name":"Agents","description":"Manage registered workspace agents and their work sessions. Agents act through workspace identities and explicit permissions, with review controls for proposed mutations.","x-displayName":"Agents"},{"name":"Automations","description":"Manage workspace automation rules that respond to observations. Rules identify triggering events, matching conditions, and actions that the automation engine can perform.","x-displayName":"Automations"},{"name":"Suggestions","description":"Review proposed work derived from connected sources. Suggestion operations let a person accept or dismiss a proposal before it becomes a change to workspace work.","x-displayName":"Suggestions"},{"name":"Integrations","description":"Manage connections to external services and synchronization with workspace work. Provider webhook ingestion uses separate endpoints outside this public REST reference.","x-displayName":"Integrations"},{"name":"Me","description":"Manage the current person’s profile, account lifecycle, identities, contact points, and phone settings. Sensitive account operations document any additional verification they require.","x-displayName":"Me"},{"name":"Notifications","description":"Read and act on personal notifications and manage notification preferences. This group covers the recipient’s inbox and settings, not internal staff notification-intent operations.","x-displayName":"Notifications"},{"name":"Billing","description":"Read workspace subscription information and manage billing through the supported checkout and portal operations. Provider payment webhooks use a separate signed ingestion endpoint.","x-displayName":"Billing"}],"paths":{"/v1/orgs":{"get":{"operationId":"getV1Orgs","summary":"List organizations","tags":["Orgs"],"description":"## Purpose\n\nList organizations.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nList the organizations where the caller is an active member. The list includes personal spaces and team workspaces, ordered by organization ID. Pages contain 50 organizations by default and no more than 100. Pass `nextCursor` back as `cursor` with the same filters to read the next page. The final page omits `nextCursor`.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session or a REST OAuth token with the scopes shown below.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/OrgSummary"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","slug":"example","isPersonal":false}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"restOAuth":["work:read"]},{"sessionCookie":[]}]},"post":{"operationId":"postV1Orgs","summary":"Create an organization","tags":["Orgs"],"description":"## Purpose\n\nCreate an organization.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nCreate an organization and make the signed-in person its first Owner. A team organization requires `name`. A personal space defaults its name to `Personal` and returns the caller's existing personal space instead of creating a second one.\n\nEvery new organization includes the Owner, Admin, Member, and Guest roles plus a default team named `General`. An explicit `slug` must be available and returns **409** on conflict. Docket adds a numeric suffix when an automatically generated slug is already used. The response includes the default team and the new owner's actor ID so the client can make organization-scoped requests immediately.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"$ref":"#/components/schemas/OrgOut","description":"Organization for this record."},"defaultTeam":{"$ref":"#/components/schemas/DefaultTeamOut","description":"Default team for this record."},"ownerActorId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The id of the creator's Owner human Actor in the new org — the caller's identity for subsequent `/:orgId/*` calls."}},"required":["organization","defaultTeam","ownerActorId"],"description":"Result of creating an organization."},"example":{"organization":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","slug":"example","isPersonal":false,"vocabulary":{"preset":"startup"},"lifecycleState":"example","createdAt":"2026-09-19T12:00:00.000Z"},"defaultTeam":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","key":"example"},"ownerActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"description":"The organization's display name. A team organization requires a non-empty name. A personal workspace may omit it, in which case Docket uses 'Personal'. Docket also derives the slug from this name when `slug` is omitted.","type":"string","minLength":1},"purpose":{"description":"A short statement of what the organization is for. It appears in organization settings and does not affect the slug or permissions.","type":"string"},"slug":{"description":"The organization's unique identifier and the default path segment for published briefs when no custom domain is set. Reserved system names are not allowed. When omitted, Docket derives it from the organization name or personal-space owner and adds a numeric suffix when needed. An explicitly supplied value returns 409 when unavailable.","type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"vocabulary":{"default":"startup","description":"The terminology preset used throughout the organization. `startup` uses Docket's standard work labels, while `nonprofit` and `agency` use labels suited to those organizations. Defaults to `startup`.","type":"string","enum":["startup","nonprofit","agency"]},"isPersonal":{"default":false,"description":"When true, create a personal workspace for the caller. A person can have only one personal workspace, so Docket returns the existing one instead of creating a duplicate. Personal workspaces do not accept invitations or guests. Defaults to false.","type":"boolean"},"intent":{"description":"Optional onboarding-intent hint captured by the create flow — 'startup' | 'nonprofit' | 'personal' — describing why the org is being created. Informational only; it does not itself set the vocabulary or the `isPersonal` flag (those are explicit fields).","type":"string","enum":["startup","nonprofit","personal"]}},"description":"Create a new organization."},"example":{}}},"description":"Fields used to create an organization. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/settings/work-structure":{"get":{"operationId":"getV1OrgsByOrgIdSettingsWorkStructure","summary":"Get workspace work-structure settings","tags":["Orgs"],"description":"## Purpose\n\nGet workspace work-structure settings.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturns workspace-owned work settings: Initiative hierarchy depth, parent Task completion, task estimates, the fiscal-year start, and the working weekdays used for template date offsets.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdSettingsWorkStructureResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdSettingsWorkStructure","summary":"Update workspace work-structure settings","tags":["Orgs"],"description":"## Purpose\n\nUpdate workspace work-structure settings.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdates workspace-owned work settings. Reducing Initiative depth is rejected when an existing hierarchy would exceed it. Estimation changes re-interpret existing estimates. Fiscal-year changes affect new broad planning dates; saved periods retain their fiscal snapshot. Working weekdays must be nonempty, unique and sorted ISO days 1–7. Calendar changes affect future template resolution and date reflow without immediately rewriting saved work dates.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdSettingsWorkStructureResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"initiativeMaxDepth":{"type":"integer","minimum":1,"maximum":5,"description":"Maximum total levels in the workspace Initiative hierarchy."},"autoCompleteParentTasks":{"type":"boolean","description":"Whether completing or canceling every direct child also completes its parent."},"estimationScale":{"$ref":"#/components/schemas/Sharedf34f6224","description":"Estimation scale for this record."},"fiscalYearStartMonth":{"type":"integer","minimum":0,"maximum":11,"description":"Zero-based month that starts the workspace fiscal year. January is 0 and December is 11."},"workingWeekdays":{"$ref":"#/components/schemas/Shared2e6bcf94","description":"Working weekdays for this record."}},"description":"Workspace work-structure settings to update."},"example":{}}},"description":"Fields used to update workspace work-structure settings. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}":{"get":{"operationId":"getV1OrgsByOrgId","summary":"Get an organization","tags":["Orgs"],"description":"## Purpose\n\nGet an organization.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn an organization's name, slug, purpose, avatar, personal-space flag, terminology, lifecycle state, and creation time. Guests may read this metadata. Docket returns **404** for an unknown organization and for an organization the caller cannot access.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgId","summary":"Update workspace identity settings","tags":["Orgs"],"description":"## Purpose\n\nUpdate workspace identity settings.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate the editable identity of a workspace: its display name, purpose, URL slug, logo, and terminology preset. Optional purpose and logo values can be cleared with null. Slugs remain globally unique and collisions return 409.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"workTemplateAuthoring":{"type":"string","enum":["contributors","admins"],"description":"Allowed work template authoring value."},"name":{"description":"The workspace's editable display name.","type":"string","minLength":1,"maxLength":120},"purpose":{"description":"A concise workspace purpose; null clears the current purpose.","anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"slug":{"description":"The workspace's one identifier: its internal key and, unless a custom domain is set, the path segment its published briefs answer on by default. Globally unique; not one of the reserved system names.","type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"avatar":{"description":"The workspace logo image; null removes the current logo.","anyOf":[{"anyOf":[{"type":"string","format":"uri"},{"$ref":"#/components/schemas/Shared331ee649"}]},{"type":"null"}]},"vocabulary":{"description":"The terminology preset used for work throughout the workspace.","type":"string","enum":["startup","nonprofit","agency"]}},"description":"Editable workspace identity settings."},"example":{}}},"description":"Fields used to update workspace identity settings. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/billing/export/file":{"get":{"operationId":"getV1OrgsByOrgIdBillingExportFile","tags":["Billing"],"summary":"Download the generated work-layer export","description":"## Purpose\n\nDownload the generated work-layer export.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDownload the most recent work-layer export as an `application/json` attachment. The export expires 14 days after generation at the `expiresAt` returned by `POST /export`. Docket returns 404 when no export exists, the export has expired, or its stored file is no longer available.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/billing":{"get":{"operationId":"getV1OrgsByOrgIdBilling","summary":"Get organization products","tags":["Billing"],"description":"## Purpose\n\nGet organization products.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturns the organization products recorded by Docket and whether this member may manage billing. An empty products array means the organization has baseline Docket only.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string","description":"Identifies the referenced organization."},"checkoutEnabled":{"type":"boolean","description":"Checkout enabled for this record."},"listPrice":{"type":"object","properties":{"amount":{"type":"number","const":800,"description":"Amount for this record."},"currency":{"type":"string","const":"usd","description":"Currency for this record."},"interval":{"type":"string","const":"month","description":"Interval for this record."}},"required":["amount","currency","interval"],"description":"List price for this record."},"accessMode":{"type":"string","enum":["writable","read_only"],"description":"Whether this workspace may change shared work. Personal baseline stays writable; a shared workspace requires active, trialing, grace-valid, or complimentary Docket Pro."},"products":{"type":"array","items":{"type":"object","properties":{"productKey":{"type":"string","enum":["docket_pro"],"description":"Allowed product key value."},"name":{"type":"string","const":"Docket Pro","description":"Human-readable name."},"status":{"type":"string","enum":["trialing","active","past_due","canceled"],"description":"Current lifecycle state."},"source":{"type":"string","enum":["stripe","complimentary"],"description":"Allowed source value."},"trialEndsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Trial ends time as an ISO 8601 instant."},"renewalDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Renewal date in YYYY-MM-DD format."},"cancelAtPeriodEnd":{"type":"boolean","description":"Cancel at period end for this record."},"cancellationDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cancellation date in YYYY-MM-DD format."},"graceEndsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Grace ends time as an ISO 8601 instant."},"providerObservedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider observed time as an ISO 8601 instant."}},"required":["productKey","name","status","source","trialEndsAt","renewalDate","cancelAtPeriodEnd","cancellationDate","graceEndsAt","providerObservedAt"]},"description":"Products, in order."},"canManageBilling":{"type":"boolean","description":"Whether manage billing."},"effectiveDiscount":{"anyOf":[{"type":"object","properties":{"percentOff":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Percent off for this record."},"status":{"type":"string","enum":["scheduled","applying","active","ending","expired","revoked","provider_failed"],"description":"Current lifecycle state."},"startsAt":{"type":"string","description":"Starts time as an ISO 8601 instant."},"endsAt":{"type":"string","description":"Ends time as an ISO 8601 instant."},"reviewAt":{"type":"string","description":"Review time as an ISO 8601 instant."}},"required":["percentOff","status","startsAt","endsAt","reviewAt"]},{"type":"null"}],"description":"Effective discount for this record."},"applicationStatus":{"anyOf":[{"type":"string","enum":["submitted","needs_information","approved","rejected","withdrawn","expired"]},{"type":"null"}],"description":"Application status for this record."},"issuedCredit":{"anyOf":[{"type":"object","properties":{"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Amount for this record."},"currency":{"type":"string","description":"Currency for this record."},"issuedAt":{"type":"string","description":"Issued time as an ISO 8601 instant."}},"required":["amount","currency","issuedAt"]},{"type":"null"}],"description":"Issued credit for this record."}},"required":["organizationId","checkoutEnabled","listPrice","accessMode","products","canManageBilling","effectiveDiscount","applicationStatus","issuedCredit"]},"example":{"organizationId":"example","checkoutEnabled":false,"listPrice":{"amount":800,"currency":"usd","interval":"month"},"accessMode":"writable","products":[{"productKey":"docket_pro","name":"Docket Pro","status":"trialing","source":"stripe","trialEndsAt":"2026-09-19T12:00:00.000Z","renewalDate":"2026-09-19","cancelAtPeriodEnd":false,"cancellationDate":"2026-09-19","graceEndsAt":"2026-09-19T12:00:00.000Z","providerObservedAt":"2026-09-19T12:00:00.000Z"}],"canManageBilling":false,"effectiveDiscount":{"percentOff":0,"status":"scheduled","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","reviewAt":"2026-09-19T12:00:00.000Z"},"applicationStatus":"submitted","issuedCredit":{"amount":0,"currency":"example","issuedAt":"2026-09-19T12:00:00.000Z"}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/billing/checkout":{"post":{"operationId":"postV1OrgsByOrgIdBillingCheckout","summary":"Open a checkout session","tags":["Billing"],"description":"## Purpose\n\nOpen a checkout session.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nOpen a hosted Stripe checkout session for Docket Pro and return `RedirectOut` `{ url }`. The server selects the Docket Pro price, the app's `/billing/return` URLs, whether this organization receives its first 14-day trial, and the signed-in Better Auth account email used to pre-fill Checkout.\n\nSide effect: creates a checkout session. Docket Pro ownership changes only after a signed Stripe webhook records the subscription state; returning from checkout does not grant access. Requires `manage` because adding a paid product is an organization billing action. Related: `POST /portal` (manage Docket Pro), `GET /` (owned products), `GET /lifecycle` (data lifecycle).\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse3294400e"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"returnTo":{"description":"Same-origin product path to restore after Stripe confirms access.","type":"string","maxLength":2000}},"additionalProperties":false},"example":{}}},"description":"Fields used to open a checkout session. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/billing/portal":{"post":{"operationId":"postV1OrgsByOrgIdBillingPortal","summary":"Open the billing portal","tags":["Billing"],"description":"## Purpose\n\nOpen the billing portal.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nOpen the provider's hosted billing portal and return `RedirectOut` `{ url }` — the Stripe customer-portal URL where an admin manages Docket Pro (update the payment method, cancel Docket Pro, or view invoices). Goes through the BillingGateway port with the durable Stripe customer id. Any change the admin makes in the portal flows back through signed provider webhooks, which update Docket Pro access without changing account-retention fields. This route only mints the portal link. Requires `manage`. Related: `POST /checkout` (add Docket Pro) and `GET /` (current state).\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse3294400e"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/billing/lifecycle":{"get":{"operationId":"getV1OrgsByOrgIdBillingLifecycle","summary":"Get the org lifecycle status","tags":["Billing"],"description":"## Purpose\n\nGet the org lifecycle status.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn the org's deprecated account-retention fields as `LifecycleOut`. Billing cancellation and payment failure never write these fields. The confirmed Danger Zone account-deletion flow owns retention state. Current customer access, cancellation, and grace state come from `GET /`. This read remains for older clients while they migrate to the billing summary. A missing or purged organization returns 404. Related: `GET /` and `POST /export`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string","description":"The organization this lifecycle status describes."},"lifecycleState":{"type":"string","enum":["trialing","active","past_due","export_window","pending_deletion","deleted"],"description":"The organization's legacy account-retention state. Billing does not change this value. Older `export_window` and `pending_deletion` values remain visible for compatibility but do not determine baseline core-work access or paid-module entitlement."},"exportReadyAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 instant a downloadable export became available through the independent export flow, or `null` when no export is ready."},"deleteAfterAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Legacy account-deletion deadline retained for older clients. Billing never sets this value."}},"required":["organizationId","lifecycleState","exportReadyAt","deleteAfterAt"],"description":"An organization's data-lifecycle status."},"example":{"organizationId":"example","lifecycleState":"trialing","exportReadyAt":"2026-09-19T12:00:00.000Z","deleteAfterAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/billing/export":{"post":{"operationId":"postV1OrgsByOrgIdBillingExport","summary":"Generate a work-layer export","tags":["Billing"],"description":"## Purpose\n\nGenerate a work-layer export.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nGenerate a downloadable JSON snapshot of the organization's work data and return `ExportOut` with `downloadUrl` and `expiresAt`. The download requires a session and the `manage` capability. It remains available for 14 days. Generating a new export replaces the previous download.\n\nThe export remains available in every non-deleted billing state. A missing or purged organization returns 404. Requires `manage`. Related: `GET /lifecycle`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"downloadUrl":{"type":"string","description":"API path for the generated work-layer JSON archive. Requires the caller's session and the org `manage` capability; it is not a direct object-store link."},"expiresAt":{"type":"string","description":"ISO-8601 instant the download stops working (14 days after generation), enforced on every read."}},"required":["downloadUrl","expiresAt"],"description":"A generated work-layer export's download path."},"example":{"downloadUrl":"example","expiresAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/billing/discounts":{"get":{"operationId":"getV1OrgsByOrgIdBillingDiscounts","summary":"Get discount programs and status","tags":["Billing"],"description":"## Purpose\n\nGet discount programs and status.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturns public Student and Nonprofit terms plus this workspace’s latest application, current award, and latest issued credit. Raw Stripe ids and evidence storage keys never leave this customer response.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"applicationsEnabled":{"type":"boolean","description":"Applications enabled for this record."},"programs":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["student","nonprofit"],"description":"Stable machine-readable key."},"name":{"type":"string","description":"Human-readable name."},"percentOff":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Percent off for this record."},"reviewMonths":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Review months for this record."},"terms":{"type":"string","description":"Terms for this record."}},"required":["key","name","percentOff","reviewMonths","terms"]},"description":"Programs, in order."},"application":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"programKey":{"type":"string","enum":["student","nonprofit"],"description":"Allowed program key value."},"status":{"type":"string","enum":["submitted","needs_information","approved","rejected","withdrawn","expired"],"description":"Current lifecycle state."},"evidenceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Evidence type for this record."},"institutionalEmail":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Institutional email for this record."},"ein":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ein for this record."},"informationRequest":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Information request for this record."},"decisionReason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Decision reason for this record."},"submittedAt":{"type":"string","description":"Submitted time as an ISO 8601 instant."},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Decided time as an ISO 8601 instant."},"events":{"$ref":"#/components/schemas/Shared5a61052a","description":"Events for this record."}},"required":["id","programKey","status","evidenceType","institutionalEmail","ein","informationRequest","decisionReason","submittedAt","decidedAt","events"]},{"type":"null"}],"description":"Application for this record."},"award":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"programKey":{"anyOf":[{"type":"string","enum":["student","nonprofit"]},{"type":"null"}],"description":"Program key for this record."},"percentOff":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Percent off for this record."},"status":{"type":"string","enum":["scheduled","applying","active","ending","expired","revoked","provider_failed"],"description":"Current lifecycle state."},"startsAt":{"type":"string","description":"Starts time as an ISO 8601 instant."},"endsAt":{"type":"string","description":"Ends time as an ISO 8601 instant."},"reviewAt":{"type":"string","description":"Review time as an ISO 8601 instant."},"reason":{"type":"string","description":"Reason for this record."}},"required":["id","programKey","percentOff","status","startsAt","endsAt","reviewAt","reason"]},{"type":"null"}],"description":"Award for this record."},"credit":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"status":{"type":"string","enum":["previewed","issuing","issued","failed"],"description":"Current lifecycle state."},"currency":{"type":"string","description":"Currency for this record."},"totalAmount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Total amount for this record."},"issuedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Issued time as an ISO 8601 instant."}},"required":["id","status","currency","totalAmount","issuedAt"]},{"type":"null"}],"description":"Credit for this record."}},"required":["applicationsEnabled","programs","application","award","credit"]},"example":{"applicationsEnabled":false,"programs":[{"key":"student","name":"example","percentOff":0,"reviewMonths":0,"terms":"example"}],"application":{"id":"example","programKey":"student","status":"submitted","evidenceType":"example","institutionalEmail":"developer@example.com","ein":"example","informationRequest":"example","decisionReason":"example","submittedAt":"2026-09-19T12:00:00.000Z","decidedAt":"2026-09-19T12:00:00.000Z","events":[{"id":"example","type":"example","reason":"example","createdAt":"2026-09-19T12:00:00.000Z"}]},"award":{"id":"example","programKey":"student","percentOff":0,"status":"scheduled","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","reviewAt":"2026-09-19T12:00:00.000Z","reason":"example"},"credit":{"id":"example","status":"previewed","currency":"example","totalAmount":0,"issuedAt":"2026-09-19T12:00:00.000Z"}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/billing/discounts/applications":{"post":{"operationId":"postV1OrgsByOrgIdBillingDiscountsApplications","summary":"Submit a discount application","tags":["Billing"],"description":"## Purpose\n\nSubmit a discount application.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nSubmits a Student or Nonprofit eligibility application. Student institutional-email evidence uses the verified email in the current Better Auth session instead of accepting a second custom verification system.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"201":{"$ref":"#/components/responses/SharedResponse7c905254"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdBillingDiscountsApplicationsRequest"}}},"description":"Fields used to submit a discount application. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/billing/discounts/renew":{"post":{"operationId":"postV1OrgsByOrgIdBillingDiscountsRenew","summary":"Apply to renew a discount","tags":["Billing"],"description":"## Purpose\n\nApply to renew a discount.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nStarts a new eligibility review for the current Student or Nonprofit award. The existing award remains active through its current paid period while finance reviews the renewal.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"201":{"$ref":"#/components/responses/SharedResponse7c905254"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdBillingDiscountsApplicationsRequest"}}},"description":"Fields used to apply to renew a discount. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/billing/discounts/applications/{applicationId}/supplement":{"post":{"operationId":"postV1OrgsByOrgIdBillingDiscountsApplicationsByApplicationIdSupplement","summary":"Supply requested discount information","tags":["Billing"],"description":"## Purpose\n\nSupply requested discount information.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nReturns a needs-information application to the finance queue with the customer’s note and any corrected institutional email or EIN.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse1f8cec86"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter5e8e2bf9"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"institutionalEmail":{"$ref":"#/components/schemas/Sharedcb071161","description":"Institutional email for this record."},"ein":{"type":"string","pattern":"^\\d{2}-?\\d{7}$","description":"Ein for this record."},"note":{"type":"string","minLength":1,"maxLength":2000,"description":"Note for this record."}},"required":["note"],"additionalProperties":false},"example":{"note":"example"}}},"description":"Fields used to supply requested discount information. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/billing/discounts/applications/{applicationId}/withdraw":{"post":{"operationId":"postV1OrgsByOrgIdBillingDiscountsApplicationsByApplicationIdWithdraw","summary":"Withdraw a discount application","tags":["Billing"],"description":"## Purpose\n\nWithdraw a discount application.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nWithdraws a submitted or needs-information application without changing any active award.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse1f8cec86"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter5e8e2bf9"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/billing/discounts/applications/{applicationId}/evidence":{"post":{"operationId":"postV1OrgsByOrgIdBillingDiscountsApplicationsByApplicationIdEvidence","summary":"Upload private discount evidence","tags":["Billing"],"description":"## Purpose\n\nUpload private discount evidence.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `multipart/form-data`.\n\n## Result and side effects\n\nStores one PDF, PNG, or JPEG in private object storage. The customer response exposes no object URL. Staff download it through the authenticated finance route, and Docket schedules deletion 30 days after a final decision.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"201":{"$ref":"#/components/responses/SharedResponse7c905254"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter5e8e2bf9"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"File bytes sent as a multipart form part."}},"required":["file"]},"example":{"file":"example.txt"}}},"description":"Fields used to upload private discount evidence. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/teams":{"get":{"operationId":"getV1OrgsByOrgIdTeams","summary":"List teams","tags":["Teams"],"description":"## Purpose\n\nList teams.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList the organization's **active** teams. A Team is a first-class unit within an org that owns its own `workflow_states`, Cycles, and the Triage queue. The query filters on `archived_at IS NULL`, so soft-deleted (archived) teams are excluded. Each `TeamOut` carries the team's name, unique `key`, description, workflow states, `triageEnabled` flag, and optional agent guidance / approval routing.\n\nResults use stable team-id order, default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Requires only org membership to read (the `view` capability is satisfied by any member). Every new org seeds a default \"General\" team (key `GEN`). See `POST /` to create a team and `GET /:teamId` for full detail.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TeamOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","key":"example","summary":"example","triageEnabled":false}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdTeams","summary":"Create a team","tags":["Teams"],"description":"## Purpose\n\nCreate a team.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a team within the organization. Requires the `manage` capability. The team's `key` must be unique within the organization; a duplicate returns **409**.\n\nWhen omitted, `workflowStates` uses Backlog, Todo, In Progress, Done, and Canceled. Backlog becomes the default for new tasks. `triageEnabled` defaults to `true`, while `description`, `agentGuidance`, and `approvalRouting` default to null. Returns the full `TeamDetail`. See `PATCH /:teamId` to edit and `DELETE /:teamId` to archive.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdTeamsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"The team's display name (e.g. 'Engineering')."},"key":{"type":"string","minLength":1,"description":"Short key for the team (e.g. 'ENG'), unique within the org (the `(organization_id, key)` constraint). A duplicate key is rejected with 409. Often used as a prefix for the team's task identifiers."},"description":{"description":"Optional free-text description of the team. Pass null to leave unset.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"description":"Optional plain-text summary, limited to 280 characters.","type":"string","maxLength":280},"workflowStates":{"description":"The ordered list of workflow states for the team (at least one). When omitted, the team is seeded with the canonical five-state default: Backlog › Todo › In Progress › Done › Canceled.","minItems":1,"type":"array","items":{"$ref":"#/components/schemas/WorkflowState"}},"triageEnabled":{"description":"Whether the team's Triage queue is enabled (where unsorted incoming tasks land before being assigned to a workflow state). Defaults to true.","type":"boolean"},"cycleCadenceDays":{"description":"Number of calendar days in each native cycle. Defaults to 7.","type":"integer","minimum":1,"maximum":365},"cycleCadenceAnchor":{"description":"Calendar date on which the native cadence is anchored.","type":"string","format":"date","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])))$"},"agentGuidance":{"description":"Optional free-text guidance shown to AI agents operating within this team — house rules / context that shapes agent behavior on the team's work. Pass null to leave unset.","anyOf":[{"type":"string"},{"type":"null"}]},"approvalRouting":{"description":"Optional policy controlling how an agent's proposed actions are routed for human approval within this team. Null means no team-level routing override. See the agent slice's ApprovalRouting for the policy shape.","anyOf":[{"$ref":"#/components/schemas/ApprovalRouting"},{"type":"null"}]}},"required":["name","key"],"description":"Create a team within an organization."},"example":{"name":"example","key":"example"}}},"description":"Fields used to create a team. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/teams/rosters":{"get":{"operationId":"getV1OrgsByOrgIdTeamsRosters","summary":"List every team membership in the workspace","tags":["Teams"],"description":"## Purpose\n\nList every team membership in the workspace.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nEvery `(team, member)` pair in the org, identity only — no per-person load figures. This exists so the Teams hub can draw a face stack on every card with **one** request instead of one per team.\n\nResults use stable `teamId, actorId` order, default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Declared before `GET /:teamId` so the literal segment wins the route match. Requires only org membership.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TeamRosterEntry"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","actorId":"example","displayName":"example","avatar":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/teams/{teamId}":{"get":{"operationId":"getV1OrgsByOrgIdTeamsByTeamId","summary":"Get a team","tags":["Teams"],"description":"## Purpose\n\nGet a team.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch one active team by id, returning the full `TeamDetail` — name, unique `key`, description, the complete `workflowStates` list, `triageEnabled`, native cycle cadence, its safe replacement anchor, provider ownership, and any `agentGuidance`/`approvalRouting`. The lookup is scoped to `(teamId, orgId)` AND `archived_at IS NULL`, so an archived team or a team id from another org returns **404** (existence-hiding). Requires only org membership (the `view` capability) to read. See `GET /` to list teams.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdTeamsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdTeamsByTeamId","summary":"Update a team","tags":["Teams"],"description":"## Purpose\n\nUpdate a team.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate an active team's settings. Every field is optional, and omitted fields remain unchanged. The team must be active and visible in the organization; otherwise the request returns 404. A `key` already used by another team returns 409.\n\n Setting `workflowStates` replaces the entire array. A cadence change accepts 1–365 calendar days and requires the current `cycleCadenceRevision`. Docket preserves assigned cycle windows and returns 409 `cadence_changed` when that revision is stale. Set `description`, `agentGuidance`, or `approvalRouting` to null to clear it. An empty body leaves the team unchanged. Requires the `manage` capability and returns the updated `TeamDetail`. Use `DELETE /:teamId` to archive the team.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdTeamsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"description":"New display name. Optional; omit to leave unchanged.","type":"string","minLength":1},"key":{"description":"New team key. Optional; omit to leave unchanged. Still subject to org-wide uniqueness — a collision with another team is rejected with 409 (the team being patched is excluded from the check).","type":"string","minLength":1},"description":{"description":"New description, or null to clear it. Optional; omit to leave unchanged.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"description":"New plain-text summary. Omit to leave unchanged; send an empty string to clear.","type":"string","maxLength":280},"workflowStates":{"description":"Replace the entire workflow-state list (at least one state). This is a full replacement, not a merge — omitted states are removed. Optional; omit to leave unchanged.","minItems":1,"type":"array","items":{"$ref":"#/components/schemas/WorkflowState"}},"triageEnabled":{"description":"Toggle the team's Triage queue. Optional; omit to leave unchanged.","type":"boolean"},"cycleCadenceDays":{"description":"New native cycle length in calendar days.","type":"integer","minimum":1,"maximum":365},"cycleCadenceAnchor":{"description":"New calendar-date anchor for native cycle boundaries.","type":"string","format":"date","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])))$"},"cycleCadenceRevision":{"description":"Cadence revision read by the editor, used to reject stale writes.","type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"agentGuidance":{"description":"New agent guidance text, or null to clear it. Optional; omit to leave unchanged.","anyOf":[{"type":"string"},{"type":"null"}]},"approvalRouting":{"description":"New approval-routing policy, or null to clear it. Optional; omit to leave unchanged.","anyOf":[{"$ref":"#/components/schemas/ApprovalRouting"},{"type":"null"}]}},"description":"Update a team."},"example":{}}},"description":"Fields used to update a team. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdTeamsByTeamId","summary":"Delete a team","tags":["Teams"],"description":"## Purpose\n\nDelete a team.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nArchive a team without deleting its cycles, tasks, or history. An already archived, absent, or inaccessible team returns 404, so repeating a successful request returns 404 rather than the first result.\n\nThe team disappears from active team reads. Tasks remain assigned to it. Docket allows archiving the organization's last or default team and does not choose a replacement. Requires the `manage` capability. Returns `TeamDeleteResult` with the team ID and archive time.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The id of the team that was archived."},"archivedAt":{"type":"string","description":"ISO-8601 timestamp the team was soft-deleted (archived). The row is retained — archived teams are excluded from list/get reads but not erased."}},"required":["id","archivedAt"],"description":"The archived team id + timestamp."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","archivedAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter79491a05"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/teams/{teamId}/members":{"get":{"operationId":"getV1OrgsByOrgIdTeamsByTeamIdMembers","summary":"List a team's members","tags":["Teams"],"description":"## Purpose\n\nList a team's members.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nList the people on a team. Each item includes the person's display name, organization-level job `title`, team `role` (`manager`, `member`, or `guest`), and `openTaskCount`. Members with and without Docket accounts use the same response shape. The API does not expose account status or a declared allocation percentage.\n\nResults are ordered by display name, case-insensitively, with Actor ID as the stable tie-breaker. The default page size is 50 and the maximum is 100. The final page omits `nextCursor`. An unavailable or archived team returns 404.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TeamMemberOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"actorId":"example","displayName":"example","title":"example","avatar":"example","role":"manager","openTaskCount":0}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter79491a05"},{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/teams/{teamId}/activity":{"get":{"operationId":"getV1OrgsByOrgIdTeamsByTeamIdActivity","summary":"Report a team's capacity and throughput","tags":["Teams"],"description":"## Purpose\n\nReport a team's capacity and throughput.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn a team's current capacity and 30-day throughput history in one response.\n\n`capacity` groups open tasks by workflow-state category: `backlog`, `unstarted`, or `started`. Each group includes `taskCount` and the sum of task estimates. Unestimated tasks add zero to the estimate. Tasks whose state no longer exists in the team's workflow are omitted from capacity.\n\n`throughput` is ordered from oldest to newest. Each day reports how many tasks were open at the end of that day and how many had been completed. An unavailable or archived team returns 404.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The team this report covers."},"capacity":{"type":"array","items":{"$ref":"#/components/schemas/TeamCapacityBucket"},"description":"The team's open work bucketed by workflow-state type."},"throughput":{"type":"array","items":{"$ref":"#/components/schemas/TeamThroughputPoint"},"description":"The rolling daily series, oldest first."},"windowDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many days the throughput series spans."}},"required":["teamId","capacity","throughput","windowDays"],"description":"A team's capacity snapshot + throughput series."},"example":{"teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","capacity":[{"type":"backlog","taskCount":0,"estimate":0}],"throughput":[{"date":"2026-09-19","pending":0,"completed":0}],"windowDays":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter79491a05"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/teams/{teamId}/members/{actorId}":{"put":{"operationId":"putV1OrgsByOrgIdTeamsByTeamIdMembersByActorId","summary":"Add someone to a team, or change their standing on it","tags":["Teams"],"description":"## Purpose\n\nAdd someone to a team, or change their standing on it.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPlace a human actor on this team, or re-role somebody already on it — one idempotent write at the membership's own address, since \"make sure this person is a manager here\" is the operation callers actually have. Sending the same body twice leaves the same membership, which is why this is a `PUT` to `/members/{actorId}` rather than a post to the collection: the URI names the one membership being written, and `DELETE` on that same URI removes it.\n\n`role` defaults to `member`. The role labels who runs the team; it grants nothing, because permissions resolve through grants and a role that quietly widened capability is the kind of thing nobody audits.\n\nAny person in the workspace is eligible, whether or not they have a Docket account. Agents, teams, and people from another workspace return **404**.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"type":"object","properties":{"actorId":{"type":"string","description":"The actor id of this member."},"displayName":{"type":"string","description":"The member's display name."},"title":{"$ref":"#/components/schemas/Shared36936e2c","description":"Human-readable title."},"avatar":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"URL of the member's avatar, or null."},"role":{"$ref":"#/components/schemas/Sharedbf6323eb","description":"Role for this record."},"openTaskCount":{"$ref":"#/components/schemas/Shared8801afe2","description":"Open task count."}},"required":["actorId","displayName","title","avatar","role","openTaskCount"],"description":"One member of a team."},"example":{"actorId":"example","displayName":"example","title":"example","avatar":"example","role":"manager","openTaskCount":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"description":"The member's standing. Defaults to 'member'.","type":"string","enum":["manager","member","guest"]}},"description":"Add or re-role a team member."},"example":{}}},"description":"Fields used to add someone to a team, or change their standing on it. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdTeamsByTeamIdMembersByActorId","summary":"Remove someone from a team","tags":["Teams"],"description":"## Purpose\n\nRemove someone from a team.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDrop one membership. The person and everything they own stay exactly as they were — this severs the team relationship and nothing else, so work they are assigned keeps its assignee rather than being silently orphaned.\n\nRemoving a membership that is not there returns **404**, which makes a repeated delete safe to observe rather than silently successful.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The team they were removed from."},"actorId":{"type":"string","description":"The actor that was removed."}},"required":["teamId","actorId"],"description":"The removed membership."},"example":{"teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","actorId":"example"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter79491a05"},{"$ref":"#/components/parameters/SharedParameterc346a969"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/teams/{id}/mentions":{"get":{"operationId":"getV1OrgsByOrgIdTeamsByIdMentions","summary":"List the references written in this record","tags":["Teams"],"description":"## Purpose\n\nList the references written in this record.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn everything this record's prose points at, derived from its stored Markdown rather than curated. External references carry their resolved metadata; references to Docket entities the caller cannot see are omitted.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsea91e902b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/projects/{id}/template/preview":{"post":{"operationId":"postV1OrgsByOrgIdProjectsByIdTemplatePreview","summary":"Preview optional starting changes from a published template","tags":["Templates"],"x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse6e44c9d1"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplatePreviewRequest"}}},"description":"Fields used to preview optional starting changes from a published template. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nPreview optional starting changes from a published template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/projects/{id}/template/update":{"post":{"operationId":"postV1OrgsByOrgIdProjectsByIdTemplateUpdate","summary":"Apply reviewed changes from the current template","tags":["Templates"],"x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse5dfa1f1c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplateUpdateRequest"}}},"description":"Fields used to apply reviewed changes from the current template. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nApply reviewed changes from the current template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/projects/{id}/template":{"post":{"operationId":"postV1OrgsByOrgIdProjectsByIdTemplate","summary":"Change a work item’s template identity","tags":["Templates"],"description":"## Purpose\n\nChange a work item’s template identity.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPin a published template of the same workspace and kind. Starting values change only when explicitly selected from a current preview. Existing dates and child work change only through individually accepted child choices from the same preview. Live resource access is checked before template selection; unavailable work returns 404.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse5dfa1f1c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplateUpdateRequest"}}},"description":"Fields used to change a work item’s template identity. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/projects/{id}/template/save-as/preview":{"post":{"operationId":"postV1OrgsByOrgIdProjectsByIdTemplateSaveAsPreview","summary":"Review an independent reusable outline from current work","tags":["Templates"],"description":"## Purpose\n\nReview an independent reusable outline from current work.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRequires live source view rights and the workspace template authoring policy. Returns the complete authorized outline and review warnings. Hidden descendants or inaccessible images refuse the capture without exposing their content.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse87d660ac"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/projects/{id}/template/save-as":{"post":{"operationId":"postV1OrgsByOrgIdProjectsByIdTemplateSaveAs","summary":"Save a reviewed outline as a personal unpublished template","tags":["Templates"],"description":"## Purpose\n\nSave a reviewed outline as a personal unpublished template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreates an independent author-only draft from the exact reviewed source snapshot and warnings. A changed source returns409. Source work remains unchanged and publication requires a separate explicit action.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"$ref":"#/components/responses/SharedResponsec7efdcaf"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplateSaveAsRequest"}}},"description":"Fields used to save a reviewed outline as a personal unpublished template. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/projects":{"post":{"operationId":"postV1OrgsByOrgIdProjects","summary":"Create a project","tags":["Projects"],"description":"## Purpose\n\nCreate a project.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a project in the organization. Projects move from `planned` to `active` and then `completed`, or to `canceled`. The status defaults to `planned`. `startDate` and `targetDate` use ISO dates. Optional `leadId`, `teamId`, `programId`, and every `initiativeIds` value must identify a resource in the same organization; otherwise the request returns 404. Duplicate initiative IDs are accepted once. Optional `milestones` are created in their supplied order unless an item sets `sort`. The project, initiative links, and milestones succeed together or fail together. Docket records the creation in activity. Requires `contribute` and returns the created `ProjectOut`. Use `GET /:id/progress` for completion.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"blueprint":{"$ref":"#/components/schemas/Shareda0719e23","description":"Blueprint for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"name":{"type":"string","minLength":1,"description":"Human-readable project name. Required, non-empty."},"summary":{"description":"Optional concise outcome summary, limited to 280 characters.","type":"string","maxLength":280},"description":{"description":"Optional free-text description of the project’s goal/scope.","type":"string"},"leadId":{"description":"Optional project lead (the accountable Actor). Must reference an Actor in the caller’s org (404 otherwise).","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"teamId":{"description":"Optional owning Team. Must reference a Team in the caller’s org (404 otherwise).","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"programId":{"$ref":"#/components/schemas/Shared56ed1e4a","description":"Identifies the referenced program."},"status":{"description":"Optional initial lifecycle status. Defaults to `planned` when omitted.","type":"string","minLength":1},"health":{"$ref":"#/components/schemas/Shared9bfe6c6d","description":"Health for this record."},"priority":{"description":"Optional initial Project priority.","type":"string","enum":["none","urgent","high","medium","low"]},"startDate":{"$ref":"#/components/schemas/Shared2019a908","description":"Start date in YYYY-MM-DD format."},"startDateResolution":{"$ref":"#/components/schemas/Sharedefce9048","description":"Start date resolution for this record."},"targetDate":{"$ref":"#/components/schemas/Sharedcf6c140f","description":"Target date in YYYY-MM-DD format."},"targetDateResolution":{"$ref":"#/components/schemas/Shared4b81d561","description":"Target date resolution for this record."},"initiativeIds":{"$ref":"#/components/schemas/Shared1e29eb5a","description":"Initiative ids for this record."},"labelIds":{"$ref":"#/components/schemas/Shared3582b72f","description":"Label ids for this record."},"milestones":{"$ref":"#/components/schemas/Shared5ca83c16","description":"Milestones for this record."}},"required":["name"],"description":"Create a project within an organization."},"example":{"name":"example"}}},"description":"Fields used to create a project. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"get":{"operationId":"getV1OrgsByOrgIdProjects","summary":"List projects","tags":["Projects"],"description":"## Purpose\n\nList projects.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList the organization's projects — the bounded, dated efforts that sit between ongoing Programs above and Tasks/Milestones below. Results use a stable keyset order of `createdAt DESC, id DESC`. `limit` defaults to 50 and accepts at most 100. Copy `nextCursor` unchanged into `cursor`; it is absent when the result set is exhausted. Archived Projects remain excluded on every page, and the cursor must be reused with the same filter set. Each item is the flat `ProjectOut` (no progress roll-up — call `GET /:id/progress` for weighted completion, or `GET /:id/rollup` for the detail-screen extras). Read-only; org membership suffices. Strictly org-scoped.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","priority":"none","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","startDateResolution":"month","startDateFiscalYearStartMonth":0,"targetDateResolution":"month","targetDateFiscalYearStartMonth":0,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/projects/overview":{"get":{"operationId":"getV1OrgsByOrgIdProjectsOverview","summary":"Get Project portfolio overview","tags":["Projects"],"description":"## Purpose\n\nGet Project portfolio overview.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturns every visible Project with its decoupled display metadata, task completion counts drawn only from Tasks the caller can view, and Project dependency edges in one bounded read. The same caller-visible aggregate powers list, dependency, and timeline lenses so switching views never changes the underlying portfolio scope.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectOverviewItem"},"description":"Items, in order."}},"required":["items"],"description":"Project portfolio overview aggregate."},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","priority":"none","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","startDateResolution":"month","startDateFiscalYearStartMonth":0,"targetDateResolution":"month","targetDateFiscalYearStartMonth":0,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","labelIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"initiativeIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"display":{"subjectType":"initiative","subjectId":"example","glyph":{"kind":"symbol","name":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"},"iconKey":"target","colorKey":"neutral","customColor":"#336699","coverImage":"example","customized":false},"milestones":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","targetDate":"2026-09-19"}],"taskCount":0,"completedTaskCount":0,"blockedByIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"blocksIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/projects/{id}/aggregate-detail":{"get":{"operationId":"getV1OrgsByOrgIdProjectsByIdAggregateDetail","summary":"Get the bounded Project detail aggregate","tags":["Projects"],"description":"## Purpose\n\nGet the bounded Project detail aggregate.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturns the Project snapshot, visible-control capabilities, its named references, and the default document content in one request. It excludes organization-wide pickers and inactive sections.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"target":{"type":"string","const":"project","description":"Target for this record."},"snapshot":{"type":"object","properties":{"target":{"type":"string","const":"project","description":"Target for this record."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"name":{"type":"string","description":"Human-readable name."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"priority":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."},"health":{"$ref":"#/components/schemas/Shared87b03b06","description":"Health for this record."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["target","organizationId","id","name","status","priority","health","updatedAt"],"additionalProperties":false,"description":"Snapshot for this record."},"viewer":{"$ref":"#/components/schemas/DetailViewer","description":"Viewer for this record."},"capabilities":{"$ref":"#/components/schemas/DetailCapabilities","description":"Capabilities for this record."},"references":{"type":"object","properties":{"lead":{"anyOf":[{"$ref":"#/components/schemas/DetailActorReference"},{"type":"null"}],"description":"Lead for this record."},"program":{"anyOf":[{"$ref":"#/components/schemas/ProgramOut"},{"type":"null"}],"description":"Program for this record."},"team":{"anyOf":[{"$ref":"#/components/schemas/TeamOut"},{"type":"null"}],"description":"Team for this record."},"initiatives":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInitiativeReference"},"description":"Initiatives, in order."}},"required":["lead","program","team","initiatives"],"additionalProperties":false,"description":"References for this record."},"defaultView":{"type":"object","properties":{"project":{"$ref":"#/components/schemas/ProjectOut","description":"Project for this record."},"progress":{"$ref":"#/components/schemas/ProjectProgress","description":"Progress for this record."}},"required":["project","progress"],"additionalProperties":false,"description":"Default view for this record."}},"required":["target","snapshot","viewer","capabilities","references","defaultView"],"additionalProperties":false,"description":"Bounded initial Project detail response."},"example":{"target":"project","snapshot":{"target":"project","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","priority":"none","health":"on_track","updatedAt":"2026-09-19T12:00:00.000Z"},"viewer":{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"capabilities":{"comment":false,"contribute":false,"assign":false,"manage":false},"references":{"lead":{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","displayName":"example","avatar":"example"},"program":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","summary":"example","status":"example","visibility":"public","createdAt":"2026-09-19T12:00:00.000Z"},"team":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","key":"example","summary":"example","triageEnabled":false},"initiatives":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}]},"defaultView":{"project":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","priority":"none","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","startDateResolution":"month","startDateFiscalYearStartMonth":0,"targetDateResolution":"month","targetDateFiscalYearStartMonth":0,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"},"progress":{"percent":0,"completedWeight":0,"totalWeight":0,"taskCount":0,"completedCount":0}}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"required":true,"description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/projects/{id}":{"get":{"operationId":"getV1OrgsByOrgIdProjectsById","summary":"Get a project","tags":["Projects"],"description":"## Purpose\n\nGet a project.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch a single project by id, scoped to the caller's org (404 `Project not found` when absent or cross-tenant). Returns the flat `ProjectOut` — its lifecycle `status`, `health` verdict, `leadId`/`teamId`/`programId` references, and `startDate`/`targetDate`. This read does NOT include the weighted completion roll-up or the milestone/initiative/activity extras; use `GET /:id/progress` and `GET /:id/rollup` respectively for those. Read-only; org membership suffices.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdProjectsById","summary":"Update a project","tags":["Projects"],"description":"## Purpose\n\nUpdate a project.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate selected project fields. Omitted fields remain unchanged, while null clears a nullable field. A supplied `leadId`, `programId`, or `teamId` must identify a resource in the same organization; otherwise the request returns 404. An empty body leaves the project unchanged. Changing `programId` moves the project under that program. Status, health, and date changes affect project roll-ups and initiative timelines. Docket records a status-change activity only when `status` is present. Requires `contribute` and returns the updated `ProjectOut`.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"description":"New project name. Omit to leave unchanged; non-empty when set.","type":"string","minLength":1},"summary":{"description":"New concise outcome summary. Omit to leave unchanged; send an empty string to clear.","type":"string","maxLength":280},"description":{"description":"New description. Omit to leave unchanged; send an empty string to clear.","type":"string"},"leadId":{"description":"Re-point the project lead (must be an Actor in the caller’s org). Omit to leave unchanged; `null` clears it.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}]},"programId":{"description":"File the project under a Program (must be a Program in the caller’s org), or `null` to unfile it. Omit to leave unchanged.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}]},"teamId":{"description":"Re-point the owning Team (must be a Team in the caller’s org). Omit to leave unchanged; `null` clears it.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}]},"status":{"description":"New lifecycle status (`planned`/`active`/`completed`/`canceled`). Including this emits a `status_change` observation. Omit to leave unchanged.","type":"string","minLength":1},"health":{"description":"New health verdict (`on_track`/`at_risk`/`off_track`). Omit to leave unchanged; `null` clears it.","anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda","description":"Health for this record."},{"type":"null"}]},"priority":{"description":"New Project priority. Omit to leave unchanged.","type":"string","enum":["none","urgent","high","medium","low"]},"startDate":{"description":"New start date (ISO-8601 `YYYY-MM-DD`). Omit to leave unchanged; `null` clears it.","anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}]},"startDateResolution":{"description":"New broad start resolution. Omit with the date for a precise day; null clears it.","anyOf":[{"type":"string","enum":["month","quarter","halfYear","year"]},{"type":"null"}]},"targetDate":{"description":"New target/end date (ISO-8601 `YYYY-MM-DD`). Omit to leave unchanged; `null` clears it.","anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}]},"targetDateResolution":{"$ref":"#/components/schemas/Sharede2450f3d","description":"Target date resolution for this record."},"labelIds":{"description":"Replace the Project’s organization-global Label associations when supplied.","type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."}},"initiativeIds":{"description":"Replace the Project’s Initiative associations when supplied. Each id must belong to the caller’s organization; duplicates are de-duplicated.","type":"array","items":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."}}},"description":"Partially update a project."},"example":{}}},"description":"Fields used to update a project. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdProjectsById","summary":"Delete a project","tags":["Projects"],"description":"## Purpose\n\nDelete a project.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nPermanently delete a project. The project must belong to the organization, and the caller needs the `manage` capability. Tasks are not deleted, but they no longer belong to the project or its milestones. The project's milestones are deleted with it. Initiative links are removed. To preserve the project and its history, update its `status` to `completed` or `canceled` instead. Returns the deleted `ProjectOut`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/projects/{id}/labels":{"post":{"operationId":"postV1OrgsByOrgIdProjectsByIdLabels","summary":"Add a label to a project","tags":["Projects"],"description":"## Purpose\n\nAdd a label to a project.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAdd one eligible Label to a Project without replacing existing Labels. Repeating an existing link succeeds without another write.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"projectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"labelId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"linked":{"type":"boolean","const":true,"description":"Linked for this record."}},"required":["projectId","labelId","linked"],"description":"A Project Label association."},"example":{"projectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","labelId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","linked":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"labelId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."}},"required":["labelId"],"description":"Add one Label to a Project."},"example":{"labelId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to add a label to a project. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/projects/{id}/progress":{"get":{"operationId":"getV1OrgsByOrgIdProjectsByIdProgress","summary":"Get project progress","tags":["Projects"],"description":"## Purpose\n\nGet project progress.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn completion progress across the project's tasks that the caller can view. A task is complete when `completedAt` is set. If any visible task has a positive `estimate`, Docket weights progress by estimates and treats a missing estimate as zero. Otherwise, each task has equal weight. `percent` is zero when no visible task contributes weight. `taskCount` and `completedCount` always report raw counts. An absent or inaccessible project returns 404. Returns `ProjectProgress`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"percent":{"$ref":"#/components/schemas/Shared47a94883","description":"Percent for this record."},"completedWeight":{"type":"number","minimum":0,"description":"Summed weight of completed tasks — the estimate sum of completed tasks in estimate mode, or the completed task count in count mode."},"totalWeight":{"$ref":"#/components/schemas/Shared4c96c279","description":"Total weight for this record."},"taskCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Number of tasks in the project, regardless of the progress weighting mode."},"completedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Raw number of completed tasks (those with a `completedAt`), regardless of weighting mode."}},"required":["percent","completedWeight","totalWeight","taskCount","completedCount"],"description":"Weighted completion roll-up for a project."},"example":{"percent":0,"completedWeight":0,"totalWeight":0,"taskCount":0,"completedCount":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/projects/{id}/dependencies":{"get":{"operationId":"getV1OrgsByOrgIdProjectsByIdDependencies","summary":"List project dependencies","tags":["Projects"],"description":"## Purpose\n\nList project dependencies.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nLists both directions of the selected Project dependency graph: Projects this one blocks and Projects that must finish before this one can proceed.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"blocking":{"type":"array","items":{"$ref":"#/components/schemas/ProjectRef"},"description":"Projects the path Project blocks."},"blockedBy":{"type":"array","items":{"$ref":"#/components/schemas/ProjectRef"},"description":"Projects that block the path Project."}},"required":["blocking","blockedBy"],"description":"A Project dependency split."},"example":{"blocking":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","targetDate":"2026-09-19"}],"blockedBy":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","targetDate":"2026-09-19"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdProjectsByIdDependencies","summary":"Add a project dependency","tags":["Projects"],"description":"## Purpose\n\nAdd a project dependency.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreates a directed dependency between two Projects in the workspace after rejecting self-links, duplicate edges, inaccessible Projects, and cycles.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"boolean","const":true,"description":"Created for this record."},"blockingProjectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"blockedProjectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."}},"required":["created","blockingProjectId","blockedProjectId"],"description":"A created Project dependency edge."},"example":{"created":true,"blockingProjectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","blockedProjectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"blockingProjectId":{"description":"A Project that blocks the path Project. Supply exactly one endpoint.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"blockedProjectId":{"description":"A Project the path Project blocks. Supply exactly one endpoint.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"}},"description":"Create a directed Project dependency."},"example":{}}},"description":"Fields used to add a project dependency. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/projects/{id}/dependencies/{depId}":{"delete":{"operationId":"deleteV1OrgsByOrgIdProjectsByIdDependenciesByDepId","summary":"Remove a project dependency","tags":["Projects"],"description":"## Purpose\n\nRemove a project dependency.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemoves the dependency edge connecting the selected Project and dependency Project, regardless of which direction is represented by the route parameters.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"removed":{"type":"boolean","const":true,"description":"Removed for this record."}},"required":["removed"],"description":"A removed Project dependency edge."},"example":{"removed":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameterea7cdc21"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/projects/{id}/milestones":{"get":{"operationId":"getV1OrgsByOrgIdProjectsByIdMilestones","summary":"List a project's milestones","tags":["Milestones"],"description":"## Purpose\n\nList a project's milestones.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nList the named checkpoints inside a Project. Ordered by `sort ASC, id ASC`, which is the order they render on the project timeline rather than target-date order. `progress` counts the non-archived Tasks on the milestone that the caller can see, and how many of them are completed. Pages default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Reuse a cursor only for the same Project. 404 `Project not found` when the project is absent, archived, or in another tenant.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MilestoneOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","projectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","description":"example","sort":0,"createdAt":"2026-09-19T12:00:00.000Z","progress":{"total":0,"completed":0}}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdProjectsByIdMilestones","summary":"Create a milestone","tags":["Milestones"],"description":"## Purpose\n\nCreate a milestone.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a milestone inside a Project. The parent comes from the path and is re-read scoped to the caller's org BEFORE inserting (404 `Project not found`, existence-hiding for cross-tenant ids), so a milestone can never be parented to another tenant's project. `description` is an optional long-form note (omit for none); `targetDate` is an optional ISO date (the checkpoint's planned completion, which drives its on-track/at-risk signal relative to today); `sort` orders the milestone among its siblings and, when omitted, appends after the project's current last one — so a client adding checkpoints one at a time never computes a position from a list it read earlier. The parent is fixed at creation and cannot be moved later (`MilestoneUpdate` has no `projectId`). Requires `contribute`. Returns the created `MilestoneOut`.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable milestone label (e.g. \"Beta\", \"GA\"). Required, non-empty."},"description":{"description":"Optional long-form note for the milestone. Omit for none.","type":"string"},"targetDate":{"$ref":"#/components/schemas/Sharedffdc9929","description":"Target date in YYYY-MM-DD format."},"sort":{"$ref":"#/components/schemas/Sharedd2953dde","description":"Sort for this record."}},"required":["name"],"description":"Create a milestone within an organization."},"example":{"name":"example"}}},"description":"Fields used to create a milestone. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/projects/{id}/milestones/{milestoneId}":{"get":{"operationId":"getV1OrgsByOrgIdProjectsByIdMilestonesByMilestoneId","summary":"Get a milestone","tags":["Milestones"],"description":"## Purpose\n\nGet a milestone.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch one of a Project's milestones (404 `Milestone not found` when absent, cross-tenant, or owned by a different Project). Returns the `MilestoneOut` — its parent `projectId`, `name`, optional `description` and `targetDate`, `sort` position, and `progress`. `progress` counts the non-archived Tasks on the milestone that the caller can see, and how many of them are completed. Read-only; org membership suffices. List the milestone's Tasks with `GET /tasks?milestoneId=`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdProjectsByIdMilestonesByMilestoneId","summary":"Update a milestone","tags":["Milestones"],"description":"## Purpose\n\nUpdate a milestone.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPartially update a milestone's `name`, `description`, `targetDate`, and/or `sort`. Each field is optional: an absent key leaves the column untouched, and an explicit `null` `description`/`targetDate` clears it (an undated checkpoint, or one with no note). The parent project is immutable — there is intentionally no `projectId` in the body, and the one in the path must already own this milestone, so a milestone cannot be moved between projects (delete and recreate to re-parent). Editing `sort` reorders the milestone among its siblings on the project timeline. 404 `Milestone not found` when absent, cross-tenant, or owned by a different Project. Requires `contribute`. Returns the updated `MilestoneOut`.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"description":"New milestone label. Omit to leave the name unchanged; must be non-empty when set.","type":"string","minLength":1},"description":{"description":"New long-form note. Omit to leave unchanged; pass `null` to clear it.","anyOf":[{"type":"string"},{"type":"null"}]},"targetDate":{"description":"New planned completion date (ISO-8601 `YYYY-MM-DD`). Omit to leave unchanged; pass `null` to clear the date (undated checkpoint).","anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}]},"sort":{"description":"New ordering key among siblings (ascending). Omit to leave the position unchanged.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"description":"Update a milestone."},"example":{}}},"description":"Fields used to update a milestone. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdProjectsByIdMilestonesByMilestoneId","summary":"Delete a milestone","tags":["Milestones"],"description":"## Purpose\n\nDelete a milestone.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDelete one of a Project's milestones (404 `Milestone not found` when absent, cross-tenant, or owned by a different Project). Note this requires only `contribute`, NOT `manage` like deleting a Project or Initiative — a milestone is a lightweight checkpoint inside a project rather than a structural container, so removing it is ordinary contributor work. Side effect: per the contract, any Tasks pointing at this milestone have their `milestone_id` nulled (the tasks survive, returning to the project's ungrouped pool) rather than being deleted. Returns the deleted `MilestoneOut` as a tombstone, with `progress` at zero because no Task points at it any more.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MilestoneOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter8096b455"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/object-commands/replay-access":{"post":{"operationId":"postV1OrgsByOrgIdObjectCommandsReplayAccess","summary":"Check current access to replay an object command","tags":["Objects"],"description":"## Purpose\n\nCheck current access to replay an object command.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCheck whether the signed-in actor may undo or redo every change in a prior command receipt. The response reports access without changing any Task, Project, relation, timer, or receipt. Use this immediately before showing an undo or redo action because access can change after the original command.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"allowed":{"type":"boolean","description":"Allowed for this record."},"deniedIds":{"type":"array","items":{"type":"string"},"description":"Denied ids, in order."}},"required":["allowed","deniedIds"]},"example":{"allowed":false,"deniedIds":["example"]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"direction":{"type":"string","enum":["undo","redo"],"description":"Allowed direction value."},"receipt":{"$ref":"#/components/schemas/Shared7650e913","description":"Receipt for this record."}},"required":["direction","receipt"]},"example":{"direction":"undo","receipt":{"commandId":"example","objectKind":"task","action":"replace_property","entries":[{"kind":"object","objectId":"example","property":"example","before":"example","after":"example"}]}}}},"description":"Fields used to check current access to replay an object command. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/object-commands":{"post":{"operationId":"postV1OrgsByOrgIdObjectCommands","summary":"Apply, undo, or redo an object command","tags":["Objects"],"description":"## Purpose\n\nApply, undo, or redo an object command.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nApply one bulk Task or Project edit, or replay a receipt returned by an earlier command. All requested object and relation changes succeed together or none are stored. The response includes the resulting objects and a receipt that can be sent back for undo or redo. `Idempotency-Key` must equal `commandId`; retry the same request with the same values after a lost response. Reusing either value for different work fails. Undo and redo fail when the targeted values no longer match the receipt, which prevents overwriting later edits. Changes may also stop active Task timers and queue follow-up notifications or integration work.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"appliedIds":{"type":"array","items":{"type":"string"},"description":"Applied ids, in order."},"conflictingIds":{"type":"array","items":{"type":"string"},"description":"Conflicting ids, in order."},"deniedIds":{"type":"array","items":{"type":"string"},"description":"Denied ids, in order."},"receipt":{"$ref":"#/components/schemas/Shared7650e913","description":"Receipt for this record."}},"required":["appliedIds","conflictingIds","deniedIds","receipt"]},"example":{"appliedIds":["example"],"conflictingIds":["example"],"deniedIds":["example"],"receipt":{"commandId":"example","objectKind":"task","action":"replace_property","entries":[{"kind":"object","objectId":"example","property":"example","before":"example","after":"example"}]}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"type":"object","properties":{"commandId":{"type":"string","minLength":1,"maxLength":200,"description":"Identifies the referenced command."},"objectKind":{"type":"string","const":"task","description":"Object kind for this record."},"objectIds":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"description":"Object ids, in order."},"operation":{"anyOf":[{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"title","description":"Property for this record."},"value":{"type":"string","minLength":1,"description":"Stored or returned value."}},"required":["type","property","value"]},{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"state","description":"Property for this record."},"value":{"type":"string","minLength":1,"maxLength":200,"description":"Stored or returned value."}},"required":["type","property","value"]},{"$ref":"#/components/schemas/Shared750efd3e"},{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"assigneeId","description":"Property for this record."},"value":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}],"description":"Stored or returned value."}},"required":["type","property","value"]},{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"projectId","description":"Property for this record."},"value":{"$ref":"#/components/schemas/Shared1507ca4b","description":"Stored or returned value."}},"required":["type","property","value"]},{"$ref":"#/components/schemas/Sharedb0fe19d8"},{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"milestoneId","description":"Property for this record."},"value":{"$ref":"#/components/schemas/Sharede270a0d5","description":"Stored or returned value."}},"required":["type","property","value"]},{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"cycleId","description":"Property for this record."},"value":{"$ref":"#/components/schemas/Sharedcbbc9868","description":"Stored or returned value."}},"required":["type","property","value"]},{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"startDate","description":"Property for this record."},"value":{"$ref":"#/components/schemas/Sharedd4845624","description":"Stored or returned value."}},"required":["type","property","value"]},{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"dueDate","description":"Property for this record."},"value":{"$ref":"#/components/schemas/Sharedd4845624","description":"Stored or returned value."}},"required":["type","property","value"]},{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"estimate","description":"Property for this record."},"value":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Stored or returned value."}},"required":["type","property","value"]}]},{"$ref":"#/components/schemas/Shared62554511"},{"type":"object","properties":{"type":{"type":"string","enum":["add_dependency","remove_dependency"],"description":"Selects the value type."},"blockingId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"blockedId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."}},"required":["type","blockingId","blockedId"]},{"type":"object","properties":{"type":{"type":"string","const":"change_parent","description":"Selects the value type."},"parentId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"description":"Identifies the referenced parent."}},"required":["type","parentId"]},{"$ref":"#/components/schemas/Shared6aefde6e"}],"description":"Operation for this record."}},"required":["commandId","objectKind","objectIds","operation"]},{"type":"object","properties":{"commandId":{"type":"string","minLength":1,"maxLength":200,"description":"Identifies the referenced command."},"objectKind":{"type":"string","const":"project","description":"Object kind for this record."},"objectIds":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"description":"Object ids, in order."},"operation":{"anyOf":[{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"status","description":"Property for this record."},"value":{"type":"string","minLength":1,"description":"The key of a Project status in this workspace. A workspace defines its own Project statuses, so this is a key into that set rather than a fixed value; new workspaces start with `planned`, `active`, `completed`, and `canceled`. The accompanying `statusCategory` is what carries meaning across workspaces."}},"required":["type","property","value"]},{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"health","description":"Property for this record."},"value":{"$ref":"#/components/schemas/Sharedd19098b0","description":"Stored or returned value."}},"required":["type","property","value"]},{"$ref":"#/components/schemas/Shared750efd3e"},{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"leadId","description":"Property for this record."},"value":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id whose Project-lead use requires an active human Actor in the target organization; the command service enforces those semantic facts."},{"type":"null"}],"description":"Stored or returned value."}},"required":["type","property","value"]},{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"teamId","description":"Property for this record."},"value":{"$ref":"#/components/schemas/Shared9c179824","description":"Stored or returned value."}},"required":["type","property","value"]},{"$ref":"#/components/schemas/Sharedb0fe19d8"},{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"startTimeframe","description":"Property for this record."},"value":{"$ref":"#/components/schemas/Shared64be20be","description":"Stored or returned value."}},"required":["type","property","value"]},{"type":"object","properties":{"type":{"type":"string","const":"replace_property","description":"Selects the value type."},"property":{"type":"string","const":"targetTimeframe","description":"Property for this record."},"value":{"$ref":"#/components/schemas/Shared64be20be","description":"Stored or returned value."}},"required":["type","property","value"]}]},{"$ref":"#/components/schemas/Shared62554511"},{"type":"object","properties":{"type":{"type":"string","enum":["add_association","remove_association"],"description":"Selects the value type."},"association":{"type":"string","const":"initiative","description":"Association for this record."},"associationIds":{"minItems":1,"maxItems":20,"type":"array","items":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"description":"Association ids, in order."}},"required":["type","association","associationIds"]},{"type":"object","properties":{"type":{"type":"string","enum":["add_dependency","remove_dependency"],"description":"Selects the value type."},"blockingId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"blockedId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."}},"required":["type","blockingId","blockedId"]},{"$ref":"#/components/schemas/Shared6aefde6e"}],"description":"Operation for this record."}},"required":["commandId","objectKind","objectIds","operation"]}]},{"type":"object","properties":{"commandId":{"type":"string","minLength":1,"maxLength":200,"description":"Identifies the referenced command."},"direction":{"type":"string","enum":["undo","redo"],"description":"Allowed direction value."},"receipt":{"$ref":"#/components/schemas/Shared7650e913","description":"Receipt for this record."}},"required":["commandId","direction","receipt"]}]},"example":{"commandId":"example","objectKind":"task","objectIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"operation":{"type":"replace_property","property":"title","value":"example"}}}},"description":"Fields used to apply, undo, or redo an object command. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/projects/{id}/work":{"get":{"operationId":"getV1OrgsByOrgIdProjectsByIdWork","summary":"Get deferred project work sections","tags":["Projects"],"description":"## Purpose\n\nGet deferred project work sections.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturns only visible Tasks and this Project's Milestones after the work surface opens. It never reads organization task or milestone rosters.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"milestones":{"type":"array","items":{"$ref":"#/components/schemas/MilestoneOut"},"description":"Milestones, in order."},"tasks":{"type":"array","items":{"$ref":"#/components/schemas/TaskOut"},"description":"Tasks, in order."},"taskMilestones":{"type":"array","items":{"type":"object","properties":{"taskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"milestoneId":{"$ref":"#/components/schemas/Shared33ea6897","description":"Identifies the referenced milestone."}},"required":["taskId","milestoneId"],"additionalProperties":false},"description":"Task milestones, in order."}},"required":["milestones","tasks","taskMilestones"],"additionalProperties":false,"description":"Project-scoped work and milestone groups returned outside the initial detail."},"example":{"milestones":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","projectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","description":"example","sort":0,"createdAt":"2026-09-19T12:00:00.000Z","progress":{"total":0,"completed":0}}],"tasks":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","state":"example","priority":"none","autoCompletedBySubtasks":false,"provenance":{"source":"native"},"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}],"taskMilestones":[{"taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","milestoneId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/projects/{id}/rollup":{"get":{"operationId":"getV1OrgsByOrgIdProjectsByIdRollup","summary":"Get project roll-up","tags":["Projects"],"description":"## Purpose\n\nGet project roll-up.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nThe project-detail screen's waterfall-collapsing read: task-to-milestone membership and recent agent activity for Tasks the caller can view, plus every Initiative linked through `initiative_project`, served in one bounded round-trip. Initiative identifiers are returned in deterministic order because one Project may support several Initiatives. The project must exist in the caller's organization; organization membership accesses the Project while task-derived fields use canonical task visibility. Returns `ProjectRollupOut`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"taskMilestones":{"type":"array","items":{"type":"object","properties":{"taskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"A task belonging to the project."},"milestoneId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Milestone — a dated checkpoint within a Project."},{"type":"null"}],"description":"The milestone the task sits under, or `null` when the task is ungrouped."}},"required":["taskId","milestoneId"]},"description":"Each of the project’s tasks paired with its milestone — the `milestone_id` that otherwise only `TaskDetail` carries, collapsing an N+1 of per-task reads."},"initiativeIds":{"type":"array","items":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"description":"All Initiatives this project supports, resolved from the `initiative_project` join in deterministic identifier order."},"labels":{"type":"array","items":{"$ref":"#/components/schemas/LabelOut"},"description":"Organization-global Labels attached to the Project."},"recentActivity":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The activity entry id — also the SSE event id on `GET /:id/stream`, usable as `Last-Event-ID` to resume."},"sessionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The session this entry belongs to."},"organizationId":{"$ref":"#/components/schemas/Shared14d27f55","description":"Identifies the referenced organization."},"type":{"type":"string","enum":["thought","action","response","elicitation","error"],"description":"The kind of entry (thought/action/response/elicitation/error)."},"body":{"$ref":"#/components/schemas/Shared9f14798f","description":"Body for this record."},"approvalStatus":{"$ref":"#/components/schemas/Shared2e6df07a","description":"Approval status for this record."},"createdAt":{"type":"string","description":"ISO-8601 timestamp the entry was appended — the stream sort key (ascending)."},"agentId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The agent whose session produced this activity (annotated so the client resolves the actor without a per-session read)."}},"required":["id","sessionId","organizationId","type","body","createdAt","agentId"]},"description":"Recent activity across the project’s tasks’ agent sessions, newest-first (capped at 8). Each entry is a session-activity row extended with its session’s `agentId`."}},"required":["taskMilestones","initiativeIds","labels","recentActivity"],"description":"A project's task-to-milestone map, Initiative links, and recent activity."},"example":{"taskMilestones":[{"taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","milestoneId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"initiativeIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example","createdAt":"2026-09-19T12:00:00.000Z"}],"recentActivity":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sessionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","type":"thought","body":{},"createdAt":"2026-09-19T12:00:00.000Z","agentId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/projects/{id}/resources":{"get":{"operationId":"getV1OrgsByOrgIdProjectsByIdResources","summary":"List Project URL resources","tags":["Projects"],"description":"## Purpose\n\nList Project URL resources.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nLists URL resources attached directly to the selected Project in createdAt ASC, id ASC order. Pages default to 50 items, accept at most 100, and omit nextCursor at exhaustion. Reuse a cursor only for the same Project.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse43c9efd1"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdProjectsByIdResources","summary":"Attach a Project URL resource","tags":["Projects"],"description":"## Purpose\n\nAttach a Project URL resource.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAttaches a titled external URL to the selected Project.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"$ref":"#/components/responses/SharedResponse23868411"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"description":"Human-readable resource title."},"url":{"type":"string","format":"uri","description":"External URL referenced by the Project."}},"required":["title","url"],"description":"Attach a URL to a Project."},"example":{"title":"example","url":"https://api.clearthedocket.com/v1/example"}}},"description":"Fields used to attach a Project URL resource. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/projects/{id}/resources/{resourceId}":{"delete":{"operationId":"deleteV1OrgsByOrgIdProjectsByIdResourcesByResourceId","summary":"Remove a Project URL resource","tags":["Projects"],"description":"## Purpose\n\nRemove a Project URL resource.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemoves a URL resource after verifying Project and workspace ownership.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse3b7860a7"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter8579cacb"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/tasks/{id}/template/preview":{"post":{"operationId":"postV1OrgsByOrgIdTasksByIdTemplatePreview","summary":"Preview optional starting changes from a published template","tags":["Templates"],"x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse6e44c9d1"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplatePreviewRequest"}}},"description":"Fields used to preview optional starting changes from a published template. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nPreview optional starting changes from a published template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/tasks/{id}/template/update":{"post":{"operationId":"postV1OrgsByOrgIdTasksByIdTemplateUpdate","summary":"Apply reviewed changes from the current template","tags":["Templates"],"x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse5dfa1f1c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplateUpdateRequest"}}},"description":"Fields used to apply reviewed changes from the current template. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nApply reviewed changes from the current template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/tasks/{id}/template":{"post":{"operationId":"postV1OrgsByOrgIdTasksByIdTemplate","summary":"Change a work item’s template identity","tags":["Templates"],"description":"## Purpose\n\nChange a work item’s template identity.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPin a published template of the same workspace and kind. Starting values change only when explicitly selected from a current preview. Existing dates and child work change only through individually accepted child choices from the same preview. Live resource access is checked before template selection; unavailable work returns 404.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse5dfa1f1c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplateUpdateRequest"}}},"description":"Fields used to change a work item’s template identity. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/tasks/{id}/template/save-as/preview":{"post":{"operationId":"postV1OrgsByOrgIdTasksByIdTemplateSaveAsPreview","summary":"Review an independent reusable outline from current work","tags":["Templates"],"description":"## Purpose\n\nReview an independent reusable outline from current work.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRequires live source view rights and the workspace template authoring policy. Returns the complete authorized outline and review warnings. Hidden descendants or inaccessible images refuse the capture without exposing their content.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse87d660ac"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/tasks/{id}/template/save-as":{"post":{"operationId":"postV1OrgsByOrgIdTasksByIdTemplateSaveAs","summary":"Save a reviewed outline as a personal unpublished template","tags":["Templates"],"description":"## Purpose\n\nSave a reviewed outline as a personal unpublished template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreates an independent author-only draft from the exact reviewed source snapshot and warnings. A changed source returns409. Source work remains unchanged and publication requires a separate explicit action.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"$ref":"#/components/responses/SharedResponsec7efdcaf"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplateSaveAsRequest"}}},"description":"Fields used to save a reviewed outline as a personal unpublished template. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/tasks":{"post":{"operationId":"postV1OrgsByOrgIdTasks","summary":"Create a task","tags":["Tasks"],"description":"## Purpose\n\nCreate a task.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a task in the organization. `teamId` is required, and the task uses that team's workflow. Every supplied reference, including `assigneeId`, `projectId`, `cycleId`, `milestoneId`, and `parentTaskId`, must identify a resource in the same organization. A cycle must also belong to the selected team. Invalid or inaccessible references return 404; a cycle from another team returns 409 `cadence_changed`.\n\nWhen `state` is omitted, Docket uses the team's first workflow state. When the selected state is completed or canceled, Docket sets the matching terminal timestamp. `priority` defaults to `none`.\n\nThe new task appears in the organization's activity stream. An assigned task also produces an assignment event. Creating a task with `assigneeId` requires `contribute`; changing an existing task's assignee requires `assign`.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"$ref":"#/components/responses/SharedResponse94db3ddd"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"blueprint":{"$ref":"#/components/schemas/Shareda0719e23","description":"Blueprint for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"title":{"type":"string","minLength":1,"description":"Task title. Required, non-empty; the primary human label for the work."},"description":{"description":"Optional long-form body for the task (markdown). Omit for a title-only task.","type":"string"},"summary":{"$ref":"#/components/schemas/Shared07587a46","description":"Short plain-language summary."},"teamId":{"$ref":"#/components/schemas/Sharedfb2f898b","description":"Identifies the referenced team."},"state":{"$ref":"#/components/schemas/Shared77d6ca21","description":"Current lifecycle state."},"priority":{"$ref":"#/components/schemas/Shared0a69add3","description":"Priority for this record."},"assigneeId":{"$ref":"#/components/schemas/Sharede072e2ca","description":"Identifies the referenced assignee."},"projectId":{"$ref":"#/components/schemas/Shared492417fa","description":"Identifies the referenced project."},"milestoneId":{"description":"Milestone this task is targeted at. Must belong to the caller's org (and conventionally the same project).","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"cycleId":{"description":"Cycle (sprint/iteration) this task is committed to. Must be a cycle in the caller's org.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"parentTaskId":{"$ref":"#/components/schemas/Shared864646a2","description":"Identifies the referenced parent task."},"templateId":{"description":"Task template this task was created from. Must be a caller-visible task template in the caller’s org.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"relatedTaskIds":{"$ref":"#/components/schemas/Shared315e4946","description":"Related task ids for this record."},"estimate":{"description":"Coarse effort estimate in abstract points (integer). Distinct from `estimateMinutes`.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"estimateMinutes":{"$ref":"#/components/schemas/Shareda9e3bb2c","description":"Estimate minutes for this record."},"startDate":{"$ref":"#/components/schemas/Shared361a2cef","description":"Start date in YYYY-MM-DD format."},"dueDate":{"$ref":"#/components/schemas/Shared6f407f35","description":"Due date in YYYY-MM-DD format."},"labels":{"$ref":"#/components/schemas/Sharedfc14ef4d","description":"Labels for this record."}},"required":["title","teamId"],"description":"Create a task within an organization."},"example":{"title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to create a task. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"get":{"operationId":"getV1OrgsByOrgIdTasks","summary":"List tasks","tags":["Tasks"],"description":"## Purpose\n\nList tasks.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList active tasks in the organization, newest first. Tasks use `createdAt` and then `id` for stable ordering. Archived tasks are excluded.\n\n`limit` defaults to 50 and accepts at most 100. Reuse a cursor only with the same `programId`, `labelId`, and `milestoneId` filters. `labelId` selects tasks with that label. `milestoneId` selects tasks on that milestone. `programId` selects tasks attached directly to the program or to one of its projects. Docket applies task visibility before filling the page. Organization membership is required. Each item is a `TaskOut`; use `GET /:id` for dependencies and subtasks.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsed184e5d8"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"in":"query","name":"programId","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"description":"Restrict the list to tasks under a Program — carrying its `programId` directly, or belonging to one of the Program’s Projects. Omit for the full active-task list."},{"in":"query","name":"labelId","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"description":"Restrict the list to tasks carrying this label. Combines with `programId` as an AND. Omit for no label filter."},{"in":"query","name":"milestoneId","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"description":"Restrict the list to tasks on this milestone. Combines with the other filters as an AND. Omit for no milestone filter."}],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/tasks/{id}/expand":{"post":{"operationId":"postV1OrgsByOrgIdTasksByIdExpand","summary":"Expand a task description","tags":["Tasks"],"description":"## Purpose\n\nExpand a task description.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nImprove one existing task description in place. The task’s saved template guides structure, while written text and existing values remain authoritative. The response carries one opaque undo token when the expansion changed work.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse9c0b57a5"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false},"example":{}}},"description":"Fields used to expand a task description. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/tasks/{id}/expand/undo":{"post":{"operationId":"postV1OrgsByOrgIdTasksByIdExpandUndo","summary":"Undo a task expansion","tags":["Tasks"],"description":"## Purpose\n\nUndo a task expansion.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nReverse one task-description expansion when the caller owns its unused undo token and no tracked work changed afterward.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse9c0b57a5"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"undoToken":{"type":"string","minLength":1,"description":"Undo token for this record."}},"required":["undoToken"],"additionalProperties":false},"example":{"undoToken":"example"}}},"description":"Fields used to undo a task expansion. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/tasks/reparent":{"post":{"operationId":"postV1OrgsByOrgIdTasksReparent","summary":"Reparent tasks atomically","tags":["Tasks"],"description":"## Purpose\n\nReparent tasks atomically.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAssign one or more active tasks to new hierarchy parents as one atomic operation. Every subject and non-null parent must be an active task in the caller's organization; missing, archived, and cross-organization ids all return 404 without committing any assignment. The complete proposed hierarchy must remain acyclic or the whole request returns 409.\n\nWhen `preserveSelectedSubtrees` is true, a selected task whose ancestor is also selected remains attached to that ancestor, so dragging a selected hierarchy moves the selected roots without flattening it. The response contains only committed roots and includes each previous parent assignment; clients can submit those values back with preservation disabled to implement an exact Undo. Requires `contribute`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"moves":{"type":"array","items":{"type":"object","properties":{"taskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Task whose parent assignment should change."},"parentTaskId":{"$ref":"#/components/schemas/Shared3b0fc2e3","description":"Identifies the referenced parent task."},"previousParentTaskId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"description":"Parent task before the atomic change, or null when previously top-level."}},"required":["taskId","parentTaskId","previousParentTaskId"]},"description":"Committed hierarchy roots and their previous parent assignments."}},"required":["moves"],"description":"Committed task hierarchy assignments with undo information."},"example":{"moves":[{"taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentTaskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","previousParentTaskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"moves":{"minItems":1,"type":"array","items":{"type":"object","properties":{"taskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Task whose parent assignment should change."},"parentTaskId":{"$ref":"#/components/schemas/Shared3b0fc2e3","description":"Identifies the referenced parent task."}},"required":["taskId","parentTaskId"]},"description":"Non-empty set of parent assignments."},"preserveSelectedSubtrees":{"type":"boolean","description":"Whether selected descendants should remain attached to selected ancestors."}},"required":["moves","preserveSelectedSubtrees"],"description":"Atomically assign one or more tasks to new hierarchy parents."},"example":{"moves":[{"taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentTaskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"preserveSelectedSubtrees":false}}},"description":"Fields used to reparent tasks atomically. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/tasks/{id}/aggregate-detail":{"get":{"operationId":"getV1OrgsByOrgIdTasksByIdAggregateDetail","summary":"Get the bounded Task detail aggregate","tags":["Tasks"],"description":"## Purpose\n\nGet the bounded Task detail aggregate.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn the task snapshot, the caller’s available controls, team workflow states, and initial document content in one request. Organization-wide picker rosters and optional sections are not included.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"snapshot":{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"title":{"type":"string","description":"Human-readable title."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"priority":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["target","organizationId","id","title","status","priority","updatedAt"],"additionalProperties":false,"description":"Snapshot for this record."},"viewer":{"$ref":"#/components/schemas/DetailViewer","description":"Viewer for this record."},"capabilities":{"$ref":"#/components/schemas/DetailCapabilities","description":"Capabilities for this record."},"references":{"type":"object","properties":{"workflowStates":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowState"},"description":"Workflow states, in order."}},"required":["workflowStates"],"additionalProperties":false,"description":"References for this record."},"defaultView":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/TaskDetail","description":"Task for this record."}},"required":["task"],"additionalProperties":false,"description":"Default view for this record."}},"required":["target","snapshot","viewer","capabilities","references","defaultView"],"additionalProperties":false,"description":"Bounded initial Task detail response."},"example":{"target":"task","snapshot":{"target":"task","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","status":"example","priority":"none","updatedAt":"2026-09-19T12:00:00.000Z"},"viewer":{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"capabilities":{"comment":false,"contribute":false,"assign":false,"manage":false},"references":{"workflowStates":[{"key":"example","name":"example","type":"backlog","position":0}]},"defaultView":{"task":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","state":"example","priority":"none","autoCompletedBySubtasks":false,"provenance":{"source":"native"},"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","blocking":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}],"blockedBy":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}],"subtasks":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}],"relatedTasks":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}]}}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"required":true,"description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/tasks/{id}":{"get":{"operationId":"getV1OrgsByOrgIdTasksById","summary":"Get task detail","tags":["Tasks"],"description":"## Purpose\n\nGet task detail.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch one task with its full relational context: the flat task fields plus the planning ids omitted from `TaskOut` (`milestoneId`, `cycleId`, `parentTaskId`, `estimate`), the terminal timestamps (`completedAt`/`canceledAt`), and three resolved edge lists — `blocking` (tasks this one blocks), `blockedBy` (tasks blocking this one), and `subtasks` (active children). Each edge is a slim `TaskRef` carrying `projectId` so the UI can render cross-project links.\n\nA cross-org or unknown id 404s (existence-hiding: another tenant's task is indistinguishable from a non-existent one). Subtasks exclude archived children. Requires org membership (`view`). Returns `TaskDetail`. For just the edge lists without the parent task, see `GET /:id/dependencies`; for the canvas projection across many tasks, see the graph endpoint.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"sourcePeople":{"$ref":"#/components/schemas/Sharedf273c5a8","description":"Source people for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque task id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning org id (the tenant key)."},"title":{"type":"string","description":"Task title."},"description":{"description":"Long-form body (markdown); null when unset.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"$ref":"#/components/schemas/Shared06c8907b","description":"Short plain-language summary."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning team, whose `workflow_states` define this task's allowed states."},"state":{"type":"string","description":"Current workflow-state key, one of the owning team's `workflow_states` keys (e.g. `backlog`, `in_progress`, `done`)."},"priority":{"type":"string","enum":["none","urgent","high","medium","low"],"description":"Task priority: 'none' | 'low' | 'medium' | 'high' | 'urgent'. Drives sorting and badges."},"assigneeId":{"$ref":"#/components/schemas/Shared47934cc3","description":"Identifies the referenced assignee."},"delegateId":{"$ref":"#/components/schemas/Sharedb4e8f07e","description":"Identifies the referenced delegate."},"projectId":{"$ref":"#/components/schemas/Sharede940eb5b","description":"Identifies the referenced project."},"programId":{"$ref":"#/components/schemas/Shared5804df99","description":"Identifies the referenced program."},"parentTaskId":{"$ref":"#/components/schemas/Shared2a1294fa","description":"Identifies the referenced parent task."},"templateId":{"$ref":"#/components/schemas/Shared4584bd07","description":"Identifies the referenced template."},"autoCompletedBySubtasks":{"type":"boolean","description":"Whether the system completed this task after every direct child ended."},"estimateMinutes":{"description":"Time estimate in minutes; null when unestimated.","anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"startDate":{"$ref":"#/components/schemas/Shared9ff11aa3","description":"Start date in YYYY-MM-DD format."},"dueDate":{"description":"Target due date (ISO date string); null when unset.","anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"$ref":"#/components/schemas/TaskProvenance","description":"Provenance for this record."},"labels":{"$ref":"#/components/schemas/Shared163ef838","description":"Labels for this record."},"createdAt":{"type":"string","description":"Creation timestamp (ISO 8601)."},"updatedAt":{"type":"string","description":"Most-recent task update timestamp (ISO 8601)."},"milestoneId":{"$ref":"#/components/schemas/Sharedae01e774","description":"Identifies the referenced milestone."},"cycleId":{"$ref":"#/components/schemas/Shared32e28b84","description":"Identifies the referenced cycle."},"estimate":{"description":"Point estimate (integer); null when unestimated.","anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"completedAt":{"description":"When the task entered a completed state (ISO 8601, server-derived); null unless completed.","anyOf":[{"type":"string"},{"type":"null"}]},"canceledAt":{"description":"When the task entered a canceled state (ISO 8601, server-derived); null unless canceled.","anyOf":[{"type":"string"},{"type":"null"}]},"blocking":{"type":"array","items":{"$ref":"#/components/schemas/TaskRef"},"description":"Tasks THIS task blocks (this task is the blocking side of each edge)."},"blockedBy":{"type":"array","items":{"$ref":"#/components/schemas/TaskRef"},"description":"Tasks that block THIS task (this task is the blocked side of each edge)."},"subtasks":{"type":"array","items":{"$ref":"#/components/schemas/TaskRef"},"description":"Active direct children of this task."},"relatedTasks":{"type":"array","items":{"$ref":"#/components/schemas/TaskRef"},"description":"Tasks linked to this task without dependency direction."}},"required":["id","organizationId","title","teamId","state","priority","autoCompletedBySubtasks","provenance","labels","createdAt","updatedAt","blocking","blockedBy","subtasks","relatedTasks"],"description":"A task with its dependencies and subtasks."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","state":"example","priority":"none","autoCompletedBySubtasks":false,"provenance":{"source":"native"},"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","blocking":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}],"blockedBy":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}],"subtasks":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}],"relatedTasks":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdTasksById","summary":"Update a task","tags":["Tasks"],"description":"## Purpose\n\nUpdate a task.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate selected task fields. Omitted fields remain unchanged, and an empty body returns the task unchanged. Every referenced resource must be visible to the caller and belong to the same organization. A selected cycle must also belong to the task's team. A `milestoneId` must belong to the task's project; changing `projectId` without sending `milestoneId` clears a milestone that belongs to another project.\n\nChanging `assigneeId` or `delegateId` requires `assign`; other changes require `contribute`. Set `parentTaskId` to make the task a subtask, or set it to null to move the task to the top level. A task cannot become its own parent or a child of one of its descendants. Docket checks the hierarchy while applying the change, so concurrent updates cannot create a cycle. When `cycleCadenceRevision` is present, a stale value returns 409 `cadence_changed` before Docket moves the task.\n\n`state` must match a key in the team's `workflowStates`. Docket manages `completedAt` and `canceledAt` from that state. State and assignment changes add matching activity events. Use `POST /:id/state` when changing only the state.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"description":"New title (non-empty). Omit to leave unchanged.","type":"string","minLength":1},"description":{"description":"New long-form body (markdown). Omit to leave unchanged.","type":"string"},"summary":{"description":"New one-line summary for list surfaces, or null to clear it and fall back to a lead-sentence extract of `description`. Omit to leave unchanged.","anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"state":{"description":"New workflow-state key; must exist in the team's `workflow_states`. Triggers the transition and derives/clears `completedAt`/`canceledAt`. Omit to leave unchanged.","type":"string"},"priority":{"description":"New priority: 'none' | 'low' | 'medium' | 'high' | 'urgent'. Omit to leave unchanged.","type":"string","enum":["none","urgent","high","medium","low"]},"assigneeId":{"description":"Reassign to this Actor, or set null to unassign. Changing this field requires the `assign` capability. The Actor must belong to the caller’s organization. A new assignment adds an `assignment` event.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}]},"delegateId":{"description":"Delegate the work to this actor, or null to clear. Requires the `assign` capability. Must be an actor in the caller’s org.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}]},"projectId":{"description":"Re-point to this project, or null to detach. Must be a project in the caller’s org.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}]},"programId":{"description":"Re-point to this program, or null to detach. Must be a program in the caller’s org.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}]},"parentTaskId":{"description":"Reparent under this task (its subtask), or null to detach to top-level. Must be a task in the caller’s org; a task cannot become its own descendant (409 on a cycle) or its own parent (422). Omit to leave unchanged.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}]},"templateId":{"description":"Task template that originated this task, or null to clear. Must be a caller-visible task template in the caller’s org.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},{"type":"null"}]},"relatedTaskIds":{"description":"Replacement set of related tasks. Use an empty array to remove every link.","type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."}},"milestoneId":{"description":"Re-target this milestone, or null to clear. Must belong to the caller’s org.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Milestone — a dated checkpoint within a Project."},{"type":"null"}]},"cycleId":{"description":"Cycle for the task’s team, or null to remove its cycle assignment.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Cycle — a time-boxed iteration (sprint) Tasks can be scheduled into."},{"type":"null"}]},"cycleCadenceRevision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Cycle cadence revision for this record."},"estimate":{"description":"New point estimate (integer), or null to clear. Omit to leave unchanged.","anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"estimateMinutes":{"description":"New time estimate in minutes, or null to clear. Omit to leave unchanged.","anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"startDate":{"description":"New anticipated start date — the day work is expected to begin (ISO `YYYY-MM-DD`), or null to clear. Omit to leave unchanged. Must not fall after `dueDate`.","anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}]},"dueDate":{"description":"New due date (ISO `YYYY-MM-DD`), or null to clear. Omit to leave unchanged. Must not fall before the anticipated start date.","anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}]},"labels":{"description":"Replacement set of label ids. Omit to leave the task’s labels unchanged.","type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."}}},"description":"Update a task."},"example":{}}},"description":"Fields used to update a task. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdTasksById","summary":"Archive a task","tags":["Tasks"],"description":"## Purpose\n\nArchive a task.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nArchive a task without deleting its history. Archived tasks no longer appear in active task lists, subtask lists, or the task graph. Requires `contribute`.\n\nArchiving an already archived, inaccessible, or unknown task returns 404, so a repeated request does not return the first result. Child tasks and dependencies remain intact. Returns a `TaskArchived` acknowledgement with the task ID and archive time.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Id of the archived task."},"archivedAt":{"type":"string","description":"When the task was archived/soft-deleted (ISO 8601). The row is retained, just hidden from active reads."}},"required":["id","archivedAt"],"description":"An archived task acknowledgement."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","archivedAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/tasks/{id}/state":{"post":{"operationId":"postV1OrgsByOrgIdTasksByIdState","summary":"Change task state","tags":["Tasks"],"description":"## Purpose\n\nChange task state.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nMove a task to a new workflow state — the focused alternative to a full PATCH when only the state changes (e.g. a board drag-and-drop). Requires `contribute`. The `state` key must exist in the owning team's `workflow_states`; an unknown key is rejected.\n\nThe transition is resolved server-side: entering a terminal state derives `completedAt` (for the completed category) or `canceledAt` (for canceled), and leaving a terminal state clears them — these timestamps are authoritative and never client-set, so progress rollups stay correct. Side effect: emits a `completed` observation when the task lands in a completed state, otherwise a `status_change` observation carrying the new `state` in its payload. A missing/archived task 404s. Returns the updated `TaskOut`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse74918695"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"state":{"type":"string","minLength":1,"description":"Target workflow-state key. Must be a non-empty key present in the owning team's `workflow_states`. Entering a terminal state derives `completedAt`/`canceledAt`; leaving one clears them."}},"required":["state"],"description":"Set a task's workflow state."},"example":{"state":"example"}}},"description":"Fields used to change task state. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/tasks/{id}/subtasks":{"get":{"operationId":"getV1OrgsByOrgIdTasksByIdSubtasks","summary":"List subtasks","tags":["Tasks"],"description":"## Purpose\n\nList subtasks.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nList visible active direct children of a task in stable task-id order. Pages default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Visibility is applied before pagination, so hidden children cannot truncate the visible page. Reuse a cursor only for the same parent task.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsed184e5d8"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdTasksByIdSubtasks","summary":"Create a subtask","tags":["Tasks"],"description":"## Purpose\n\nCreate a subtask.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a child task under the path task. The parent is loaded first (cross-org/unknown parent 404s), then the child is inserted with `parentTaskId` set to the parent and `teamId` inherited from the parent — a subtask always lives on the parent's team and cannot be re-teamed at creation. Requires `contribute`.\n\nThe child inherits sensible defaults but can override them: `state` defaults to the team's first workflow state (typically `backlog`), `projectId` defaults to the parent's project when omitted, and `priority` defaults to `none`. Body-provided references (`assigneeId`, `projectId`, `cycleId`, `milestoneId`) must belong to the same organization or the request returns 404. This operation does not add a task-created or assignment event to the activity feed. Returns the new child `TaskOut`.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"$ref":"#/components/responses/SharedResponse94db3ddd"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"description":"Subtask title. Required, non-empty."},"description":{"description":"Optional long-form body (markdown).","type":"string"},"state":{"description":"Initial workflow-state key (validated against the inherited team's `workflow_states`). Omitted → inherits the parent task's current state (not the team's first state).","type":"string"},"priority":{"description":"Priority: 'none' | 'low' | 'medium' | 'high' | 'urgent'. Defaults to 'none'.","type":"string","enum":["none","urgent","high","medium","low"]},"assigneeId":{"description":"Actor to assign the subtask to. Must be an actor in the caller's org.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"projectId":{"description":"Project for the subtask. Must be a project in the caller's org. Omitted → inherits the parent's project.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"milestoneId":{"description":"Milestone to target. Must belong to the caller's org.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"cycleId":{"description":"Cycle to commit to. Must be a cycle in the caller's org.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"estimate":{"description":"Point estimate (integer).","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"estimateMinutes":{"description":"Time estimate in minutes (integer), or null.","anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"startDate":{"description":"Anticipated start date — the day work is expected to begin (ISO `YYYY-MM-DD`).","type":"string","format":"date","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])))$"},"dueDate":{"description":"Target due date (ISO `YYYY-MM-DD`). Must not fall before `startDate`.","type":"string","format":"date","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])))$"},"labels":{"description":"Label ids to tag the subtask with.","type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."}}},"required":["title"],"description":"Create a subtask under a parent task."},"example":{"title":"example"}}},"description":"Fields used to create a subtask. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/tasks/{id}/dependencies":{"get":{"operationId":"getV1OrgsByOrgIdTasksByIdDependencies","summary":"List task dependencies","tags":["Tasks"],"description":"## Purpose\n\nList task dependencies.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn the path task's two directed dependency lists. `blocking` are the tasks THIS task blocks (this task is the blocking side of the edge); `blockedBy` are the tasks that block THIS task (this task is the blocked side). The dependency graph is directed `blocking → blocked`: a blocked task should not start until its blockers complete. Each entry is a slim `TaskRef` carrying `projectId` for cross-project rendering. The parent is loaded first (cross-org/unknown id 404s). Requires org membership (`view`). Returns `TaskDependencyOut`. These same lists are embedded in `GET /:id` (task detail).\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"blocking":{"type":"array","items":{"$ref":"#/components/schemas/TaskRef"},"description":"Tasks the subject task blocks (subject is the blocking side of each edge)."},"blockedBy":{"type":"array","items":{"$ref":"#/components/schemas/TaskRef"},"description":"Tasks that block the subject task (subject is the blocked side of each edge)."}},"required":["blocking","blockedBy"],"description":"A task's dependency edges."},"example":{"blocking":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}],"blockedBy":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdTasksByIdDependencies","summary":"Add a task dependency","tags":["Tasks"],"description":"## Purpose\n\nAdd a task dependency.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAdd a blocking relationship involving the task in the path. Supply exactly one of `blockingTaskId` or `blockedTaskId`. `blockingTaskId` makes that task block the path task. `blockedTaskId` makes the path task block that task. Both tasks must be active and belong to this organization; otherwise Docket returns 404.\n\nA task cannot block itself, and a new relationship cannot create a dependency cycle. A self-reference returns 422. A duplicate or cyclic relationship returns 409. Concurrent requests cannot create a cycle: Docket accepts the complete valid relationship or makes no change. The response contains the resolved blocking and blocked task IDs. Use `DELETE /:id/dependencies/:depId` to remove the relationship.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"type":"boolean","const":true,"description":"Always `true`; confirms the edge was created."},"blockingTaskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Resolved blocking-side task id of the created edge."},"blockedTaskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Resolved blocked-side task id of the created edge."}},"required":["created","blockingTaskId","blockedTaskId"],"description":"A created dependency edge."},"example":{"created":true,"blockingTaskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","blockedTaskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"blockingTaskId":{"description":"Set this to make the given task BLOCK the path task (the given task is the blocking side; the path task is blocked). Provide this OR `blockedTaskId`, never both.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"blockedTaskId":{"description":"Set this to make the path task BLOCK the given task (the path task is the blocking side; the given task is blocked). Provide this OR `blockingTaskId`, never both.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"}},"description":"Add a directed dependency edge."},"example":{}}},"description":"Fields used to add a task dependency. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/tasks/{id}/dependencies/{depId}":{"delete":{"operationId":"deleteV1OrgsByOrgIdTasksByIdDependenciesByDepId","summary":"Remove a task dependency","tags":["Tasks"],"description":"## Purpose\n\nRemove a task dependency.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove the dependency between two tasks without deleting either task. The caller does not need to know which task is the blocking side. The request returns 404 when either task or the dependency is not visible in the organization. Requires the `contribute` capability and returns a `TaskRemoved` acknowledgement.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"removed":{"type":"boolean","const":true,"description":"Always `true`; confirms the dependency edge was removed."}},"required":["removed"],"description":"A removed edge acknowledgement."},"example":{"removed":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameterea7cdc21"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/tasks/{id}/activity":{"get":{"operationId":"getV1OrgsByOrgIdTasksByIdActivity","summary":"Get a task's Activity","tags":["Tasks"],"description":"## Purpose\n\nGet a task's Activity.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nReturn one cursor-paginated chronological record for a task. It combines creation, task changes, comments, timer transitions, delegated execution updates, meaningful direct-child changes, and dependency changes that alter readiness. `category` narrows this one history; it never switches to a separate comments, history, or execution feed.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TaskActivityOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"example","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","actorName":"example","type":"created","category":"task","change":{"field":"example","label":"example","from":"example","to":"example"},"body":"example","subjectTaskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectTaskTitle":"example","createdAt":"2026-09-19T12:00:00.000Z","origin":{"channel":"app","surface":"home","performerKind":"person","performerName":"example","clientName":"example","provider":"example"}}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"in":"query","name":"cursor","schema":{"type":"string"},"description":"Opaque position from `nextCursor`; omit it for the first Activity page."},{"in":"query","name":"limit","schema":{"default":50,"type":"integer","minimum":1,"maximum":100},"description":"Maximum number of Activity entries to return, from 1 through 100."},{"in":"query","name":"category","schema":{"$ref":"#/components/schemas/TaskActivityCategory"},"description":"Category supplied in the query."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/tasks/{id}/attachments":{"get":{"operationId":"getV1OrgsByOrgIdTasksByIdAttachments","summary":"List task attachments","tags":["Tasks"],"description":"## Purpose\n\nList task attachments.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nList a task's attachments in `createdAt ASC, id ASC` order. Pages default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Reuse a cursor only for the same task. The host task is loaded first and archived attachments are excluded. Requires org membership (`view`).\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse43c9efd1"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdTasksByIdAttachments","summary":"Add a task attachment","tags":["Tasks"],"description":"## Purpose\n\nAdd a task attachment.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAttach a resource to a task. The subject (`task` + the `:id`) is taken from the route, never the body. Requires `contribute`. The host task is loaded first (cross-org/unknown 404s), so an attachment can only be added to a task the caller can address.\n\nThe `kind` determines the required fields, enforced at the schema edge: a `url` attachment requires `url`; an `email` attachment requires both `sourceIntegrationId` and `externalId` (the Gmail thread id) — a half-specified body 422s. `metadata` is an optional free-form JSON bag for kind-specific extras (e.g. fetched favicon, sender). Returns the created `AttachmentOut`.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"$ref":"#/components/responses/SharedResponse23868411"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","enum":["email","url","calendar_event"],"description":"Resource kind: 'url' (a dumb link pointer), 'email' (an integration-backed Gmail-thread pointer), or 'calendar_event' (a first-party Google Calendar event pointer). File uploads use the dedicated upload route, not this endpoint. Determines which other fields are required."},"title":{"type":"string","minLength":1,"description":"Human label for the attachment (e.g. the page title or email subject). Required, non-empty."},"url":{"description":"The link target. Required when `kind` is `url`; ignored for `email`. Must be a valid URL.","type":"string","format":"uri"},"sourceIntegrationId":{"description":"Id of the integration backing an `email` attachment. Required (with `externalId`) when `kind` is `email`.","type":"string","minLength":1},"externalId":{"description":"The external resource id — for `email`, the Gmail thread id; for `calendar_event`, the Google event id.","type":"string","minLength":1},"metadata":{"description":"Optional free-form JSON bag of kind-specific extras (e.g. fetched favicon, sender, snippet).","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["kind","title"],"description":"Attach a resource to a task."},"example":{"kind":"email","title":"example"}}},"description":"Fields used to add a task attachment. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/tasks/{id}/attachments/upload":{"post":{"operationId":"postV1OrgsByOrgIdTasksByIdAttachmentsUpload","summary":"Upload a file attachment","tags":["Tasks"],"description":"## Purpose\n\nUpload a file attachment.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `multipart/form-data`.\n\n## Result and side effects\n\nUpload a file and attach it to a task. Send `multipart/form-data` with a required, non-empty `file` part no larger than 4 MB. An optional `title` defaults to the filename. Requires the `contribute` capability. Download the file through `GET …/attachments/:attachmentId/download`. Returns the created `AttachmentOut`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"File bytes sent as a multipart form part."},"title":{"description":"Optional display label; defaults to the uploaded filename when omitted.","type":"string","minLength":1}},"required":["file"]},"example":{"file":"example.txt"}}},"description":"Fields used to upload a file attachment. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/tasks/{id}/attachments/{attachmentId}/download":{"get":{"operationId":"getV1OrgsByOrgIdTasksByIdAttachmentsByAttachmentIdDownload","summary":"Download a file attachment","tags":["Tasks"],"description":"## Purpose\n\nDownload a file attachment.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDownload a task attachment as raw bytes. The response uses the stored media type and `Content-Disposition: attachment`, so browsers download the file instead of rendering uploaded HTML or SVG. The request returns 404 when the task or attachment is not visible in the organization. Requires organization membership.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter911205e5"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/tasks/{id}/attachments/{attachmentId}":{"delete":{"operationId":"deleteV1OrgsByOrgIdTasksByIdAttachmentsByAttachmentId","summary":"Remove a task attachment","tags":["Tasks"],"description":"## Purpose\n\nRemove a task attachment.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nHard-delete an attachment from a task. Requires `contribute`. The host task is loaded first so a cross-org or unknown task id 404s before the attachment is addressable — the attachment id alone never leaks across tenants. The delete is additionally scoped to (`organizationId`, `subjectType = task`, `subjectId = :id`), so an attachment id that belongs to a different task or org 404s (`Attachment not found`). Returns an `AttachmentRemoved` acknowledgement.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse3b7860a7"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter911205e5"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/graph":{"get":{"operationId":"getV1OrgsByOrgIdGraph","summary":"Get the dependency graph","tags":["Tasks"],"description":"## Purpose\n\nGet the dependency graph.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nReturn visible tasks and the dependency and subtask edges between them. Set `rootTaskId` to read a neighborhood around one task and use `depth` from 1 through 5; the default depth is 2. Otherwise, set `projectId` to read one project. With neither parameter, Docket returns active tasks across the organization.\n\nArchived and inaccessible tasks are excluded. Docket also excludes any edge whose source or target is not in the returned node set. A `dependency` edge means `source` blocks `target`; a `subtask` edge points from parent to child. Each edge includes a stable ID.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"nodes":{"type":"array","items":{"$ref":"#/components/schemas/TaskGraphNode"},"description":"Every task in the scope the caller may view, already access-filtered."},"edges":{"type":"array","items":{"$ref":"#/components/schemas/TaskGraphEdge"},"description":"Dependency and subtask edges among `nodes`, pre-pruned so both endpoints are present."}},"required":["nodes","edges"],"description":"A scoped task dependency + subtask graph."},"example":{"nodes":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example","priority":"none","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","projectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","programId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","labelIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"assigneeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentTaskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","startDate":"2026-09-19","dueDate":"2026-09-19","estimate":0,"milestoneId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","cycleId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"edges":[{"id":"example","source":"01ARZ3NDEKTSV4RRFFQ69G5FAV","target":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"dependency"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"query","name":"projectId","schema":{"type":"string"},"description":"Narrow the graph to one project (active tasks with this `projectId`). Ignored when `rootTaskId` is set, which takes precedence. Omitting both scopes the graph to the whole org."},{"in":"query","name":"rootTaskId","schema":{"type":"string"},"description":"Center the graph on this task's neighborhood instead of a project/org scope. Takes precedence over `projectId`. The reachable radius is bounded by `depth`."},{"in":"query","name":"depth","schema":{"type":"integer","minimum":1,"maximum":5},"description":"Neighborhood radius (in edge hops) around `rootTaskId`. Integer 1–5; defaults to 2. Only meaningful together with `rootTaskId`."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives/overview":{"get":{"operationId":"getV1OrgsByOrgIdInitiativesOverview","summary":"Get the Initiative hierarchy and attention queue","tags":["Initiatives"],"description":"## Purpose\n\nGet the Initiative hierarchy and attention queue.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturns the viewer-visible Initiative hierarchy for this workspace context together with up to four deduplicated attention items ranked by health severity and update staleness.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/InitiativeOverviewItem"},"description":"Items, in order."},"attention":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"initiativeId":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"organizationName":{"type":"string","description":"Organization name for this record."},"parentInitiativeId":{"$ref":"#/components/schemas/Sharedc8d25964","description":"Identifies the referenced parent initiative."},"parentInitiativeName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Parent initiative name for this record."},"title":{"type":"string","description":"Human-readable title."},"excerpt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Excerpt for this record."},"severity":{"type":"string","enum":["off_track","at_risk","stale"],"description":"Allowed severity value."},"action":{"type":"string","enum":["open","update"],"description":"Allowed action value."},"lastUpdateAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Last update time as an ISO 8601 instant."}},"required":["initiativeId","organizationId","organizationName","parentInitiativeId","parentInitiativeName","title","excerpt","severity","action","lastUpdateAt"]},"description":"Attention, in order."}},"required":["items","attention"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","summary":"example","status":"example","priority":"none","updateCadence":"weekly","targetDateResolution":"month","targetDateFiscalYearStartMonth":0,"createdAt":"2026-09-19T12:00:00.000Z","display":{"subjectType":"initiative","subjectId":"example","glyph":{"kind":"symbol","name":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"},"iconKey":"target","colorKey":"neutral","customColor":"#336699","coverImage":"example","customized":false},"organizationName":"example","parentInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentLinkId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","depth":1,"childCount":0,"ownerName":"example","lastUpdateAt":"2026-09-19T12:00:00.000Z"}],"attention":[{"initiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationName":"example","parentInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentInitiativeName":"example","title":"example","excerpt":"example","severity":"off_track","action":"open","lastUpdateAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives/{id}/relationships":{"get":{"operationId":"getV1OrgsByOrgIdInitiativesByIdRelationships","summary":"Get deferred Initiative relationship sections","tags":["Initiatives"],"description":"## Purpose\n\nGet deferred Initiative relationship sections.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturns only the selected Initiative hierarchy context and connected work after a reader opens one of those tabs. It excludes labels, resources, updates, and organization rosters. Each ordered child, Program-association, and Project-association scan authorizes at most 512 raw candidates. The response sets `truncated` when a scan or the 100-item response cap stops the result.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"contextOrganizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"parentLinkId":{"$ref":"#/components/schemas/Shared5981f796","description":"Identifies the referenced parent link."},"parent":{"$ref":"#/components/schemas/Sharedb7e46edd","description":"Parent for this record."},"children":{"$ref":"#/components/schemas/Sharedd04957f2","description":"Children for this record."},"connectedWork":{"$ref":"#/components/schemas/Shared10048f0b","description":"Connected work for this record."},"truncated":{"type":"boolean","description":"Truncated for this record."}},"required":["contextOrganizationId","parentLinkId","parent","children","connectedWork","truncated"]},"example":{"contextOrganizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentLinkId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parent":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationName":"example","name":"example","status":"example","health":"on_track","crossWorkspace":false},"children":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationName":"example","name":"example","status":"example","health":"on_track","crossWorkspace":false,"parentInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentLinkId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"connectedWork":[{"kind":"program","id":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","health":"on_track","direct":false,"inheritedThroughInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"truncated":false}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter6bb49ee6"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives/{id}/aggregate-detail":{"get":{"operationId":"getV1OrgsByOrgIdInitiativesByIdAggregateDetail","summary":"Get the bounded Initiative detail aggregate","tags":["Initiatives"],"description":"## Purpose\n\nGet the bounded Initiative detail aggregate.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturns the Initiative snapshot, visible-control capabilities, its named owner, and direct rollup content in one request. Hierarchy, updates, resources, and pickers load only when opened.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"target":{"type":"string","const":"initiative","description":"Target for this record."},"snapshot":{"type":"object","properties":{"target":{"type":"string","const":"initiative","description":"Target for this record."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"id":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"name":{"type":"string","description":"Human-readable name."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"priority":{"type":"string","enum":["none","low","medium","high"],"description":"The Initiative priority; defaults to none."},"health":{"$ref":"#/components/schemas/Shared87b03b06","description":"Health for this record."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["target","organizationId","id","name","status","priority","health","updatedAt"],"additionalProperties":false,"description":"Snapshot for this record."},"viewer":{"$ref":"#/components/schemas/DetailViewer","description":"Viewer for this record."},"capabilities":{"$ref":"#/components/schemas/DetailCapabilities","description":"Capabilities for this record."},"references":{"type":"object","properties":{"owner":{"anyOf":[{"$ref":"#/components/schemas/DetailActorReference"},{"type":"null"}],"description":"Owner for this record."},"parent":{"anyOf":[{"$ref":"#/components/schemas/InitiativeDirectParentReference"},{"type":"null"}],"description":"Parent for this record."},"parentLinkId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced parent link."}},"required":["owner","parent","parentLinkId"],"additionalProperties":false,"description":"References for this record."},"defaultView":{"type":"object","properties":{"initiative":{"$ref":"#/components/schemas/InitiativeDetail","description":"Initiative for this record."}},"required":["initiative"],"additionalProperties":false,"description":"Default view for this record."}},"required":["target","snapshot","viewer","capabilities","references","defaultView"],"additionalProperties":false,"description":"Bounded initial Initiative detail response."},"example":{"target":"initiative","snapshot":{"target":"initiative","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","priority":"none","health":"on_track","updatedAt":"2026-09-19T12:00:00.000Z"},"viewer":{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"capabilities":{"comment":false,"contribute":false,"assign":false,"manage":false},"references":{"owner":{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","displayName":"example","avatar":"example"},"parent":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"},"parentLinkId":"example"},"defaultView":{"initiative":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","summary":"example","status":"example","priority":"none","updateCadence":"weekly","targetDateResolution":"month","targetDateFiscalYearStartMonth":0,"createdAt":"2026-09-19T12:00:00.000Z","childMix":{"programs":0,"projects":0},"distribution":{"onTrack":0,"atRisk":0,"offTrack":0,"unknown":0},"rolledUpHealth":"on_track"}}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter6bb49ee6"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives/{id}/aggregate":{"get":{"operationId":"getV1OrgsByOrgIdInitiativesByIdAggregate","summary":"Get the aggregate Initiative document detail","tags":["Initiatives"],"description":"## Purpose\n\nGet the aggregate Initiative document detail.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturns the Initiative document and properties plus its visible hierarchy context, connected work rollups, labels, resources, and latest narrative update for this viewer.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable unique identifier of the initiative."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning organization (tenant)."},"name":{"type":"string","description":"Human-readable initiative name."},"description":{"description":"Free-text description, or `null`/absent when none.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Plain-text summary, or `null` when none."},"ownerId":{"$ref":"#/components/schemas/Shared6fe9b234","description":"Identifies the referenced owner."},"leadTeamId":{"$ref":"#/components/schemas/Shared95b2fc3a","description":"Identifies the referenced lead team."},"status":{"type":"string","minLength":1,"description":"The manually owned lifecycle status."},"priority":{"type":"string","enum":["none","low","medium","high"],"description":"The Initiative priority."},"updateCadence":{"type":"string","enum":["weekly","biweekly","monthly","quarterly","none"],"description":"The expected narrative update interval."},"targetDate":{"description":"Planned completion date (ISO-8601 string), or `null` when undated.","anyOf":[{"type":"string"},{"type":"null"}]},"targetDateResolution":{"$ref":"#/components/schemas/Sharedf670bad8","description":"Target date resolution for this record."},"targetDateFiscalYearStartMonth":{"anyOf":[{"type":"integer","minimum":0,"maximum":11},{"type":"null"}],"description":"Read-only saved zero-based fiscal basis for a broad target value."},"health":{"$ref":"#/components/schemas/Shared46791df6","description":"Health for this record."},"createdAt":{"type":"string","description":"When the initiative was created (ISO-8601 timestamp)."},"childMix":{"$ref":"#/components/schemas/InitiativeChildMix","description":"Child mix for this record."},"distribution":{"$ref":"#/components/schemas/InitiativeHealthDistribution","description":"Distribution for this record."},"rolledUpHealth":{"$ref":"#/components/schemas/Sharedd614fa55","description":"Rolled up health for this record."},"contextOrganizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"parentLinkId":{"$ref":"#/components/schemas/Shared5981f796","description":"Identifies the referenced parent link."},"parent":{"$ref":"#/components/schemas/Sharedb7e46edd","description":"Parent for this record."},"children":{"$ref":"#/components/schemas/Sharedd04957f2","description":"Children for this record."},"connectedWork":{"$ref":"#/components/schemas/Shared10048f0b","description":"Connected work for this record."},"truncated":{"type":"boolean","description":"Truncated for this record."},"labels":{"type":"array","items":{"$ref":"#/components/schemas/LabelOut"},"description":"Labels, in order."},"resources":{"type":"array","items":{"$ref":"#/components/schemas/AttachmentOut"},"description":"Resources, in order."},"latestUpdate":{"anyOf":[{"$ref":"#/components/schemas/UpdateOut"},{"type":"null"}],"description":"Latest update for this record."},"updateCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Update count."}},"required":["id","organizationId","name","summary","status","priority","updateCadence","targetDateResolution","targetDateFiscalYearStartMonth","createdAt","childMix","distribution","rolledUpHealth","contextOrganizationId","parentLinkId","parent","children","connectedWork","truncated","labels","resources","latestUpdate","updateCount"],"description":"Aggregate Initiative document detail."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","summary":"example","status":"example","priority":"none","updateCadence":"weekly","targetDateResolution":"month","targetDateFiscalYearStartMonth":0,"createdAt":"2026-09-19T12:00:00.000Z","childMix":{"programs":0,"projects":0},"distribution":{"onTrack":0,"atRisk":0,"offTrack":0,"unknown":0},"rolledUpHealth":"on_track","contextOrganizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentLinkId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parent":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationName":"example","name":"example","status":"example","health":"on_track","crossWorkspace":false},"children":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationName":"example","name":"example","status":"example","health":"on_track","crossWorkspace":false,"parentInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentLinkId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"connectedWork":[{"kind":"program","id":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","health":"on_track","direct":false,"inheritedThroughInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"truncated":false,"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example","createdAt":"2026-09-19T12:00:00.000Z"}],"resources":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectType":"task","subjectId":"example","kind":"email","title":"example","url":"example","sourceIntegrationId":"example","externalId":"example","metadata":{},"fileName":"example","mimeType":"example","byteSize":0,"createdAt":"2026-09-19T12:00:00.000Z"}],"latestUpdate":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectType":"project","subjectId":"example","body":"example","createdAt":"2026-09-19T12:00:00.000Z"},"updateCount":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives/hierarchy-candidates":{"get":{"operationId":"getV1OrgsByOrgIdInitiativesHierarchyCandidates","summary":"Search Initiative hierarchy candidates","tags":["Initiatives"],"description":"## Purpose\n\nSearch Initiative hierarchy candidates.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nReturns Initiatives in every workspace the viewer can access, projected through the requested route workspace hierarchy. Parent mode excludes foreign roots that the hierarchy validator would reject.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/InitiativeHierarchyCandidate"},"description":"Items, in order."}},"required":["items"],"description":"Accessible Initiative hierarchy candidates in display order."},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationName":"example","name":"example","summary":"example","status":"example","health":"on_track","crossWorkspace":false,"appearsInContext":false,"parentInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentLinkId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"query","name":"mode","schema":{"type":"string","enum":["parent","child"]},"required":true,"description":"Mode supplied in the query."},{"in":"query","name":"query","schema":{"type":"string","maxLength":200},"description":"Text used to search or filter the result."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives/hierarchy-links":{"post":{"operationId":"postV1OrgsByOrgIdInitiativesHierarchyLinks","summary":"Create an Initiative hierarchy link","tags":["Initiatives"],"description":"## Purpose\n\nCreate an Initiative hierarchy link.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPlaces an Initiative beneath another Initiative in this workspace context after validating access, configured depth, unique parentage, and cycle safety.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdInitiativesHierarchyLinksResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"parentInitiativeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Parent Initiative in the workspace hierarchy."},"childInitiativeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Child Initiative in the workspace hierarchy."}},"required":["parentInitiativeId","childInitiativeId"],"description":"Create a context-owned Initiative hierarchy link."},"example":{"parentInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","childInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to create an Initiative hierarchy link. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives/hierarchy-links/{linkId}":{"patch":{"operationId":"patchV1OrgsByOrgIdInitiativesHierarchyLinksByLinkId","summary":"Move an Initiative hierarchy link","tags":["Initiatives"],"description":"## Purpose\n\nMove an Initiative hierarchy link.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nMoves an existing child Initiative beneath a different parent in this workspace context while preserving access, depth, unique-parent, and cycle invariants.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdInitiativesHierarchyLinksResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"parentInitiativeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"New parent Initiative in the same context."}},"required":["parentInitiativeId"],"description":"Move a context-owned Initiative hierarchy link."},"example":{"parentInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to move an Initiative hierarchy link. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdInitiativesHierarchyLinksByLinkId","summary":"Remove an Initiative hierarchy link","tags":["Initiatives"],"description":"## Purpose\n\nRemove an Initiative hierarchy link.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemoves a workspace-context hierarchy link without deleting either Initiative or changing the hierarchies that may reference them in other workspaces.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse2637dc40"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameterf3123f53"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/initiatives/{id}/labels":{"get":{"operationId":"getV1OrgsByOrgIdInitiativesByIdLabels","summary":"List labels attached to an Initiative","tags":["Initiatives"],"description":"## Purpose\n\nList labels attached to an Initiative.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nLists labels attached to this Initiative in label-id order. Pages default to 50 items, accept at most 100, and omit nextCursor at exhaustion.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse6f5e8c7a"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdInitiativesByIdLabels","summary":"Add a label to an initiative","tags":["Initiatives"],"description":"## Purpose\n\nAdd a label to an initiative.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAdd one workspace-wide Label to an Initiative without replacing existing Labels. Repeating an existing link succeeds without another write.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"initiativeId":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"labelId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"linked":{"type":"boolean","const":true,"description":"Linked for this record."}},"required":["initiativeId","labelId","linked"],"description":"An Initiative Label association."},"example":{"initiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","labelId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","linked":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"labelId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."}},"required":["labelId"],"description":"Add one Label to an Initiative."},"example":{"labelId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to add a label to an initiative. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/initiatives/{id}/resources":{"get":{"operationId":"getV1OrgsByOrgIdInitiativesByIdResources","summary":"List Initiative URL resources","tags":["Initiatives"],"description":"## Purpose\n\nList Initiative URL resources.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nLists URL resources attached directly to the selected Initiative in createdAt ASC, id ASC order. Pages default to 50 items, accept at most 100, and omit nextCursor at exhaustion. File attachments are not supported on this surface.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse43c9efd1"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdInitiativesByIdResources","summary":"Attach an Initiative URL resource","tags":["Initiatives"],"description":"## Purpose\n\nAttach an Initiative URL resource.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAttaches a titled URL resource to the selected Initiative so supporting plans, research, and external references remain available beside the strategic document.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"$ref":"#/components/responses/SharedResponse23868411"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"description":"Human-readable resource title."},"url":{"type":"string","format":"uri","description":"External URL referenced by the Initiative."}},"required":["title","url"],"description":"Attach a URL to an Initiative."},"example":{"title":"example","url":"https://api.clearthedocket.com/v1/example"}}},"description":"Fields used to attach an Initiative URL resource. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/initiatives/{id}/resources/{resourceId}":{"delete":{"operationId":"deleteV1OrgsByOrgIdInitiativesByIdResourcesByResourceId","summary":"Remove an Initiative URL resource","tags":["Initiatives"],"description":"## Purpose\n\nRemove an Initiative URL resource.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemoves one URL resource from the selected Initiative after verifying that the resource belongs to that Initiative and its owning workspace.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse3b7860a7"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter8579cacb"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives/{id}/template/preview":{"post":{"operationId":"postV1OrgsByOrgIdInitiativesByIdTemplatePreview","summary":"Preview optional starting changes from a published template","tags":["Templates"],"x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse6e44c9d1"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplatePreviewRequest"}}},"description":"Fields used to preview optional starting changes from a published template. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nPreview optional starting changes from a published template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/initiatives/{id}/template/update":{"post":{"operationId":"postV1OrgsByOrgIdInitiativesByIdTemplateUpdate","summary":"Apply reviewed changes from the current template","tags":["Templates"],"x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse5dfa1f1c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplateUpdateRequest"}}},"description":"Fields used to apply reviewed changes from the current template. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nApply reviewed changes from the current template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/initiatives/{id}/template":{"post":{"operationId":"postV1OrgsByOrgIdInitiativesByIdTemplate","summary":"Change a work item’s template identity","tags":["Templates"],"description":"## Purpose\n\nChange a work item’s template identity.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPin a published template of the same workspace and kind. Starting values change only when explicitly selected from a current preview. Existing dates and child work change only through individually accepted child choices from the same preview. Live resource access is checked before template selection; unavailable work returns 404.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse5dfa1f1c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplateUpdateRequest"}}},"description":"Fields used to change a work item’s template identity. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives/{id}/template/save-as/preview":{"post":{"operationId":"postV1OrgsByOrgIdInitiativesByIdTemplateSaveAsPreview","summary":"Review an independent reusable outline from current work","tags":["Templates"],"description":"## Purpose\n\nReview an independent reusable outline from current work.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRequires live source view rights and the workspace template authoring policy. Returns the complete authorized outline and review warnings. Hidden descendants or inaccessible images refuse the capture without exposing their content.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse87d660ac"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives/{id}/template/save-as":{"post":{"operationId":"postV1OrgsByOrgIdInitiativesByIdTemplateSaveAs","summary":"Save a reviewed outline as a personal unpublished template","tags":["Templates"],"description":"## Purpose\n\nSave a reviewed outline as a personal unpublished template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreates an independent author-only draft from the exact reviewed source snapshot and warnings. A changed source returns409. Source work remains unchanged and publication requires a separate explicit action.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"$ref":"#/components/responses/SharedResponsec7efdcaf"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplateSaveAsRequest"}}},"description":"Fields used to save a reviewed outline as a personal unpublished template. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives":{"get":{"operationId":"getV1OrgsByOrgIdInitiatives","summary":"List initiatives","tags":["Initiatives"],"description":"## Purpose\n\nList initiatives.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList the organization's initiatives, newest first. An initiative is a theme that groups programs and projects; it does not contain tasks directly. Pages default to 50 items and accept at most 100. Copy `nextCursor` unchanged into `cursor`, and omit the cursor after the final page. Each item contains the initiative itself. Use `GET /:id` for its project and program roll-up. Organization membership is required.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/InitiativeOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","summary":"example","status":"example","priority":"none","updateCadence":"weekly","targetDateResolution":"month","targetDateFiscalYearStartMonth":0,"createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdInitiatives","summary":"Create an initiative","tags":["Initiatives"],"description":"## Purpose\n\nCreate an initiative.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate an initiative in the organization. `status` defaults to `active`. `targetDate` uses an ISO date, and `ownerId` must identify an organization member. Docket records the creation in activity and includes it in relevant digests. Requires the `contribute` capability and returns the created `InitiativeOut`. Use the initiative project and program endpoints to associate work afterward.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiativeOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"blueprint":{"$ref":"#/components/schemas/Shareda0719e23","description":"Blueprint for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"name":{"type":"string","minLength":1,"description":"Human-readable initiative (theme) name. Required, non-empty."},"description":{"description":"Optional free-text description of the theme.","type":"string"},"summary":{"description":"Optional plain-text summary, limited to 280 characters.","type":"string","maxLength":280},"ownerId":{"$ref":"#/components/schemas/Shared49fb329e","description":"Identifies the referenced owner."},"status":{"description":"Initial status. Defaults to `active` when omitted.","type":"string","minLength":1},"priority":{"description":"Initial priority. Defaults to `none` when omitted.","type":"string","enum":["none","low","medium","high"]},"updateCadence":{"description":"Expected update interval. Defaults to `monthly` when omitted.","type":"string","enum":["weekly","biweekly","monthly","quarterly","none"]},"targetDate":{"$ref":"#/components/schemas/Shared523ce5a8","description":"Target date in YYYY-MM-DD format."},"targetDateResolution":{"$ref":"#/components/schemas/Shared4b81d561","description":"Target date resolution for this record."},"health":{"$ref":"#/components/schemas/Shared82c40679","description":"Health for this record."},"labelIds":{"$ref":"#/components/schemas/Shared54fa266a","description":"Label ids for this record."}},"required":["name"],"description":"Create an initiative within an organization."},"example":{"name":"example"}}},"description":"Fields used to create an initiative. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/initiatives/{id}":{"get":{"operationId":"getV1OrgsByOrgIdInitiativesById","summary":"Get initiative detail","tags":["Initiatives"],"description":"## Purpose\n\nGet initiative detail.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch a single initiative enriched with the roll-up derived from its directly connected work. The response includes the canonical Initiative status, child mix, health distribution, and connected-work health without overwriting the independently writable Initiative health.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable unique identifier of the initiative."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning organization (tenant)."},"name":{"type":"string","description":"Human-readable initiative name."},"description":{"description":"Free-text description, or `null`/absent when none.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Plain-text summary, or `null` when none."},"ownerId":{"$ref":"#/components/schemas/Shared6fe9b234","description":"Identifies the referenced owner."},"leadTeamId":{"$ref":"#/components/schemas/Shared95b2fc3a","description":"Identifies the referenced lead team."},"status":{"type":"string","minLength":1,"description":"The manually owned lifecycle status."},"priority":{"type":"string","enum":["none","low","medium","high"],"description":"The Initiative priority."},"updateCadence":{"type":"string","enum":["weekly","biweekly","monthly","quarterly","none"],"description":"The expected narrative update interval."},"targetDate":{"description":"Planned completion date (ISO-8601 string), or `null` when undated.","anyOf":[{"type":"string"},{"type":"null"}]},"targetDateResolution":{"$ref":"#/components/schemas/Sharedf670bad8","description":"Target date resolution for this record."},"targetDateFiscalYearStartMonth":{"anyOf":[{"type":"integer","minimum":0,"maximum":11},{"type":"null"}],"description":"Read-only saved zero-based fiscal basis for a broad target value."},"health":{"$ref":"#/components/schemas/Shared46791df6","description":"Health for this record."},"createdAt":{"type":"string","description":"When the initiative was created (ISO-8601 timestamp)."},"childMix":{"$ref":"#/components/schemas/InitiativeChildMix","description":"Child mix for this record."},"distribution":{"$ref":"#/components/schemas/InitiativeHealthDistribution","description":"Distribution for this record."},"rolledUpHealth":{"$ref":"#/components/schemas/Sharedd614fa55","description":"Rolled up health for this record."}},"required":["id","organizationId","name","summary","status","priority","updateCadence","targetDateResolution","targetDateFiscalYearStartMonth","createdAt","childMix","distribution","rolledUpHealth"],"description":"An initiative with its child roll-up."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","summary":"example","status":"example","priority":"none","updateCadence":"weekly","targetDateResolution":"month","targetDateFiscalYearStartMonth":0,"createdAt":"2026-09-19T12:00:00.000Z","childMix":{"programs":0,"projects":0},"distribution":{"onTrack":0,"atRisk":0,"offTrack":0,"unknown":0},"rolledUpHealth":"on_track"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdInitiativesById","summary":"Update an initiative","tags":["Initiatives"],"description":"## Purpose\n\nUpdate an initiative.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPartially update an Initiative's stored properties. Health and status writes emit the corresponding audit observations; connected-work health remains a separate live roll-up.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiativeOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"description":"New name. Omit to leave unchanged; non-empty when set.","type":"string","minLength":1},"description":{"description":"New description. Omit to leave unchanged; send an empty string to clear.","type":"string"},"summary":{"description":"New plain-text summary. Omit to leave unchanged; send an empty string to clear.","type":"string","maxLength":280},"ownerId":{"description":"Re-point the owner (must be an Actor in the caller’s org). Omit to leave unchanged; `null` clears it.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}]},"leadTeamId":{"description":"Re-point the lead Team, or null to clear it. Omit to leave unchanged.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}]},"status":{"description":"New lifecycle status. Including this emits a status-change observation.","type":"string","minLength":1},"priority":{"description":"New priority. Omit to leave unchanged.","type":"string","enum":["none","low","medium","high"]},"updateCadence":{"description":"New expected update interval. Omit to leave unchanged.","type":"string","enum":["weekly","biweekly","monthly","quarterly","none"]},"targetDate":{"description":"New planned completion date (ISO-8601). Omit to leave unchanged; `null` clears it.","anyOf":[{"$ref":"#/components/schemas/Shared824061ac"},{"type":"null"}]},"targetDateResolution":{"$ref":"#/components/schemas/Sharede2450f3d","description":"Target date resolution for this record."},"health":{"description":"New health verdict. Omit to leave unchanged; `null` clears it.","anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda","description":"Health for this record."},{"type":"null"}]},"labelIds":{"description":"Complete replacement set of organization-global Labels.","type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."}}},"description":"Update an initiative."},"example":{}}},"description":"Fields used to update an initiative. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdInitiativesById","summary":"Delete an initiative","tags":["Initiatives"],"description":"## Purpose\n\nDelete an initiative.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nPermanently delete an initiative. Docket also removes the initiative's links to programs and projects, but it does not delete those programs or projects. The request returns 404 when the initiative does not exist or belongs to another organization. This operation requires the `manage` capability because deletion cannot be undone. The response contains the deleted `InitiativeOut`. To retain the initiative for historical reporting, PATCH its `status` to `completed` instead.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiativeOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/initiatives/{id}/projects":{"post":{"operationId":"postV1OrgsByOrgIdInitiativesByIdProjects","summary":"Link a project to an initiative","tags":["Initiatives"],"description":"## Purpose\n\nLink a project to an initiative.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAssociate a Project with this Initiative. The Project contributes to connected-work roll-ups and the Initiative timeline while the Initiative's own status and health remain independent.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"type":"object","properties":{"initiativeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The initiative that was linked."},"projectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The project that was linked."},"linked":{"type":"boolean","const":true,"description":"Always `true`; the `initiative_project` edge now exists."}},"required":["initiativeId","projectId","linked"],"description":"An initiative↔project link result."},"example":{"initiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","projectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","linked":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"projectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The Project to associate with the Initiative. Must live in the caller’s org (404 otherwise); a duplicate link is rejected with 409."}},"required":["projectId"],"description":"Associate a project with an initiative."},"example":{"projectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to link a project to an initiative. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives/{id}/projects/{projectId}":{"delete":{"operationId":"deleteV1OrgsByOrgIdInitiativesByIdProjectsByProjectId","summary":"Unlink a project from an initiative","tags":["Initiatives"],"description":"## Purpose\n\nUnlink a project from an initiative.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove a project from an initiative without deleting the project. The project stops contributing to the initiative's roll-up and timeline. The request returns 404 when the initiative or link is not visible in the organization. Requires the `contribute` capability and returns `InitiativeUnlinked`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse2637dc40"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter33e18719"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives/{id}/programs":{"post":{"operationId":"postV1OrgsByOrgIdInitiativesByIdPrograms","summary":"Link a program to an initiative","tags":["Initiatives"],"description":"## Purpose\n\nLink a program to an initiative.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAssociate a Program with this Initiative. The Program contributes to connected-work roll-ups and the Initiative timeline while the Initiative's own status and health remain independent.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"type":"object","properties":{"initiativeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The initiative that was linked."},"programId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The program that was linked."},"linked":{"type":"boolean","const":true,"description":"Always `true`; the `initiative_program` edge now exists."}},"required":["initiativeId","programId","linked"],"description":"An initiative↔program link result."},"example":{"initiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","programId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","linked":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"programId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The Program to associate with the Initiative. Must live in the caller’s org (404 otherwise); a duplicate link is rejected with 409."}},"required":["programId"],"description":"Associate a program with an initiative."},"example":{"programId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to link a program to an initiative. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives/{id}/programs/{programId}":{"delete":{"operationId":"deleteV1OrgsByOrgIdInitiativesByIdProgramsByProgramId","summary":"Unlink a program from an initiative","tags":["Initiatives"],"description":"## Purpose\n\nUnlink a program from an initiative.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove a program from an initiative without deleting the program. The program disappears from the initiative's timeline and no longer contributes to its health roll-up. The request returns 404 when the initiative or link is not visible in the organization. Requires the `contribute` capability and returns `InitiativeUnlinked`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse2637dc40"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"in":"path","name":"programId","schema":{"type":"string"},"required":true,"description":"Identifier of the program selected by this path parameter."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives/{id}/timeline":{"get":{"operationId":"getV1OrgsByOrgIdInitiativesByIdTimeline","summary":"Get initiative timeline","tags":["Initiatives"],"description":"## Purpose\n\nGet initiative timeline.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nReturn an initiative timeline with associated programs as undated lanes and associated projects as dated bars. Each project includes current `status`, `health`, `startDate`, `targetDate`, and the saved date resolution and fiscal basis. Either date may be null. Optional `from` and `to` ISO dates filter projects to those that overlap the window. Unscheduled projects remain visible, and program lanes are never filtered because they have no end date. An unavailable initiative returns 404. Use `GET /:id` for the numeric health and status roll-up over the same children.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"programs":{"type":"array","items":{"$ref":"#/components/schemas/InitiativeTimelineLane"},"description":"Ongoing, undated Program lanes associated with the Initiative — always returned in full (not windowed)."},"projects":{"type":"array","items":{"$ref":"#/components/schemas/InitiativeTimelineBar"},"description":"Dated Project bars associated with the Initiative, filtered to those overlapping the optional `from`/`to` window (unscheduled projects always included)."}},"required":["programs","projects"],"description":"An initiative roadmap roll-up."},"example":{"programs":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","health":"on_track"}],"projects":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","health":"on_track","startDate":"2026-09-19","startDateResolution":"month","startDateFiscalYearStartMonth":0,"targetDate":"2026-09-19","targetDateResolution":"month","targetDateFiscalYearStartMonth":0}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"in":"query","name":"from","schema":{"$ref":"#/components/schemas/Shared824061ac"},"description":"Lower bound (ISO-8601 `YYYY-MM-DD`) of the window. Open when omitted. Filters Project bars only."},{"in":"query","name":"to","schema":{"$ref":"#/components/schemas/Shared824061ac"},"description":"Upper bound (ISO-8601 `YYYY-MM-DD`) of the window (inclusive through end-of-day). Open when omitted. Filters Project bars only."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/programs/{id}/template/preview":{"post":{"operationId":"postV1OrgsByOrgIdProgramsByIdTemplatePreview","summary":"Preview optional starting changes from a published template","tags":["Templates"],"x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse6e44c9d1"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplatePreviewRequest"}}},"description":"Fields used to preview optional starting changes from a published template. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nPreview optional starting changes from a published template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/programs/{id}/template/update":{"post":{"operationId":"postV1OrgsByOrgIdProgramsByIdTemplateUpdate","summary":"Apply reviewed changes from the current template","tags":["Templates"],"x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse5dfa1f1c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplateUpdateRequest"}}},"description":"Fields used to apply reviewed changes from the current template. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nApply reviewed changes from the current template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/programs/{id}/template":{"post":{"operationId":"postV1OrgsByOrgIdProgramsByIdTemplate","summary":"Change a work item’s template identity","tags":["Templates"],"description":"## Purpose\n\nChange a work item’s template identity.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPin a published template of the same workspace and kind. Starting values change only when explicitly selected from a current preview. Existing dates and child work change only through individually accepted child choices from the same preview. Live resource access is checked before template selection; unavailable work returns 404.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse5dfa1f1c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplateUpdateRequest"}}},"description":"Fields used to change a work item’s template identity. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/programs/{id}/template/save-as/preview":{"post":{"operationId":"postV1OrgsByOrgIdProgramsByIdTemplateSaveAsPreview","summary":"Review an independent reusable outline from current work","tags":["Templates"],"description":"## Purpose\n\nReview an independent reusable outline from current work.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRequires live source view rights and the workspace template authoring policy. Returns the complete authorized outline and review warnings. Hidden descendants or inaccessible images refuse the capture without exposing their content.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse87d660ac"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/programs/{id}/template/save-as":{"post":{"operationId":"postV1OrgsByOrgIdProgramsByIdTemplateSaveAs","summary":"Save a reviewed outline as a personal unpublished template","tags":["Templates"],"description":"## Purpose\n\nSave a reviewed outline as a personal unpublished template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreates an independent author-only draft from the exact reviewed source snapshot and warnings. A changed source returns409. Source work remains unchanged and publication requires a separate explicit action.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"$ref":"#/components/responses/SharedResponsec7efdcaf"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProjectsByIdTemplateSaveAsRequest"}}},"description":"Fields used to save a reviewed outline as a personal unpublished template. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/programs":{"get":{"operationId":"getV1OrgsByOrgIdPrograms","summary":"List programs","tags":["Programs"],"description":"## Purpose\n\nList programs.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList the organization's programs — ongoing areas of operation that have NO terminal state (a program is `active`, `paused`, or `archived`; intentionally never `completed`, because operational work never \"finishes\"). Unlike bounded Projects, Programs persist; they own Projects and host directly-attached Tasks. Results use a stable keyset order of `createdAt DESC, id DESC`. `limit` defaults to 50 and accepts at most 100. Copy `nextCursor` unchanged into `cursor`; it is absent when the result set is exhausted. Each item is the flat `ProgramOut` — fetch `GET /:id` for the child-work roll-up. Read-only; org membership suffices. Strictly org-scoped.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProgramOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","summary":"example","status":"example","visibility":"public","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdPrograms","summary":"Create a program","tags":["Programs"],"description":"## Purpose\n\nCreate a program.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a new program in the organization. The `organizationId` comes from the path, never the body. `status` defaults to `active` and `visibility` defaults to `public` when omitted; `description`, `ownerId`, and `health` are optional. Requires `manage` — the highest capability — NOT `contribute`: a program is a top-level structural container in the org's operating model (Projects and Tasks hang off it and cascade-down containment means its grants propagate to that child work), so standing up or tearing down a program is an administrative act reserved for org managers. Returns the created `ProgramOut`. No observation is emitted on program create. (Note: `private` programs are visible only to actors with an explicit grant; `public` programs are visible to all org members.)\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProgramOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"blueprint":{"$ref":"#/components/schemas/Shareda0719e23","description":"Blueprint for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"name":{"type":"string","minLength":1,"description":"Human-readable program name. Required, non-empty."},"description":{"description":"Optional free-text description of the program’s mission/scope.","type":"string"},"summary":{"description":"Optional plain-text summary, limited to 280 characters.","type":"string","maxLength":280},"ownerId":{"description":"Optional owning Actor (the accountable person). Must reference an Actor in the caller’s org.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"status":{"description":"Initial status. Defaults to `active` when omitted.","type":"string","minLength":1},"health":{"$ref":"#/components/schemas/Shared94a73fe8","description":"Health for this record."},"visibility":{"$ref":"#/components/schemas/Shared53fb2ed9","description":"Visibility for this record."}},"required":["name"],"description":"Create a program within an organization."},"example":{"name":"example"}}},"description":"Fields used to create a program. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/programs/{id}/aggregate-detail":{"get":{"operationId":"getV1OrgsByOrgIdProgramsByIdAggregateDetail","summary":"Get the bounded Program detail aggregate","tags":["Programs"],"description":"## Purpose\n\nGet the bounded Program detail aggregate.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturns the Program snapshot, visible-control capabilities, its named owner, and default rollup content in one request. It excludes project and work rosters until their tabs open.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"target":{"type":"string","const":"program","description":"Target for this record."},"snapshot":{"type":"object","properties":{"target":{"type":"string","const":"program","description":"Target for this record."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},"name":{"type":"string","description":"Human-readable name."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared87b03b06","description":"Health for this record."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["target","organizationId","id","name","status","health","updatedAt"],"additionalProperties":false,"description":"Snapshot for this record."},"viewer":{"$ref":"#/components/schemas/DetailViewer","description":"Viewer for this record."},"capabilities":{"$ref":"#/components/schemas/DetailCapabilities","description":"Capabilities for this record."},"references":{"type":"object","properties":{"owner":{"anyOf":[{"$ref":"#/components/schemas/DetailActorReference"},{"type":"null"}],"description":"Owner for this record."}},"required":["owner"],"additionalProperties":false,"description":"References for this record."},"defaultView":{"type":"object","properties":{"program":{"$ref":"#/components/schemas/ProgramDetail","description":"Program for this record."}},"required":["program"],"additionalProperties":false,"description":"Default view for this record."}},"required":["target","snapshot","viewer","capabilities","references","defaultView"],"additionalProperties":false,"description":"Bounded initial Program detail response."},"example":{"target":"program","snapshot":{"target":"program","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","health":"on_track","updatedAt":"2026-09-19T12:00:00.000Z"},"viewer":{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"capabilities":{"comment":false,"contribute":false,"assign":false,"manage":false},"references":{"owner":{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","displayName":"example","avatar":"example"}},"defaultView":{"program":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","summary":"example","status":"example","visibility":"public","createdAt":"2026-09-19T12:00:00.000Z","rollup":{"projects":0,"tasks":0}}}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"required":true,"description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/programs/{id}":{"get":{"operationId":"getV1OrgsByOrgIdProgramsById","summary":"Get program detail","tags":["Programs"],"description":"## Purpose\n\nGet program detail.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch a program with counts of its visible projects and active tasks. The task count includes tasks attached directly to the program and tasks that belong to one of its projects. Docket applies the caller's task visibility before calculating the count. An absent or inaccessible program returns 404. Returns `ProgramDetail`. Use `GET /:id/work` to retrieve the tasks grouped by cycle and project.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable unique identifier of the program."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning organization (tenant)."},"name":{"type":"string","description":"Human-readable program name."},"description":{"description":"Free-text description, or `null`/absent when none.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Plain-text summary, or `null` when none."},"ownerId":{"$ref":"#/components/schemas/Shared6fe9b234","description":"Identifies the referenced owner."},"status":{"type":"string","minLength":1,"description":"Current lifecycle status (`active`/`paused`/`archived`)."},"health":{"$ref":"#/components/schemas/Sharedef8752d1","description":"Health for this record."},"visibility":{"type":"string","enum":["public","private"],"description":"Access scope: `public` (all org members) or `private` (grant-only)."},"createdAt":{"type":"string","description":"When the program was created (ISO-8601 timestamp)."},"rollup":{"$ref":"#/components/schemas/ProgramRollup","description":"Rollup for this record."}},"required":["id","organizationId","name","summary","status","visibility","createdAt","rollup"],"description":"A program with its child-work roll-up."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","summary":"example","status":"example","visibility":"public","createdAt":"2026-09-19T12:00:00.000Z","rollup":{"projects":0,"tasks":0}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdProgramsById","summary":"Update a program","tags":["Programs"],"description":"## Purpose\n\nUpdate a program.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate the supplied program fields and return the current `ProgramOut`. Omitted fields remain unchanged. Set `description`, `ownerId`, or `health` to null to clear it. `status` accepts `active`, `paused`, or `archived`; programs do not have a `completed` status. Changing `visibility` switches between organization-wide visibility and grant-only access. Because program grants extend to child projects and tasks, this operation requires `manage`. It does not add a status event to organization activity. An unavailable program returns 404.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProgramOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"description":"New program name. Omit to leave unchanged; must be non-empty when set.","type":"string","minLength":1},"description":{"description":"New description. Omit to leave unchanged; pass `null` to clear it.","anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"description":"New plain-text summary. Omit to leave unchanged; send an empty string to clear.","type":"string","maxLength":280},"ownerId":{"description":"Re-point the owning Actor (must be in the caller’s org). Omit to leave unchanged; pass `null` to clear the owner.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}]},"status":{"description":"New status (`active`/`paused`/`archived` only — never `completed`). Omit to leave unchanged.","type":"string","minLength":1},"health":{"description":"New health verdict. Omit to leave unchanged; pass `null` to clear the verdict.","anyOf":[{"$ref":"#/components/schemas/Shared6a2f1dda","description":"Health for this record."},{"type":"null"}]},"visibility":{"description":"Flip between `public` (org-wide) and `private` (grant-only). Omit to leave unchanged.","type":"string","enum":["public","private"]}},"description":"Update a program."},"example":{}}},"description":"Fields used to update a program. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdProgramsById","summary":"Delete a program","tags":["Programs"],"description":"## Purpose\n\nDelete a program.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nPermanently delete a program. The program must belong to the organization, and the caller needs the `manage` capability. Projects and tasks are not deleted, but they no longer belong to the program. Initiative links are removed. A Program owning recurring work returns 409, including ended schedules, so its run history remains intact. To preserve the program and its history, update its `status` to `archived` instead. Returns the deleted `ProgramOut`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProgramOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/programs/{id}/labels":{"post":{"operationId":"postV1OrgsByOrgIdProgramsByIdLabels","summary":"Add a label to a program","tags":["Programs"],"description":"## Purpose\n\nAdd a label to a program.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAdd one workspace-wide Label to a Program without replacing its existing Labels. Repeating an existing link succeeds without another write.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"programId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},"labelId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"linked":{"type":"boolean","const":true,"description":"Linked for this record."}},"required":["programId","labelId","linked"],"description":"A Program Label association."},"example":{"programId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","labelId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","linked":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"labelId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."}},"required":["labelId"],"description":"Add one Label to a Program."},"example":{"labelId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to add a label to a program. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/programs/{id}/work":{"get":{"operationId":"getV1OrgsByOrgIdProgramsByIdWork","summary":"Get program work","tags":["Programs"],"description":"## Purpose\n\nGet program work.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nList the active tasks under a program, grouped by cycle and then by project. The result includes tasks attached directly to the program and tasks that belong to one of its projects. Unscheduled tasks appear in the no-cycle group, and tasks attached directly to the program appear in the no-project segment. Groups and segments preserve newest-task-first order. Use `cycleId` or `projectId` to narrow the result. Docket applies the caller's task visibility, and an absent or inaccessible program returns 404. Returns `ProgramWorkOut`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/components/schemas/ProgramWorkGroup"},"description":"The cycle groups (including a `null`-cycle group for unscheduled tasks), each carrying its per-project segments."}},"required":["groups"],"description":"A program's work grouped by cycle, by project."},"example":{"groups":[{"cycle":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"segments":[{"project":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"tasks":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","state":"example","priority":"none","autoCompletedBySubtasks":false,"provenance":{"source":"native"},"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}]}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"in":"query","name":"cycleId","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"description":"Restrict the work view to a single cycle’s tasks. Omit for all cycles."},{"in":"query","name":"projectId","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"description":"Restrict the work view to a single project’s tasks. Omit for all projects."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/programs/{id}/updates":{"get":{"operationId":"getV1OrgsByOrgIdProgramsByIdUpdates","summary":"List program updates","tags":["Programs"],"description":"## Purpose\n\nList program updates.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nList status updates for this program, newest first. Each Update carries a `health` value and free-text `body`; threaded discussion belongs in Comments instead. The response includes the people and agents who authored the returned updates. A missing or inaccessible program returns 404.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UpdateOut"},"description":"Items, in order."},"authors":{"type":"array","items":{"$ref":"#/components/schemas/UpdateAuthorReference"},"description":"Authors, in order."}},"required":["items","authors"],"additionalProperties":false,"description":"Status updates and the people or agents who authored them."},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectType":"project","subjectId":"example","body":"example","createdAt":"2026-09-19T12:00:00.000Z"}],"authors":[{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","displayName":"example","avatar":"example","kind":"human"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/cycles":{"get":{"operationId":"getV1OrgsByOrgIdCycles","summary":"List cycles","tags":["Cycles"],"description":"## Purpose\n\nList cycles.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList the organization's cycles, newest first. Each `CycleDetail` includes pace statistics and an `isCurrent` flag. Docket calculates task-based statistics after applying the caller's task visibility. Pages default to 50 items and accept at most 100. Reuse a cursor only with the same `roll` value. Set `roll=true` to create any missing past, current, and upcoming cycle slots before listing them; omit it for a read-only request. Returns a page of `CycleDetail`.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CycleDetail"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":0,"displayName":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","status":"upcoming","createdAt":"2026-09-19T12:00:00.000Z","stats":{"committed":0,"completed":0,"capacity":0,"completedCapacity":0,"scopeChange":0,"carryover":0}}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"in":"query","name":"roll","schema":{"type":"string","enum":["true","false"]},"description":"Roll supplied in the query."}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdCycles","summary":"Create a cycle","tags":["Cycles"],"description":"## Purpose\n\nCreate a cycle.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a cycle for a team instead of waiting for the team's next automatic cycle. The required `teamId` must identify a team in this organization. Otherwise, the request returns 404. Supply a team-local `number`, `startsAt`, and `endsAt`; `name` is optional and `status` defaults to `upcoming`. A team cannot have two cycles with the same number. Requires `contribute`. The response contains the created `CycleOut` without calculated `stats`; use `GET /:id` to retrieve those statistics.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CycleOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The team this cycle belongs to (required). Cycles are team-scoped; re-validated to live in the caller’s org (404 otherwise). Fixed at creation."},"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The sequence number within the team. A team cannot have two cycles with the same number."},"name":{"description":"Optional display name (e.g. \"Sprint 12\"). Cycles may be unnamed and identified by number/dates.","type":"string","minLength":1},"startsAt":{"type":"string","format":"date","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])))$","description":"Window start (ISO-8601 date/datetime). Required."},"endsAt":{"type":"string","format":"date","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])))$","description":"Window end (ISO-8601 date/datetime). Required."},"status":{"description":"Initial status. Defaults to `upcoming` when omitted.","type":"string","enum":["upcoming","active","completed"]}},"required":["teamId","number","startsAt","endsAt"],"description":"Create a cycle within an organization."},"example":{"teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":0,"startsAt":"2026-09-19","endsAt":"2026-09-19"}}},"description":"Fields used to create a cycle. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/cycles/current":{"get":{"operationId":"getV1OrgsByOrgIdCyclesCurrent","summary":"Get current cycle window","tags":["Cycles"],"description":"## Purpose\n\nGet current cycle window.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nReturn a team's rolling cycle window and identify the cycle that contains today. The required `teamId` must identify a team in the organization. Docket creates missing past, current, and upcoming slots from the team's 1–365 day cadence and calendar-date anchor, while preserving manual cycles. Repeating the request does not duplicate slots. The response includes `cadenceDays`, `cadenceAnchor`, every cycle's `isCurrent` value, and the current cycle separately. Returns `CycleWindow`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The team whose window this is."},"cadenceDays":{"type":"integer","minimum":1,"maximum":365,"description":"The team’s native cycle length in calendar days."},"cadenceAnchor":{"type":"string","format":"date","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])))$","description":"The calendar date anchoring native cycle boundaries."},"current":{"anyOf":[{"$ref":"#/components/schemas/CycleOut"},{"type":"null"}],"description":"The cycle whose window contains today (`startsAt <= now <= endsAt`), or `null` when none does. On a tie the earliest-starting wins."},"cycles":{"type":"array","items":{"$ref":"#/components/schemas/CycleOut"},"description":"The full rolling window — a few past + the current + a few upcoming cycles, ordered by number; each carries its own `isCurrent`."}},"required":["teamId","cadenceDays","cadenceAnchor","current","cycles"],"description":"A team's rolling cycle window with its current cycle."},"example":{"teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","cadenceDays":1,"cadenceAnchor":"2026-09-19","current":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":0,"displayName":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","status":"upcoming","createdAt":"2026-09-19T12:00:00.000Z"},"cycles":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":0,"displayName":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","status":"upcoming","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"query","name":"teamId","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"required":true,"description":"The team whose rolling cycle window to resolve (required). Must belong to the caller’s org (404 otherwise)."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/cycles/ensure":{"post":{"operationId":"postV1OrgsByOrgIdCyclesEnsure","summary":"Generate cycles through a date","tags":["Cycles"],"description":"## Purpose\n\nGenerate cycles through a date.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate each native cycle window that intersects the inclusive date range. The team must belong to this organization and must not use a provider-owned cycle schedule. `fromDate` defaults to the team's cadence anchor, and both dates must be on or after that anchor.\n\nOne request can create at most 400 cycle windows. Use adjacent date ranges to create more. Repeating the same request or sending overlapping requests does not create duplicate cycles.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CycleOut"},"description":"Items, in order."}},"required":["items"],"description":"Created cycles in chronological order."},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":0,"displayName":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","status":"upcoming","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Team whose cadence should produce these cycles."},"fromDate":{"description":"Inclusive first calendar date to cover.","type":"string","format":"date","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])))$"},"throughDate":{"type":"string","format":"date","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])))$","description":"Inclusive last calendar date to cover."}},"required":["teamId","throughDate"],"description":"A bounded future-cycle generation request."},"example":{"teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","throughDate":"2026-09-19"}}},"description":"Fields used to generate cycles through a date. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/cycles/{id}":{"get":{"operationId":"getV1OrgsByOrgIdCyclesById","summary":"Get cycle detail","tags":["Cycles"],"description":"## Purpose\n\nGet cycle detail.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch a single cycle plus its rolled-up pace `stats` — the \"are we on pace?\" banner. The cycle must exist in the caller's org (404 `Cycle not found`). `stats` is computed from the active committed tasks the caller can view: `committed` (tasks currently on the cycle), `completed` (those with a `completed_at`), `capacity` (sum of committed estimates, unestimated = 0), `completedCapacity` (estimate sum of the completed subset), `scopeChange` (tasks added after `starts_at`, i.e. mid-cycle scope creep), and `carryover` (still-incomplete committed tasks — what would roll if the cycle closed now). The response also carries the date-derived `isCurrent`. Read-only; organization membership accesses the cycle while its stats use canonical task visibility. Returns `CycleDetail`. See `GET /:id/burnup` for the daily series and `GET /:id/tasks` for the grouped task list.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Stable unique identifier of the cycle."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The owning organization (tenant)."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The team this cycle belongs to. Immutable after creation."},"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Team-local sequence number (unique per team)."},"name":{"description":"Display name, or `null`/absent when the cycle is unnamed.","anyOf":[{"type":"string"},{"type":"null"}]},"displayName":{"type":"string","description":"Human-readable name to render: the author-set `name`, else the cycle window dates."},"startsAt":{"type":"string","description":"Window start (ISO-8601 timestamp)."},"endsAt":{"type":"string","description":"Window end (ISO-8601 timestamp)."},"status":{"type":"string","enum":["upcoming","active","completed"],"description":"Current status (`upcoming`/`active`/`completed`)."},"isCurrent":{"$ref":"#/components/schemas/Shared6ef9223a","description":"Whether current."},"createdAt":{"type":"string","description":"When the cycle was created, as an ISO 8601 timestamp."},"stats":{"$ref":"#/components/schemas/CycleStats","description":"Stats for this record."}},"required":["id","organizationId","teamId","number","displayName","startsAt","endsAt","status","createdAt","stats"],"description":"A cycle with its rolled-up stats."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":0,"displayName":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","status":"upcoming","createdAt":"2026-09-19T12:00:00.000Z","stats":{"committed":0,"completed":0,"capacity":0,"completedCapacity":0,"scopeChange":0,"carryover":0}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdCyclesById","summary":"Update a cycle","tags":["Cycles"],"description":"## Purpose\n\nUpdate a cycle.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPartially update a cycle's `number`, `name`, `startsAt`, `endsAt`, and/or `status`. Each field is optional: an absent key leaves the column untouched (an explicit `null` `name` clears it). The team is fixed at creation — there is no `teamId` in the body, so a cycle cannot be moved between teams. Editing `startsAt`/`endsAt` shifts the window, which in turn changes every date-derived quantity (`isCurrent`, `scopeChange`, and the `burnup` series day range) the next time they are read. To formally end a cycle with carryover review, prefer `POST /:id/close` over manually setting `status` to `completed` here. 404 (`Cycle not found`) when absent or cross-tenant. Requires `contribute`. Returns the updated `CycleOut`.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CycleOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"description":"New team-local sequence number. Omit to leave unchanged (still unique per team).","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"description":"New display name. Omit to leave unchanged; `null` clears it (back to unnamed).","anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"startsAt":{"description":"New window start (ISO-8601). Omit to leave unchanged. Shifting it changes all date-derived quantities (`isCurrent`, `scopeChange`, burnup day range).","type":"string","format":"date","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])))$"},"endsAt":{"description":"New window end (ISO-8601). Omit to leave unchanged.","type":"string","format":"date","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])))$"},"status":{"description":"New status. Omit to leave unchanged. To end a cycle with carryover review, prefer `POST /:id/close` over setting `completed` here.","type":"string","enum":["upcoming","active","completed"]}},"description":"Update a cycle."},"example":{}}},"description":"Fields used to update a cycle. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdCyclesById","summary":"Delete a cycle","tags":["Cycles"],"description":"## Purpose\n\nDelete a cycle.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDelete a cycle. Tasks in the cycle are kept and become unscheduled. If the cycle belongs to the rolling window, a later request that rolls cycles forward may create that numbered cycle again. Use `POST /:id/close` when you need to review and move unfinished work. Requires the `contribute` capability and returns the deleted `CycleOut`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CycleOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/cycles/{id}/tasks":{"get":{"operationId":"getV1OrgsByOrgIdCyclesByIdTasks","summary":"List cycle tasks","tags":["Cycles"],"description":"## Purpose\n\nList cycle tasks.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nList the active tasks committed to a cycle. Set `groupBy` to `project` (the default) or `program`; the response echoes the chosen value. Each group includes either `projectId` or `programId`. The ID is null for tasks that do not belong to that kind of container. Docket applies the caller's task visibility, and an absent or inaccessible cycle returns 404. Returns `CycleTasksOut`.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"groupBy":{"type":"string","enum":["project","program"],"description":"The axis the tasks were grouped by (echoes the request)."},"groups":{"type":"array","items":{"$ref":"#/components/schemas/CycleTaskGroup"},"description":"The task groups, one per distinct grouping entity (plus a `null` bucket)."}},"required":["groupBy","groups"],"description":"A cycle's committed tasks, grouped."},"example":{"groupBy":"project","groups":[{"tasks":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","state":"example","priority":"none","autoCompletedBySubtasks":false,"provenance":{"source":"native"},"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"in":"query","name":"groupBy","schema":{"type":"string","enum":["project","program"]},"description":"Grouping axis (`project` or `program`). Defaults to `project` when omitted."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/cycles/{id}/burnup":{"get":{"operationId":"getV1OrgsByOrgIdCyclesByIdBurnup","summary":"Get cycle burn-up","tags":["Cycles"],"description":"## Purpose\n\nGet cycle burn-up.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn burn-up data for every UTC calendar day from `startsAt` through `endsAt`, inclusive. For each day, `planned` is cumulative visible task capacity, `completed` is cumulative effort completed by that day, and `remaining` is `planned - completed`. Planned capacity increases when visible work joins the cycle.\n\n`scopeChanges` lists visible tasks added after the cycle started, ordered by addition time, with the estimate each task added. `capacity` and `stats` contain the corresponding summary. An unavailable cycle returns 404, and task-derived values include only tasks the caller can view.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"cycleId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The cycle this report covers."},"startsAt":{"type":"string","description":"The cycle window start (ISO-8601 timestamp)."},"endsAt":{"type":"string","description":"The cycle window end (ISO-8601 timestamp)."},"capacity":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Total planned capacity (estimate sum of committed tasks); mirrors `stats.capacity`."},"series":{"type":"array","items":{"$ref":"#/components/schemas/CycleBurnupPoint"},"description":"One point per calendar day of `[startsAt, endsAt]` inclusive — the daily planned-vs-completed-vs-remaining line."},"scopeChanges":{"type":"array","items":{"$ref":"#/components/schemas/CycleScopeChange"},"description":"Every task added after `starts_at`, sorted by when it joined — the itemized scope creep."},"stats":{"$ref":"#/components/schemas/CycleStats","description":"Stats for this record."}},"required":["cycleId","startsAt","endsAt","capacity","series","scopeChanges","stats"],"description":"A cycle's burn-up + capacity + scope report."},"example":{"cycleId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","capacity":0,"series":[{"date":"2026-09-19","planned":0,"completed":0,"remaining":0}],"scopeChanges":[{"taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","addedAt":"2026-09-19T12:00:00.000Z","estimate":0}],"stats":{"committed":0,"completed":0,"capacity":0,"completedCapacity":0,"scopeChange":0,"carryover":0}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/cycles/{id}/close":{"post":{"operationId":"postV1OrgsByOrgIdCyclesByIdClose","summary":"Close a cycle","tags":["Cycles"],"description":"## Purpose\n\nClose a cycle.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nClose a cycle and decide what happens to each unfinished task. Use `keep` to leave a task in the completed cycle, `move` with `targetCycleId` to place it in another cycle on the same team, or `triage` to return it to the team's triage queue. Every decision and the cycle close succeed together or fail together. Completed tasks need no decision. Requires the `contribute` capability. Returns `CycleClosed` with the number of tasks kept, moved, and returned to triage. See `GET /:id/burnup` for pace data.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"closed":{"type":"boolean","const":true,"description":"Always `true`; the cycle is now `completed`."},"keptCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many incomplete tasks were kept on the closed cycle (`keep`)."},"movedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many incomplete tasks were moved to another cycle (`move`)."},"triagedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many incomplete tasks were detached back to triage (`triage`)."}},"required":["closed","keptCount","movedCount","triagedCount"],"description":"A closed-cycle acknowledgement."},"example":{"closed":true,"keptCount":0,"movedCount":0,"triagedCount":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"carryover":{"default":[],"description":"Decision for each incomplete committed task. Defaults to `[]`, which closes the cycle and leaves incomplete tasks on it. Completed tasks do not need a decision. Docket applies every decision and closes the cycle as one all-or-nothing change.","type":"array","items":{"$ref":"#/components/schemas/CycleCarryoverDecision"}}},"description":"Close a cycle with carryover decisions."},"example":{}}},"description":"Fields used to close a cycle. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/cycles/{id}/backfill":{"post":{"operationId":"postV1OrgsByOrgIdCyclesByIdBackfill","summary":"Assign backlog tasks to a cycle","tags":["Cycles"],"description":"## Purpose\n\nAssign backlog tasks to a cycle.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nAssign the team's active tasks that do not have a cycle to this cycle. Tasks already assigned to any cycle remain unchanged. Completed and canceled tasks are excluded.\n\nRepeating the request affects only tasks that still have no cycle. The response contains `assignedCount`. An unavailable cycle returns 404.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"assignedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many previously-unscoped, non-terminal tasks on the team were assigned to this cycle."}},"required":["assignedCount"],"description":"A cycle-backfill acknowledgement."},"example":{"assignedCount":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/statuses":{"get":{"operationId":"getV1OrgsByOrgIdStatuses","summary":"List the workspace’s status sets","tags":["Statuses"],"description":"## Purpose\n\nList the workspace’s status sets.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nReturns this workspace’s statuses for each kind of work it tracks: tasks, projects, programs, and initiatives. Each set comes back in board order — by category, then by position within it. Pass `teamId` to resolve the task set for a team: a team that keeps its own task statuses resolves to those, and every other team resolves to the workspace’s. Pass `entityType` to return a single set.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/WorkStatusSetOut"},"description":"Items, in order."}},"required":["items"]},"example":{"items":[{"entityType":"task","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","forked":false,"statuses":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","entityType":"task","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","key":"example","name":"example","description":"example","category":"backlog","position":0,"isDefault":false}]}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"query","name":"entityType","schema":{"type":"string","enum":["task","project","program","initiative"]},"description":"The kind of work this status set applies to. Cycles are absent because a Cycle’s status follows its dates rather than a choice."},{"$ref":"#/components/parameters/SharedParameterdeca116c"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdStatuses","summary":"Add a status","tags":["Statuses"],"description":"## Purpose\n\nAdd a status.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAdds a status to one of this workspace’s sets. The key the work will store is derived from the name and stays fixed through later renames, so saved views and automation rules keep resolving. Omit `position` to place the status after the others sharing its category. A team scope is accepted for task statuses only.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkStatusOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"entityType":{"$ref":"#/components/schemas/Shared61cc11ea","description":"Entity type for this record."},"teamId":{"description":"Add to this team’s own Task statuses. Omit or pass null to add to the workspace set. Accepted for Tasks only.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}]},"name":{"type":"string","minLength":1,"maxLength":60,"description":"Display name, e.g. `In Review`."},"description":{"description":"What this status means, up to 280 characters.","anyOf":[{"type":"string","maxLength":280},{"type":"null"}]},"category":{"$ref":"#/components/schemas/Shared63ac0b06","description":"Selects the value type."},"position":{"description":"Where to place this status among those sharing its category. Omit to add it after the others.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["entityType","name","category"],"description":"Add a status to a set."},"example":{"entityType":"task","name":"example","category":"backlog"}}},"description":"Fields used to add a status. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/statuses/{statusId}":{"patch":{"operationId":"patchV1OrgsByOrgIdStatusesByStatusId","summary":"Change a status","tags":["Statuses"],"description":"## Purpose\n\nChange a status.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nRenames a status, rewrites what it means, moves it to another category, or makes it the status new work starts in. Moving a status between categories records or clears completion on the work already sitting in it, so progress and capacity stay accurate. The stored key is unaffected by a rename.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkStatusOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"description":"New display name. Omit to leave unchanged.","type":"string","minLength":1,"maxLength":60},"description":{"description":"New meaning, up to 280 characters. Pass null to clear it.","anyOf":[{"type":"string","maxLength":280},{"type":"null"}]},"category":{"description":"New category. Work already in this status has its completion recorded or cleared to match.","type":"string","enum":["backlog","unstarted","started","completed","canceled"]},"isDefault":{"description":"Make this the status new work of this kind starts in.","type":"boolean","const":true}},"description":"Change a status."},"example":{}}},"description":"Fields used to change a status. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdStatusesByStatusId","summary":"Delete a status","tags":["Statuses"],"description":"## Purpose\n\nDelete a status.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nDeletes a status and moves the work on it to the replacement named by `remapTo`. The replacement has to belong to the same set. A set always keeps a way to finish work, a way to abandon it, and somewhere for work that has not ended, so a delete that would remove the last of any of those is refused. Returns the deleted status and how much work moved.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"$ref":"#/components/schemas/WorkStatusOut","description":"Deleted for this record."},"remappedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many pieces of work moved to the replacement status."}},"required":["deleted","remappedCount"],"description":"What a status deletion moved."},"example":{"deleted":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","entityType":"task","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","key":"example","name":"example","description":"example","category":"backlog","position":0,"isDefault":false},"remappedCount":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"query","name":"remapTo","schema":{"type":"string"},"required":true,"description":"Remap to supplied in the query."}],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameterffa1f373"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/statuses/reorder":{"post":{"operationId":"postV1OrgsByOrgIdStatusesReorder","summary":"Reorder a status set","tags":["Statuses"],"description":"## Purpose\n\nReorder a status set.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nSets the order a status set reads in. Send every status in the set, in the order wanted. Statuses sharing a category stay together and the categories keep their fixed order, so an order that interleaves two categories is rejected.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse72c05707"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"entityType":{"$ref":"#/components/schemas/Shared61cc11ea","description":"Entity type for this record."},"teamId":{"description":"The team whose own set to reorder.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}]},"order":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Shared934224b5","description":"The stable identifier for this resource."},"description":"Every status in the set, in the desired board order. Statuses sharing a category stay together, in the fixed category order."}},"required":["entityType","order"],"description":"Reorder a status set."},"example":{"entityType":"task","order":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}}},"description":"Fields used to reorder a status set. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/teams/{teamId}/statuses/fork":{"post":{"operationId":"postV1OrgsByOrgIdTeamsByTeamIdStatusesFork","summary":"Give a team its own task statuses","tags":["Statuses"],"description":"## Purpose\n\nGive a team its own task statuses.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nCopies the workspace’s task statuses into a set this team owns, and moves the team’s tasks onto the copies. The team stops following later changes to the workspace set. Returns the team’s new set.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse72c05707"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdTeamsByTeamIdStatusesFork","summary":"Return a team to the workspace’s task statuses","tags":["Statuses"],"description":"## Purpose\n\nReturn a team to the workspace’s task statuses.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDiscards the team’s own task statuses and moves its tasks back onto the workspace set. A task on a status the workspace set shares by key keeps that status; anything else moves to the workspace status closest in meaning. Returns the workspace set.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse72c05707"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter79491a05"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/labels":{"get":{"operationId":"getV1OrgsByOrgIdLabels","summary":"List labels","tags":["Labels"],"description":"## Purpose\n\nList labels.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList workspace-wide and team-specific labels. A workspace-wide label has `teamId: null` and may be used anywhere. A team-specific label may be used only for work in that team. Labels classify and filter work independently from workflow state and priority.\n\nResults use stable label-ID order. The default page size is 50 and the maximum is 100. The final page omits `nextCursor`. Reuse a cursor only with the same `withCounts` value. Set `withCounts=1` to include each label's total `usageCount` across supported resource types.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse6f5e8c7a"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"in":"query","name":"withCounts","schema":{"type":"string","enum":["0","1"]},"description":"Set to `1` to include `usageCount` on every label."}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdLabels","summary":"Create a label","tags":["Labels"],"description":"## Purpose\n\nCreate a label.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a workspace-wide label. Requires `contribute`. Omit `color` to let Docket choose the next palette color. Label names are unique without regard to letter case, so creating `Bug` when `bug` exists returns 409. Use the update operation to limit a label to a team later. Returns the created `LabelOut`.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Label text, e.g. `bug` or `design`. Required, non-blank."},"color":{"description":"Palette token for the label. Omit and the server assigns the next color by rotation — inline creation relies on this so the user is never asked to pick one.","type":"string","enum":["blue","violet","pink","coral","amber","green","teal","indigo","plum","slate"]},"groupId":{"description":"Group this label belongs to. The group must share the label’s scope; null/omitted = ungrouped.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label group — a named set of related Labels, optionally mutually exclusive."},{"type":"null"}]}},"required":["name"],"description":"Create a label within an organization."},"example":{"name":"example"}}},"description":"Fields used to create a label. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/labels/groups":{"get":{"operationId":"getV1OrgsByOrgIdLabelsGroups","summary":"List label groups","tags":["Labels"],"description":"## Purpose\n\nList label groups.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList the org's label groups. A group is a named set of related labels and the only place *exclusivity* is recorded. Results follow `sortOrder, name, id`, default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. A non-exclusive group is purely visual clustering. Requires org membership (`view`).\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/LabelGroupOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","exclusive":false,"sortOrder":0,"createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdLabelsGroups","summary":"Create a label group","tags":["Labels"],"description":"## Purpose\n\nCreate a label group.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a label group. Requires `manage`: unlike creating a single label, defining a group declares a *dimension* for the whole workspace, which is a structural decision rather than an in-the-flow one. `exclusive` defaults to true — a group whose members can all coexist is just visual clustering, so the stronger meaning is the default and the weaker one an explicit opt-out. Returns the created `LabelGroupOut`.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelGroupOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Group name, e.g. `Type` or `Stage`. Required, non-blank."},"exclusive":{"description":"When true (the default), applying one member releases every other member — a single-select dimension. False makes the group a purely visual cluster.","type":"boolean"},"sortOrder":{"description":"Manual display order within the org; ties break on name. Defaults to 0.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["name"],"description":"Create a label group."},"example":{"name":"example"}}},"description":"Fields used to create a label group. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/labels/groups/{id}":{"patch":{"operationId":"patchV1OrgsByOrgIdLabelsGroupsById","summary":"Update a label group","tags":["Labels"],"description":"## Purpose\n\nUpdate a label group.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPartially update a label group; only the fields present in the body change. Requires `manage`. Turning `exclusive` on does **not** retroactively strip subjects that already carry two members — it governs writes from that point forward, because silently detaching labels across the workspace is not something a settings toggle should do. Re-scoping via `teamId` moves the group's members with it, since a group and its labels must share one scope. Returns the updated `LabelGroupOut`.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelGroupOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"description":"New group name. Omit to leave unchanged.","type":"string","minLength":1},"exclusive":{"description":"Toggle mutual exclusivity. Turning this on does not retroactively strip existing multi-member attachments; it governs writes from that point on.","type":"boolean"},"sortOrder":{"description":"New display order. Omit to leave unchanged.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"teamId":{"description":"Limit the group to this team, or null for workspace-wide. Members move with the group, since a group and its labels must share one scope.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}]}},"description":"Update a label group."},"example":{}}},"description":"Fields used to update a label group. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdLabelsGroupsById","summary":"Delete a label group","tags":["Labels"],"description":"## Purpose\n\nDelete a label group.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDelete a label group. Requires `manage`. The group's **labels survive** and become ungrouped (`group_id` nulls out via `on delete set null`) — dissolving a dimension must never silently delete the vocabulary inside it, or a mis-click would strip labels off every entity carrying them. Returns the deleted `LabelGroupOut`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelGroupOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/labels/{id}":{"get":{"operationId":"getV1OrgsByOrgIdLabelsById","summary":"Get a label","tags":["Labels"],"description":"## Purpose\n\nGet a label.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch one label by id. The lookup is scoped to the caller's org, so a cross-org or unknown id 404s (`Label not found`) — existence is never leaked across tenants. Requires org membership (`view`). Returns `LabelOut`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdLabelsById","summary":"Update a label","tags":["Labels"],"description":"## Purpose\n\nUpdate a label.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPartially update a label (`name`, `color`, `groupId`, `teamId`). Requires `manage`, unlike creation: renaming or recoloring changes vocabulary the whole workspace already reads. Setting `teamId` limits the label to one team and is **non-destructive** — subjects outside that team keep the label, it simply stops being offered to them; setting it to null promotes the label back to workspace-wide, which is how a label mirrored from a connected tool gets adopted. Setting `groupId` to null removes the label from its group. A rename that collides with an existing name 409s; the client's move there is to offer a merge (`POST /:id/merge`) rather than a second attempt. The lookup is org-scoped, so a cross-org/unknown id 404s. Returns the updated `LabelOut`.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"description":"New label text (non-blank). Omit to leave unchanged.","type":"string","minLength":1},"color":{"description":"New palette token. Omit to leave unchanged. Supplying this on a label mirrored from a provider replaces its legacy hex.","type":"string","enum":["blue","violet","pink","coral","amber","green","teal","indigo","plum","slate"]},"groupId":{"description":"New group id, or null to remove from its group. Omit to leave unchanged.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label group — a named set of related Labels, optionally mutually exclusive."},{"type":"null"}]},"teamId":{"description":"Limit the label to this team, or null to make it workspace-wide. Omit to leave unchanged. Narrowing is non-destructive: attachments outside the team are kept, the label just stops being offered elsewhere.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}]}},"description":"Update a label."},"example":{}}},"description":"Fields used to update a label. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdLabelsById","summary":"Delete a label","tags":["Labels"],"description":"## Purpose\n\nDelete a label.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nPermanently delete a label and remove it from every attached record. No work is deleted. Requires `manage`. Show `usageCount` before confirmation so the user can see how many records will change. Use `POST /:id/merge` to replace a duplicate label without losing attachments. An absent or inaccessible label returns 404. Returns the deleted `LabelOut`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse3353deb2"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/labels/{id}/merge":{"post":{"operationId":"postV1OrgsByOrgIdLabelsByIdMerge","summary":"Merge a label into another","tags":["Labels"],"description":"## Purpose\n\nMerge a label into another.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nMove every use of this label to `intoId`, delete this label, and return the surviving `LabelOut`. The change applies to tasks, projects, initiatives, programs, and library resources. When a resource already has both labels, it keeps one copy of the surviving label.\n\nThe merge is all-or-nothing. A failure leaves both labels and their assignments unchanged. Merging a label into itself returns 422.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse3353deb2"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"intoId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The surviving label. Every attachment on the source label is reassigned to this one, then the source is deleted."}},"required":["intoId"],"description":"Merge a label into another, reassigning all of its attachments."},"example":{"intoId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to merge a label into another. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/comments":{"get":{"operationId":"getV1OrgsByOrgIdComments","summary":"List comments","tags":["Comments"],"description":"## Purpose\n\nList comments.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nList the comments on one polymorphic subject, identified by the required `subjectType` and `subjectId` query params. Results are ordered by `createdAt ASC, id ASC` so the client can reconstruct the two-level thread tree. Pages default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Reuse a cursor only with the same subject filters. Task comments require current canonical task visibility; non-task comments retain the organization-scoped read rule.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CommentOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectType":"task","subjectId":"example","body":"example","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdComments","summary":"Add a comment","tags":["Comments"],"description":"## Purpose\n\nAdd a comment.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPost a comment on a subject. Task comments require `contribute` on the current task; non-task comments retain the `comment` capability, distinctly lower than `contribute`. The verified request origin identifies the performer. A connected agent without its own Actor has a null authorId and an agent origin; the authorizing human is retained separately.\n\nThreading is single-level. Omit `parentCommentId` for a root comment; supply it to reply. A reply's parent must be an existing comment in the SAME org on the SAME subject (else 422), and the parent must itself be a root comment — replying to a reply is rejected (422), keeping the thread a strict two-level tree. Side effect: emits a `comment` observation onto the subject so its owners/followers are notified. Returns the created `CommentOut`.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"subjectType":{"type":"string","const":"task","description":"Subject type for this record."},"subjectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"body":{"type":"string","minLength":1,"description":"Comment text (markdown). Required, non-empty."},"parentCommentId":{"$ref":"#/components/schemas/Shared4e2c0587","description":"Identifies the referenced parent comment."}},"required":["subjectType","subjectId","body"],"additionalProperties":false},{"type":"object","properties":{"subjectType":{"type":"string","const":"project","description":"Subject type for this record."},"subjectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"body":{"type":"string","minLength":1,"description":"Comment text (markdown). Required, non-empty."},"parentCommentId":{"$ref":"#/components/schemas/Shared4e2c0587","description":"Identifies the referenced parent comment."}},"required":["subjectType","subjectId","body"],"additionalProperties":false},{"type":"object","properties":{"subjectType":{"type":"string","const":"program","description":"Subject type for this record."},"subjectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},"body":{"type":"string","minLength":1,"description":"Comment text (markdown). Required, non-empty."},"parentCommentId":{"$ref":"#/components/schemas/Shared4e2c0587","description":"Identifies the referenced parent comment."}},"required":["subjectType","subjectId","body"],"additionalProperties":false},{"type":"object","properties":{"subjectType":{"type":"string","const":"initiative","description":"Subject type for this record."},"subjectId":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"body":{"type":"string","minLength":1,"description":"Comment text (markdown). Required, non-empty."},"parentCommentId":{"$ref":"#/components/schemas/Shared4e2c0587","description":"Identifies the referenced parent comment."}},"required":["subjectType","subjectId","body"],"additionalProperties":false},{"type":"object","properties":{"subjectType":{"type":"string","const":"cycle","description":"Subject type for this record."},"subjectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Cycle — a time-boxed iteration (sprint) Tasks can be scheduled into."},"body":{"type":"string","minLength":1,"description":"Comment text (markdown). Required, non-empty."},"parentCommentId":{"$ref":"#/components/schemas/Shared4e2c0587","description":"Identifies the referenced parent comment."}},"required":["subjectType","subjectId","body"],"additionalProperties":false}],"description":"Create a comment on a subject."},"example":{"subjectType":"task","subjectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","body":"example"}}},"description":"Fields used to add a comment. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/comments/{id}":{"get":{"operationId":"getV1OrgsByOrgIdCommentsById","summary":"Get a comment","tags":["Comments"],"description":"## Purpose\n\nGet a comment.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch one comment by id. The lookup is org-scoped, so a cross-org or unknown id 404s (`Comment not found`) — existence is not leaked across tenants. A task comment additionally requires current canonical visibility of its task. Returns `CommentOut`, including `editedAt` (null until the comment is edited) and `parentCommentId` (null for a root comment).\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdCommentsById","summary":"Update a comment","tags":["Comments"],"description":"## Purpose\n\nUpdate a comment.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nEdit a comment's body. Only the `body` is mutable (subject and threading are fixed at creation); the edit records `editedAt` and the verified editor separately from the original author. A task comment requires `contribute` on its current task; a non-task comment requires `comment`. Both keep the authorship gate: only the author may edit unless they additionally hold `manage` (a moderator override). A non-author without `manage` is 403 (`Only the author can modify this comment`). Returns the updated `CommentOut`.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","minLength":1,"description":"Replacement comment text (markdown). Required, non-empty. The only editable field; editing stamps `editedAt`."}},"required":["body"],"description":"Edit a comment body."},"example":{"body":"example"}}},"description":"Fields used to update a comment. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdCommentsById","summary":"Delete a comment","tags":["Comments"],"description":"## Purpose\n\nDelete a comment.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nHard-delete a comment. A task comment requires `contribute` on its current task; a non-task comment requires `comment`. Both retain the same authorship gate as edit: only the author, or an actor holding `manage`, may delete (non-author without `manage` → 403). A cross-org/unknown id 404s.\n\nReplies to a deleted root comment become root comments, so the discussion remains readable. The deletion and reply updates succeed together or fail together. Returns a `CommentRemoved` acknowledgement.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Id of the deleted comment."},"removed":{"type":"boolean","const":true,"description":"Always `true`; confirms the comment was deleted. Its replies were re-parented to root."}},"required":["id","removed"],"description":"A deleted-comment acknowledgement."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removed":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/images":{"post":{"operationId":"postV1OrgsByOrgIdImages","summary":"Upload an inline image","tags":["Orgs"],"description":"## Purpose\n\nUpload an inline image.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `multipart/form-data`.\n\n## Result and side effects\n\nStore an image for use inside an entity's prose. **Multipart/form-data**: a single `file` part, non-empty and ≤ 4 MB, of type `image/png`, `image/jpeg`, `image/gif`, or `image/webp` — any other type is rejected with 422. The image is org-scoped and belongs to no entity; write the returned `url` into a Docket semantic figure or an existing Markdown image. Requires `contribute`.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Opaque document-image id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning org id (the tenant key)."},"url":{"type":"string","description":"App-relative URL the bytes are served inline from. This is the value written into the Markdown as `![alt](url)`."},"mimeType":{"type":"string","enum":["image/png","image/jpeg","image/gif","image/webp"],"description":"Validated raster MIME type the bytes are served as."},"byteSize":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Size in bytes of the stored image."},"fileName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Original filename when the upload carried one; used as the `alt` fallback."},"createdAt":{"type":"string","description":"Creation timestamp (ISO 8601)."}},"required":["id","organizationId","url","mimeType","byteSize","fileName","createdAt"],"description":"An image stored for use inside prose."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","url":"example","mimeType":"image/png","byteSize":0,"fileName":"example","createdAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"File bytes sent as a multipart form part."}},"required":["file"]},"example":{"file":"example.txt"}}},"description":"Fields used to upload an inline image. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/images/{imageId}":{"get":{"operationId":"getV1OrgsByOrgIdImagesByImageId","summary":"Serve an inline image","tags":["Orgs"],"description":"## Purpose\n\nServe an inline image.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nStream the bytes of a stored inline image. Returns raw image bytes, served inline with the MIME type recorded at upload, so this URL can be used directly as an `<img src>`. Responses are immutable and privately cacheable. An unknown id, or one belonging to another organization, returns 404. Requires org membership (`view`).\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdImagesByImageId","summary":"Delete an inline image","tags":["Orgs"],"description":"## Purpose\n\nDelete an inline image.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDelete a stored inline image and its bytes once no saved prose references it. A live reference returns 409 with the stable `image_in_use` code; the check repairs a missing derived reference before it refuses deletion. An unknown id, or one belonging to another organization, returns 404. Requires `contribute`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Id of the removed image."},"removed":{"type":"boolean","const":true,"description":"Always `true`; confirms the image and its bytes are gone."}},"required":["id","removed"],"description":"A removed-image acknowledgement."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removed":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter2b15e509"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/updates":{"get":{"operationId":"getV1OrgsByOrgIdUpdates","summary":"List updates","tags":["Updates"],"description":"## Purpose\n\nList updates.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nList the status updates posted on one subject. Results use `createdAt DESC, id DESC`, default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Reuse a cursor only with the same `subjectType` and `subjectId`. Scoped to the caller's org.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UpdateOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectType":"project","subjectId":"example","body":"example","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdUpdates","summary":"Post an update","tags":["Updates"],"description":"## Purpose\n\nPost an update.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPost a status update on a project, program, or initiative and return the created `UpdateOut`. Docket records the verified performer as the author and retains the authorizing actor separately; the request body cannot name another author. `body` is required and `health` is optional.\n\nWhen `health` is supplied, Docket also sets the resource's current health to the same value. Both changes succeed together or neither change is stored. An update without `health` leaves the resource's current health unchanged. The operation adds a `status_change` event to organization activity.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"subjectType":{"type":"string","const":"project","description":"Subject type for this record."},"subjectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"health":{"$ref":"#/components/schemas/Shareda9ca2c65","description":"Health for this record."},"body":{"type":"string","minLength":1,"description":"The update narrative (markdown). Required, non-empty."}},"required":["subjectType","subjectId","body"],"additionalProperties":false},{"type":"object","properties":{"subjectType":{"type":"string","const":"program","description":"Subject type for this record."},"subjectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},"health":{"$ref":"#/components/schemas/Shareda9ca2c65","description":"Health for this record."},"body":{"type":"string","minLength":1,"description":"The update narrative (markdown). Required, non-empty."}},"required":["subjectType","subjectId","body"],"additionalProperties":false},{"type":"object","properties":{"subjectType":{"type":"string","const":"initiative","description":"Subject type for this record."},"subjectId":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"health":{"$ref":"#/components/schemas/Shareda9ca2c65","description":"Health for this record."},"body":{"type":"string","minLength":1,"description":"The update narrative (markdown). Required, non-empty."}},"required":["subjectType","subjectId","body"],"additionalProperties":false}],"description":"Post a status update on a subject."},"example":{"subjectType":"project","subjectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","body":"example"}}},"description":"Fields used to post an update. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/updates/{id}":{"get":{"operationId":"getV1OrgsByOrgIdUpdatesById","summary":"Get an update","tags":["Updates"],"description":"## Purpose\n\nGet an update.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch one status update by id. The org filter is the tenant-isolation boundary: an id belonging to another org reads as 404 (`Update not found`) rather than leaking its existence. Requires org membership (`view`). Returns `UpdateOut`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdUpdatesById","summary":"Delete an update","tags":["Updates"],"description":"## Purpose\n\nDelete an update.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDelete a status update. Requires `contribute` plus an authorship gate: a `contribute`-capable member may only delete their OWN update unless they hold `manage` (non-author without `manage` → 403). A cross-org/unknown id 404s.\n\nAfter deletion, Docket recalculates the subject's health from its newest remaining health-bearing update. If none remains, Docket clears the health value. The deletion and health change succeed together or fail together. Returns an `UpdateRemoved` acknowledgement.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Id of the deleted update."},"removed":{"type":"boolean","const":true,"description":"Always `true`; confirms deletion. The subject’s health was recomputed from remaining updates."}},"required":["id","removed"],"description":"A deleted-update acknowledgement."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removed":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/saved-views":{"get":{"operationId":"getV1OrgsByOrgIdSavedViews","summary":"List saved views","tags":["Views"],"description":"## Purpose\n\nList saved views.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList the saved views visible to the caller. Organization views are visible to every member, Team views require current Team membership, and personal views are owner-only. Results use stable saved-view-id order, default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Visibility is applied before pagination.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/Shared952094e6"},{"$ref":"#/components/schemas/Shared09e5e877"},{"$ref":"#/components/schemas/Shared2346310a"},{"$ref":"#/components/schemas/Sharede2a99c82"}]},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","scope":"personal","ownerActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","position":"01ARZ3NDEKTSV4RRFFQ69G5FAV","schemaVersion":2,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","filters":[{"field":"example","op":"eq","value":null}],"grouping":{"by":"example"},"sort":[{"field":"example","order":"asc"}],"target":"task","context":{"kind":"organization"},"definition":{"version":2,"target":"task","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdSavedViews","summary":"Create a saved view","tags":["Views"],"description":"## Purpose\n\nCreate a saved view.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a saved view. Requires `contribute`. Only `name` is required; the rest default sensibly: `scope` defaults to `personal`, `ownerActorId` defaults to the calling actor, and `filters`/`sort` default to empty arrays (an unfiltered, unsorted view). `grouping` is optional (null = a flat list). `organizationId` is always derived from the path, never the body. Set `scope` to `team` (with `teamId`) or `organization` to share the view beyond yourself. Returns the created `SavedViewOut`.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdSavedViewsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"oneOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"scope":{"default":"personal","type":"string","enum":["personal","team","organization"],"description":"Allowed scope value."},"ownerActorId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"position":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)*$","description":"Stable position in the current ordering."},"schemaVersion":{"default":2,"type":"number","const":2,"description":"Schema version for this record."},"target":{"type":"string","const":"task","description":"Target for this record."},"context":{"$ref":"#/components/schemas/Shared76e9bac1","description":"Context for this record."},"definition":{"$ref":"#/components/schemas/Shared65317ac9","description":"Definition for this record."}},"required":["name","position","target","context","definition"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"scope":{"default":"personal","type":"string","enum":["personal","team","organization"],"description":"Allowed scope value."},"ownerActorId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"position":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)*$","description":"Stable position in the current ordering."},"schemaVersion":{"default":2,"type":"number","const":2,"description":"Schema version for this record."},"target":{"type":"string","const":"project","description":"Target for this record."},"context":{"$ref":"#/components/schemas/Sharedf7751fda","description":"Context for this record."},"definition":{"$ref":"#/components/schemas/Shared6ce632c7","description":"Definition for this record."}},"required":["name","position","target","context","definition"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"scope":{"default":"personal","type":"string","enum":["personal","team","organization"],"description":"Allowed scope value."},"ownerActorId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"position":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)*$","description":"Stable position in the current ordering."},"schemaVersion":{"default":2,"type":"number","const":2,"description":"Schema version for this record."},"target":{"type":"string","const":"program","description":"Target for this record."},"context":{"$ref":"#/components/schemas/Sharedf7a17f07","description":"Context for this record."},"definition":{"$ref":"#/components/schemas/Sharedc83deef0","description":"Definition for this record."}},"required":["name","position","target","context","definition"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"scope":{"default":"personal","type":"string","enum":["personal","team","organization"],"description":"Allowed scope value."},"ownerActorId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"position":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)*$","description":"Stable position in the current ordering."},"schemaVersion":{"default":2,"type":"number","const":2,"description":"Schema version for this record."},"target":{"type":"string","const":"initiative","description":"Target for this record."},"context":{"$ref":"#/components/schemas/Sharedf7a17f07","description":"Context for this record."},"definition":{"$ref":"#/components/schemas/Sharedcaa5cf08","description":"Definition for this record."}},"required":["name","position","target","context","definition"],"additionalProperties":false}]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human label for the view. Required, non-empty."},"scope":{"description":"Sharing scope: 'personal' | 'team' | 'organization'. Defaults to 'personal'.","type":"string","enum":["personal","team","organization"]},"ownerActorId":{"description":"Owning actor. Defaults to the calling actor. Mainly meaningful for a `personal` view.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"teamId":{"description":"Team the view belongs to; relevant when `scope` is `team`. Must be a team in the caller’s org.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"filters":{"description":"Filter predicates (ANDed). Defaults to an empty array (no filtering).","type":"array","items":{"$ref":"#/components/schemas/ViewFilter"}},"grouping":{"description":"Grouping config, or null for a flat list. Defaults to null.","anyOf":[{"$ref":"#/components/schemas/ViewGrouping"},{"type":"null"}]},"sort":{"description":"Ordered sort terms applied in sequence. Defaults to an empty array (no explicit sort).","type":"array","items":{"$ref":"#/components/schemas/ViewSort"}}},"required":["name"],"additionalProperties":false}]},"example":{"name":"example","position":"01ARZ3NDEKTSV4RRFFQ69G5FAV","target":"task","context":{"kind":"organization"},"definition":{"version":2,"target":"task","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}}}},"description":"Fields used to create a saved view. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/saved-views/{id}":{"get":{"operationId":"getV1OrgsByOrgIdSavedViewsById","summary":"Get a saved view","tags":["Views"],"description":"## Purpose\n\nGet a saved view.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch one saved view by id, including its full `filters`, `grouping`, and `sort` config so a client can hydrate the view. The lookup is org-scoped, so a cross-org or unknown id 404s (`Saved view not found`). Requires org membership (`view`). Returns `SavedViewOut`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdSavedViewsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdSavedViewsById","summary":"Update a saved view","tags":["Views"],"description":"## Purpose\n\nUpdate a saved view.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPartially update a saved view; only fields present in the body change (`name`, `scope`, `ownerActorId`, `teamId`, `filters`, `grouping`, `sort`). Requires `contribute`. `filters` and `sort` are replaced wholesale when supplied (not merged); `grouping` may be set to null to flatten the view; re-scoping (`scope`/`ownerActorId`/`teamId`) changes who the view is shared with. The lookup is org-scoped, so a cross-org/unknown id 404s. Returns the updated `SavedViewOut`.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdSavedViewsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"scope":{"type":"string","enum":["personal","team","organization"],"description":"Allowed scope value."},"ownerActorId":{"$ref":"#/components/schemas/Sharedd046f359","description":"Identifies the referenced owner actor."},"teamId":{"$ref":"#/components/schemas/Shared92c7d287","description":"Identifies the referenced team."},"context":{"anyOf":[{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"organization","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Sharedcc936be7"},{"$ref":"#/components/schemas/Shared46493a42"},{"$ref":"#/components/schemas/Sharedfc2dce66"},{"$ref":"#/components/schemas/Shared37f7c188"}]},{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"organization","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"$ref":"#/components/schemas/Sharedcc936be7"},{"$ref":"#/components/schemas/Sharedfc2dce66"},{"$ref":"#/components/schemas/Shared37f7c188"}]},{"$ref":"#/components/schemas/Shared0db477e6"},{"$ref":"#/components/schemas/Shared0db477e6"}],"description":"Context for this record."},"position":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)*$","description":"Stable position in the current ordering."},"definition":{"$ref":"#/components/schemas/Shared4f1f10e9","description":"Definition for this record."}},"additionalProperties":false},{"type":"object","properties":{"name":{"description":"New name (non-empty). Omit to leave unchanged.","type":"string","minLength":1},"scope":{"description":"New sharing scope: 'personal' | 'team' | 'organization'. Omit to leave unchanged.","type":"string","enum":["personal","team","organization"]},"ownerActorId":{"description":"Re-owner the view, or null to clear. Omit to leave unchanged.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}]},"teamId":{"description":"Re-scope to this team, or null to clear. Omit to leave unchanged.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}]},"filters":{"description":"Replacement filter set (replaces wholesale, not merged). Omit to leave unchanged.","type":"array","items":{"$ref":"#/components/schemas/ViewFilter"}},"grouping":{"description":"New grouping config, or null to flatten. Omit to leave unchanged.","anyOf":[{"$ref":"#/components/schemas/ViewGrouping"},{"type":"null"}]},"sort":{"description":"Replacement sort terms (replaces wholesale). Omit to leave unchanged.","type":"array","items":{"$ref":"#/components/schemas/ViewSort"}}},"additionalProperties":false}]},"example":{}}},"description":"Fields used to update a saved view. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdSavedViewsById","summary":"Delete a saved view","tags":["Views"],"description":"## Purpose\n\nDelete a saved view.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDelete a saved view permanently. Requires `contribute`. A hidden, cross-workspace, or unknown id returns 404. The response contains the deleted `SavedViewOut` so the client can confirm exactly what was removed.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdSavedViewsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/work-views/query":{"post":{"operationId":"postV1OrgsByOrgIdWorkViewsQuery","summary":"Query a typed work view","tags":["Views"],"description":"## Purpose\n\nQuery a typed work view.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nExecute one bounded, permission-scoped Task, Project, Program, or Initiative view.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"rows":{"type":"array","items":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"manualRank":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)*$","description":"Manual rank for this record."},"isContext":{"default":false,"type":"boolean","description":"Whether context."},"target":{"type":"string","const":"task","description":"Target for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"title":{"type":"string","description":"Human-readable title."},"description":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Longer plain-language description."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"priority":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."},"display":{"$ref":"#/components/schemas/Shared7a521547","description":"Display for this record."},"assignee":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}],"description":"Assignee for this record."},"assigneeActor":{"default":null,"anyOf":[{"$ref":"#/components/schemas/Sharedbd68f777"},{"type":"null"}],"description":"Assignee actor for this record."},"sourcePeople":{"$ref":"#/components/schemas/Sharedf273c5a8","description":"Source people for this record."},"delegate":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}],"description":"Delegate for this record."},"team":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"project":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},{"type":"null"}],"description":"Project for this record."},"program":{"$ref":"#/components/schemas/Shared84ccdaea","description":"Program for this record."},"cycle":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Cycle — a time-boxed iteration (sprint) Tasks can be scheduled into."},{"type":"null"}],"description":"Cycle for this record."},"milestone":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Milestone — a dated checkpoint within a Project."},{"type":"null"}],"description":"Milestone for this record."},"parent":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"description":"Parent for this record."},"labels":{"$ref":"#/components/schemas/Sharedd0d1e01a","description":"Labels for this record."},"creator":{"$ref":"#/components/schemas/Shared0ae9de27","description":"Creator for this record."},"startDate":{"$ref":"#/components/schemas/Shared34d5540a","description":"Start date in YYYY-MM-DD format."},"dueDate":{"anyOf":[{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},{"type":"null"}],"description":"Due date in YYYY-MM-DD format."},"createdAt":{"$ref":"#/components/schemas/Shared5a69cae8","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."},"estimate":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Estimate for this record."},"estimateMinutes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Estimate minutes for this record."},"blocked":{"type":"boolean","description":"Blocked for this record."},"blocking":{"type":"boolean","description":"Blocking for this record."},"unfiled":{"type":"boolean","description":"Unfiled for this record."},"archived":{"type":"boolean","description":"Archived for this record."}},"required":["organizationId","manualRank","target","id","title","status","priority","assignee","delegate","team","project","program","cycle","milestone","parent","labels","creator","startDate","dueDate","createdAt","updatedAt","estimate","estimateMinutes","blocked","blocking","unfiled","archived"],"additionalProperties":false},"description":"Rows, in order."},"groups":{"$ref":"#/components/schemas/Shared707d5f9a","description":"Groups for this record."},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Total count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."},"queryFingerprint":{"type":"string","pattern":"^sha256:[0-9a-f]{16,64}$","description":"Query fingerprint for this record."}},"required":["target","rows","groups","totalCount","nextCursor","queryFingerprint"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"project","description":"Target for this record."},"rows":{"type":"array","items":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"manualRank":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)*$","description":"Manual rank for this record."},"isContext":{"default":false,"type":"boolean","description":"Whether context."},"target":{"type":"string","const":"project","description":"Target for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"name":{"type":"string","description":"Human-readable name."},"summary":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Short plain-language summary."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"priority":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."},"health":{"$ref":"#/components/schemas/Shared87b03b06","description":"Health for this record."},"lead":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}],"description":"Lead for this record."},"leadActor":{"default":null,"anyOf":[{"$ref":"#/components/schemas/Sharedbd68f777"},{"type":"null"}],"description":"Lead actor for this record."},"sourcePeople":{"$ref":"#/components/schemas/Sharedf273c5a8","description":"Source people for this record."},"display":{"$ref":"#/components/schemas/Shared7a521547","description":"Display for this record."},"members":{"type":"array","items":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"description":"Members, in order."},"teams":{"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"description":"Teams, in order."},"program":{"$ref":"#/components/schemas/Shared84ccdaea","description":"Program for this record."},"initiatives":{"$ref":"#/components/schemas/Sharedcef1c935","description":"Initiatives for this record."},"labels":{"$ref":"#/components/schemas/Sharedd0d1e01a","description":"Labels for this record."},"startDate":{"$ref":"#/components/schemas/Shared34d5540a","description":"Start date in YYYY-MM-DD format."},"targetDate":{"$ref":"#/components/schemas/Shared134dc59f","description":"Target date in YYYY-MM-DD format."},"targetTimeframe":{"default":null,"anyOf":[{"type":"object","properties":{"key":{"type":"string","minLength":1,"description":"Stable machine-readable key."},"label":{"type":"string","minLength":1,"description":"Label for this record."}},"required":["key","label"],"additionalProperties":false},{"type":"null"}],"description":"Target timeframe for this record."},"creator":{"$ref":"#/components/schemas/Shared0ae9de27","description":"Creator for this record."},"createdAt":{"$ref":"#/components/schemas/Shared5a69cae8","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."},"progress":{"type":"number","minimum":0,"maximum":1,"description":"Progress for this record."},"taskCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Task count."},"dependencyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Dependency count."},"milestones":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Milestone — a dated checkpoint within a Project."},"name":{"type":"string","description":"Human-readable name."},"targetDate":{"$ref":"#/components/schemas/Shared134dc59f","description":"Target date in YYYY-MM-DD format."}},"required":["id","name","targetDate"],"additionalProperties":false},"description":"Milestones, in order."},"blockedByIds":{"default":[],"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"description":"Blocked by ids, in order."},"blocksIds":{"default":[],"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"description":"Blocks ids, in order."}},"required":["organizationId","manualRank","target","id","name","status","priority","health","lead","members","teams","program","initiatives","labels","startDate","targetDate","creator","createdAt","updatedAt","progress","taskCount","dependencyCount"],"additionalProperties":false},"description":"Rows, in order."},"groups":{"$ref":"#/components/schemas/Shared707d5f9a","description":"Groups for this record."},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Total count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."},"queryFingerprint":{"type":"string","pattern":"^sha256:[0-9a-f]{16,64}$","description":"Query fingerprint for this record."}},"required":["target","rows","groups","totalCount","nextCursor","queryFingerprint"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"program","description":"Target for this record."},"rows":{"type":"array","items":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"manualRank":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)*$","description":"Manual rank for this record."},"isContext":{"default":false,"type":"boolean","description":"Whether context."},"target":{"type":"string","const":"program","description":"Target for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},"name":{"type":"string","description":"Human-readable name."},"summary":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Short plain-language summary."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"health":{"$ref":"#/components/schemas/Shared87b03b06","description":"Health for this record."},"owner":{"$ref":"#/components/schemas/Sharedec05763a","description":"Owner for this record."},"ownerActor":{"$ref":"#/components/schemas/Sharedc6294bdd","description":"Owner actor for this record."},"display":{"$ref":"#/components/schemas/Shared7a521547","description":"Display for this record."},"initiatives":{"$ref":"#/components/schemas/Sharedcef1c935","description":"Initiatives for this record."},"labels":{"$ref":"#/components/schemas/Sharedd0d1e01a","description":"Labels for this record."},"visibility":{"$ref":"#/components/schemas/Shareddbc0dc97","description":"Visibility for this record."},"creator":{"$ref":"#/components/schemas/Shared0ae9de27","description":"Creator for this record."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."},"projectCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Project count."},"taskCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Task count."},"activity":{"type":"object","properties":{"weeks":{"type":"array","prefixItems":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"Weeks, in order."},"latestOccurredAt":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Latest occurred time as an ISO 8601 instant."}},"required":["weeks","latestOccurredAt"],"additionalProperties":false,"description":"Activity for this record."}},"required":["organizationId","manualRank","target","id","name","status","health","owner","initiatives","labels","visibility","creator","updatedAt","projectCount","taskCount","activity"],"additionalProperties":false},"description":"Rows, in order."},"groups":{"$ref":"#/components/schemas/Shared707d5f9a","description":"Groups for this record."},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Total count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."},"queryFingerprint":{"type":"string","pattern":"^sha256:[0-9a-f]{16,64}$","description":"Query fingerprint for this record."}},"required":["target","rows","groups","totalCount","nextCursor","queryFingerprint"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"initiative","description":"Target for this record."},"rows":{"type":"array","items":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"workTypeAssignedAt":{"$ref":"#/components/schemas/Shared33547ecc","description":"Work type assigned time as an ISO 8601 instant."},"workTypeAssignmentSource":{"type":"string","enum":["created","migration_baseline","changed","updated"],"description":"Allowed work type assignment source value."},"workTemplate":{"$ref":"#/components/schemas/Shared8f28f263","description":"Work template for this record."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"manualRank":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)*$","description":"Manual rank for this record."},"isContext":{"default":false,"type":"boolean","description":"Whether context."},"target":{"type":"string","const":"initiative","description":"Target for this record."},"id":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"name":{"type":"string","description":"Human-readable name."},"summary":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Short plain-language summary."},"status":{"type":"string","minLength":1,"description":"Current lifecycle state."},"priority":{"type":"string","enum":["none","low","medium","high"],"description":"The Initiative priority; defaults to none."},"health":{"$ref":"#/components/schemas/Shared87b03b06","description":"Health for this record."},"owner":{"$ref":"#/components/schemas/Sharedec05763a","description":"Owner for this record."},"ownerActor":{"$ref":"#/components/schemas/Sharedc6294bdd","description":"Owner actor for this record."},"display":{"$ref":"#/components/schemas/Shared7a521547","description":"Display for this record."},"leadTeam":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"description":"Lead team for this record."},"labels":{"$ref":"#/components/schemas/Sharedd0d1e01a","description":"Labels for this record."},"targetDate":{"$ref":"#/components/schemas/Shared134dc59f","description":"Target date in YYYY-MM-DD format."},"updateCadence":{"type":"string","enum":["weekly","biweekly","monthly","quarterly","none"],"description":"The update interval used to determine whether an active Initiative is stale."},"latestUpdate":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Latest update for this record."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."},"parent":{"anyOf":[{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},{"type":"null"}],"description":"Parent for this record."},"parentLinkId":{"default":null,"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"A 26-char Crockford base-32 ULID matching `^[0-9A-HJKMNP-TV-Z]{26}$`.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},{"type":"null"}],"description":"Identifies the referenced parent link."},"organization":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"contributingProjects":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"name":{"type":"string","description":"Human-readable name."},"startDate":{"$ref":"#/components/schemas/Shared34d5540a","description":"Start date in YYYY-MM-DD format."},"targetDate":{"$ref":"#/components/schemas/Shared134dc59f","description":"Target date in YYYY-MM-DD format."},"progress":{"type":"number","minimum":0,"maximum":1,"description":"Progress for this record."}},"required":["id","name","startDate","targetDate","progress"],"additionalProperties":false},"description":"Contributing projects, in order."}},"required":["organizationId","manualRank","target","id","name","status","priority","health","owner","leadTeam","labels","targetDate","updateCadence","latestUpdate","updatedAt","parent","organization"],"additionalProperties":false},"description":"Rows, in order."},"groups":{"$ref":"#/components/schemas/Shared707d5f9a","description":"Groups for this record."},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Total count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."},"queryFingerprint":{"type":"string","pattern":"^sha256:[0-9a-f]{16,64}$","description":"Query fingerprint for this record."}},"required":["target","rows","groups","totalCount","nextCursor","queryFingerprint"],"additionalProperties":false}]},"example":{"target":"task","rows":[{"organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","manualRank":"01ARZ3NDEKTSV4RRFFQ69G5FAV","target":"task","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","status":"example","priority":"none","assignee":"01ARZ3NDEKTSV4RRFFQ69G5FAV","delegate":"01ARZ3NDEKTSV4RRFFQ69G5FAV","team":"01ARZ3NDEKTSV4RRFFQ69G5FAV","project":"01ARZ3NDEKTSV4RRFFQ69G5FAV","program":"01ARZ3NDEKTSV4RRFFQ69G5FAV","cycle":"01ARZ3NDEKTSV4RRFFQ69G5FAV","milestone":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parent":"01ARZ3NDEKTSV4RRFFQ69G5FAV","labels":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"creator":"01ARZ3NDEKTSV4RRFFQ69G5FAV","startDate":"2026-09-19","dueDate":"2026-09-19","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","estimate":0,"estimateMinutes":0,"blocked":false,"blocking":false,"unfiled":false,"archived":false}],"groups":[{"path":["example"],"key":"example","label":"example","count":0}],"totalCount":0,"nextCursor":"example","queryFingerprint":"sha256:0123456789abcdef"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"definition":{"$ref":"#/components/schemas/Shared65317ac9","description":"Definition for this record."},"temporaryFilter":{"anyOf":[{"$ref":"#/components/schemas/__schema1"},{"type":"null"}],"description":"Temporary filter for this record."},"context":{"$ref":"#/components/schemas/Shareda30c18f9","description":"Context for this record."},"activeOnly":{"type":"boolean","description":"Active only for this record."},"search":{"type":"string","minLength":1,"description":"Search for this record."},"groupPath":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Group path, in order."},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque pagination cursor."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Limit for this record."}},"required":["target","definition"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"project","description":"Target for this record."},"definition":{"$ref":"#/components/schemas/Shared344adc9e","description":"Definition for this record."},"temporaryFilter":{"anyOf":[{"$ref":"#/components/schemas/__schema3"},{"type":"null"}],"description":"Temporary filter for this record."},"context":{"$ref":"#/components/schemas/Shared69fa38b2","description":"Context for this record."},"activeOnly":{"type":"boolean","description":"Active only for this record."},"search":{"type":"string","minLength":1,"description":"Search for this record."},"groupPath":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Group path, in order."},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque pagination cursor."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Limit for this record."}},"required":["target","definition"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"program","description":"Target for this record."},"definition":{"$ref":"#/components/schemas/Sharedc43ad426","description":"Definition for this record."},"temporaryFilter":{"anyOf":[{"$ref":"#/components/schemas/__schema5"},{"type":"null"}],"description":"Temporary filter for this record."},"context":{"$ref":"#/components/schemas/Sharedcf76e40f","description":"Context for this record."},"activeOnly":{"type":"boolean","description":"Active only for this record."},"search":{"type":"string","minLength":1,"description":"Search for this record."},"groupPath":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Group path, in order."},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque pagination cursor."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Limit for this record."}},"required":["target","definition"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"initiative","description":"Target for this record."},"definition":{"$ref":"#/components/schemas/Sharedc45e3709","description":"Definition for this record."},"temporaryFilter":{"anyOf":[{"$ref":"#/components/schemas/__schema7"},{"type":"null"}],"description":"Temporary filter for this record."},"context":{"$ref":"#/components/schemas/Sharedcf76e40f","description":"Context for this record."},"activeOnly":{"type":"boolean","description":"Active only for this record."},"search":{"type":"string","minLength":1,"description":"Search for this record."},"groupPath":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Group path, in order."},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque pagination cursor."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Limit for this record."}},"required":["target","definition"],"additionalProperties":false}]},"example":{"target":"task","definition":{"version":2,"target":"task","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}}}},"description":"Fields used to query a typed work view. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/work-views/facets":{"post":{"operationId":"postV1OrgsByOrgIdWorkViewsFacets","summary":"Read active work-view facets","tags":["Views"],"description":"## Purpose\n\nRead active work-view facets.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nReturn bounded target-specific options after authorization, context, and active filters.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"buckets":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/Shared99b2419b"},{"$ref":"#/components/schemas/Shared33a387fe"},{"$ref":"#/components/schemas/Sharedaa700262"},{"type":"object","properties":{"field":{"type":"string","const":"assignee","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared71b211d6","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"delegate","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared71b211d6","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"team","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Sharedbf02098a","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"project","description":"Field the rule evaluates."},"options":{"type":"array","items":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Shared1507ca4b","description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false},"description":"Options, in order."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared1f9936eb"},{"type":"object","properties":{"field":{"type":"string","const":"cycle","description":"Field the rule evaluates."},"options":{"type":"array","items":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Sharedcbbc9868","description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false},"description":"Options, in order."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"milestone","description":"Field the rule evaluates."},"options":{"type":"array","items":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Sharede270a0d5","description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false},"description":"Options, in order."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"parent","description":"Field the rule evaluates."},"options":{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},{"type":"null"}],"description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false},"description":"Options, in order."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared8493c94b"},{"type":"object","properties":{"field":{"type":"string","const":"title","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared10fc91de","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared77897405"},{"$ref":"#/components/schemas/Shared16f90b47"},{"type":"object","properties":{"field":{"type":"string","const":"dueDate","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared944c3a84","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"$ref":"#/components/schemas/Sharedbadcbdea"},{"$ref":"#/components/schemas/Shared75a4a277"},{"type":"object","properties":{"field":{"type":"string","const":"estimate","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared9327199f","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"estimateMinutes","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared9327199f","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"blocked","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared6395ac29","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"blocking","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared6395ac29","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"unfiled","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared6395ac29","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"archived","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared6395ac29","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false}]},"description":"Buckets, in order."},"distinctCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Distinct count."}},"required":["target","buckets","distinctCount"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"project","description":"Target for this record."},"buckets":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/Shared99b2419b"},{"$ref":"#/components/schemas/Shared33a387fe"},{"$ref":"#/components/schemas/Sharedaa700262"},{"$ref":"#/components/schemas/Shared9aa03d77"},{"type":"object","properties":{"field":{"type":"string","const":"lead","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared71b211d6","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"members","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared71b211d6","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"teams","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Sharedbf02098a","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared1f9936eb"},{"$ref":"#/components/schemas/Shareda73c1112"},{"$ref":"#/components/schemas/Shared8493c94b"},{"$ref":"#/components/schemas/Shared16f90b47"},{"$ref":"#/components/schemas/Sharedf74c4e8a"},{"$ref":"#/components/schemas/Shared77897405"},{"$ref":"#/components/schemas/Sharedbadcbdea"},{"$ref":"#/components/schemas/Shared75a4a277"},{"type":"object","properties":{"field":{"type":"string","const":"progress","description":"Field the rule evaluates."},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"number","minimum":0,"maximum":1,"description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false},"description":"Options, in order."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared2018e632"},{"type":"object","properties":{"field":{"type":"string","const":"dependencyCount","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared2a0c6637","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared2899acba"}]},"description":"Buckets, in order."},"distinctCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Distinct count."}},"required":["target","buckets","distinctCount"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"program","description":"Target for this record."},"buckets":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/Shared99b2419b"},{"$ref":"#/components/schemas/Shared33a387fe"},{"$ref":"#/components/schemas/Shared9aa03d77"},{"$ref":"#/components/schemas/Sharedaa8d2720"},{"$ref":"#/components/schemas/Shareda73c1112"},{"$ref":"#/components/schemas/Shared8493c94b"},{"type":"object","properties":{"field":{"type":"string","const":"visibility","description":"Field the rule evaluates."},"options":{"type":"array","items":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Shareddbc0dc97","description":"Visibility for this record."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false},"description":"Options, in order."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared77897405"},{"$ref":"#/components/schemas/Shared75a4a277"},{"type":"object","properties":{"field":{"type":"string","const":"projectCount","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Shared2a0c6637","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared2018e632"},{"$ref":"#/components/schemas/Shared2899acba"}]},"description":"Buckets, in order."},"distinctCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Distinct count."}},"required":["target","buckets","distinctCount"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"initiative","description":"Target for this record."},"buckets":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/Shared99b2419b"},{"$ref":"#/components/schemas/Shared33a387fe"},{"type":"object","properties":{"field":{"type":"string","const":"priority","description":"Field the rule evaluates."},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","enum":["none","low","medium","high"],"description":"The Initiative priority; defaults to none."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false},"description":"Options, in order."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared9aa03d77"},{"$ref":"#/components/schemas/Sharedaa8d2720"},{"type":"object","properties":{"field":{"type":"string","const":"leadTeam","description":"Field the rule evaluates."},"options":{"type":"array","items":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/Shared9c179824","description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false},"description":"Options, in order."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared8493c94b"},{"$ref":"#/components/schemas/Sharedf74c4e8a"},{"type":"object","properties":{"field":{"type":"string","const":"updateCadence","description":"Field the rule evaluates."},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","enum":["weekly","biweekly","monthly","quarterly","none"],"description":"The update interval used to determine whether an active Initiative is stale."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false},"description":"Options, in order."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"latestUpdate","description":"Field the rule evaluates."},"options":{"$ref":"#/components/schemas/Sharedd0568182","description":"Options for this record."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"parent","description":"Field the rule evaluates."},"options":{"type":"array","items":{"type":"object","properties":{"value":{"anyOf":[{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},{"type":"null"}],"description":"Stored or returned value."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false},"description":"Options, in order."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"organization","description":"Field the rule evaluates."},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"label":{"type":"string","description":"Label for this record."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."}},"required":["value","label","count"],"additionalProperties":false},"description":"Options, in order."},"emptyCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Empty count."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page. Omitted at the end."}},"required":["field","options","emptyCount","nextCursor"],"additionalProperties":false},{"$ref":"#/components/schemas/Shared2899acba"}]},"description":"Buckets, in order."},"distinctCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Distinct count."}},"required":["target","buckets","distinctCount"],"additionalProperties":false}]},"example":{"target":"task","buckets":[{"field":"workTypeId","options":[{"value":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","count":0}],"emptyCount":0,"nextCursor":"example"}],"distinctCount":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"fields":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","enum":["workTypeId","status","priority","assignee","delegate","team","project","program","cycle","milestone","parent","labels","title","creator","startDate","dueDate","createdAt","updatedAt","estimate","estimateMinutes","blocked","blocking","unfiled","archived"]},"description":"Fields, in order."},"definition":{"$ref":"#/components/schemas/Shared65317ac9","description":"Definition for this record."},"temporaryFilter":{"anyOf":[{"$ref":"#/components/schemas/__schema1"},{"type":"null"}],"description":"Temporary filter for this record."},"context":{"$ref":"#/components/schemas/Shareda30c18f9","description":"Context for this record."},"search":{"type":"string","minLength":1,"description":"Search for this record."},"cursor":{"type":"string","description":"Opaque pagination cursor."},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100,"description":"Limit for this record."}},"required":["target","fields","definition"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"project","description":"Target for this record."},"fields":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","enum":["workTypeId","status","priority","health","lead","members","teams","program","initiatives","labels","startDate","targetDate","creator","createdAt","updatedAt","progress","taskCount","dependencyCount","name"]},"description":"Fields, in order."},"definition":{"$ref":"#/components/schemas/Shared344adc9e","description":"Definition for this record."},"temporaryFilter":{"anyOf":[{"$ref":"#/components/schemas/__schema3"},{"type":"null"}],"description":"Temporary filter for this record."},"context":{"$ref":"#/components/schemas/Shared69fa38b2","description":"Context for this record."},"search":{"type":"string","minLength":1,"description":"Search for this record."},"cursor":{"type":"string","description":"Opaque pagination cursor."},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100,"description":"Limit for this record."}},"required":["target","fields","definition"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"program","description":"Target for this record."},"fields":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","enum":["workTypeId","status","health","owner","initiatives","labels","visibility","creator","updatedAt","projectCount","taskCount","name"]},"description":"Fields, in order."},"definition":{"$ref":"#/components/schemas/Sharedc43ad426","description":"Definition for this record."},"temporaryFilter":{"anyOf":[{"$ref":"#/components/schemas/__schema5"},{"type":"null"}],"description":"Temporary filter for this record."},"context":{"$ref":"#/components/schemas/Sharedcf76e40f","description":"Context for this record."},"search":{"type":"string","minLength":1,"description":"Search for this record."},"cursor":{"type":"string","description":"Opaque pagination cursor."},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100,"description":"Limit for this record."}},"required":["target","fields","definition"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"initiative","description":"Target for this record."},"fields":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","enum":["workTypeId","status","priority","health","owner","leadTeam","labels","targetDate","updateCadence","latestUpdate","parent","organization","name"]},"description":"Fields, in order."},"definition":{"$ref":"#/components/schemas/Sharedc45e3709","description":"Definition for this record."},"temporaryFilter":{"anyOf":[{"$ref":"#/components/schemas/__schema7"},{"type":"null"}],"description":"Temporary filter for this record."},"context":{"$ref":"#/components/schemas/Sharedcf76e40f","description":"Context for this record."},"search":{"type":"string","minLength":1,"description":"Search for this record."},"cursor":{"type":"string","description":"Opaque pagination cursor."},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100,"description":"Limit for this record."}},"required":["target","fields","definition"],"additionalProperties":false}]},"example":{"target":"task","fields":["workTypeId"],"definition":{"version":2,"target":"task","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}}}},"description":"Fields used to read active work-view facets. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/work-views/order":{"patch":{"operationId":"patchV1OrgsByOrgIdWorkViewsOrder","summary":"Reorder a work-view item","tags":["Views"],"description":"## Purpose\n\nReorder a work-view item.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPersist contextual manual order and apply a validated mutable group property change.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"type":"object","properties":{"target":{"type":"string","enum":["task","project","program","initiative"],"description":"Allowed target value."},"itemId":{"type":"string","description":"Identifies the referenced item."},"rank":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)*$","description":"Rank for this record."}},"required":["target","itemId","rank"],"additionalProperties":false},"example":{"target":"task","itemId":"example","rank":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"anyOf":[{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"context":{"$ref":"#/components/schemas/Shareda30c18f9","description":"Context for this record."},"groupField":{"type":"string","const":"status","description":"Group field for this record."},"groupValue":{"type":"string","minLength":1,"description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared6bacd60a","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared87349ee1","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"context":{"$ref":"#/components/schemas/Shareda30c18f9","description":"Context for this record."},"groupField":{"type":"string","const":"priority","description":"Group field for this record."},"groupValue":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."},"beforeId":{"$ref":"#/components/schemas/Shared6bacd60a","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared87349ee1","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"context":{"$ref":"#/components/schemas/Shareda30c18f9","description":"Context for this record."},"groupField":{"type":"string","const":"assignee","description":"Group field for this record."},"groupValue":{"$ref":"#/components/schemas/Sharedd36e384e","description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared6bacd60a","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared87349ee1","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"context":{"$ref":"#/components/schemas/Shareda30c18f9","description":"Context for this record."},"groupField":{"type":"string","const":"delegate","description":"Group field for this record."},"groupValue":{"$ref":"#/components/schemas/Sharedd36e384e","description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared6bacd60a","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared87349ee1","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"context":{"$ref":"#/components/schemas/Shareda30c18f9","description":"Context for this record."},"groupField":{"type":"string","const":"team","description":"Group field for this record."},"groupValue":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"beforeId":{"$ref":"#/components/schemas/Shared6bacd60a","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared87349ee1","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"context":{"$ref":"#/components/schemas/Shareda30c18f9","description":"Context for this record."},"groupField":{"type":"string","const":"project","description":"Group field for this record."},"groupValue":{"anyOf":[{"$ref":"#/components/schemas/Shared128f0ae3"},{"type":"null"}],"description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared6bacd60a","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared87349ee1","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"context":{"$ref":"#/components/schemas/Shareda30c18f9","description":"Context for this record."},"groupField":{"type":"string","const":"program","description":"Group field for this record."},"groupValue":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},{"type":"null"}]},{"type":"null"}],"description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared6bacd60a","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared87349ee1","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"context":{"$ref":"#/components/schemas/Shareda30c18f9","description":"Context for this record."},"groupField":{"type":"string","const":"cycle","description":"Group field for this record."},"groupValue":{"anyOf":[{"$ref":"#/components/schemas/Shared10871fb8"},{"type":"null"}],"description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared6bacd60a","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared87349ee1","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"context":{"$ref":"#/components/schemas/Shareda30c18f9","description":"Context for this record."},"groupField":{"type":"string","const":"milestone","description":"Group field for this record."},"groupValue":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Milestone — a dated checkpoint within a Project."},{"type":"null"}]},{"type":"null"}],"description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared6bacd60a","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared87349ee1","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"context":{"$ref":"#/components/schemas/Shareda30c18f9","description":"Context for this record."},"groupField":{"type":"string","const":"labels","description":"Group field for this record."},"sourceGroupValue":{"$ref":"#/components/schemas/Shared9fafbd3e","description":"Source group value for this record."},"groupValue":{"$ref":"#/components/schemas/Sharedcb297b4d","description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared6bacd60a","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared87349ee1","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","sourceGroupValue","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"task","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Task — the atomic unit of work, with status, priority, assignee, and dependencies."},"context":{"$ref":"#/components/schemas/Shareda30c18f9","description":"Context for this record."},"groupField":{"type":"null","description":"Group field for this record."},"groupValue":{"type":"null","description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared6bacd60a","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared87349ee1","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false}]},{"anyOf":[{"type":"object","properties":{"target":{"type":"string","const":"project","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"context":{"$ref":"#/components/schemas/Shared69fa38b2","description":"Context for this record."},"groupField":{"type":"string","const":"status","description":"Group field for this record."},"groupValue":{"type":"string","minLength":1,"description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared9ab12bb2","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Sharedfffa8b49","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"project","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"context":{"$ref":"#/components/schemas/Shared69fa38b2","description":"Context for this record."},"groupField":{"type":"string","const":"priority","description":"Group field for this record."},"groupValue":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."},"beforeId":{"$ref":"#/components/schemas/Shared9ab12bb2","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Sharedfffa8b49","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"project","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"context":{"$ref":"#/components/schemas/Shared69fa38b2","description":"Context for this record."},"groupField":{"type":"string","const":"lead","description":"Group field for this record."},"groupValue":{"$ref":"#/components/schemas/Sharedd36e384e","description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared9ab12bb2","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Sharedfffa8b49","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"project","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"context":{"$ref":"#/components/schemas/Shared69fa38b2","description":"Context for this record."},"groupField":{"type":"string","const":"teams","description":"Group field for this record."},"sourceGroupValue":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"description":"Source group value for this record."},"groupValue":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"type":"null"}],"description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared9ab12bb2","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Sharedfffa8b49","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","sourceGroupValue","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"project","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"context":{"$ref":"#/components/schemas/Shared69fa38b2","description":"Context for this record."},"groupField":{"type":"string","const":"labels","description":"Group field for this record."},"sourceGroupValue":{"$ref":"#/components/schemas/Shared9fafbd3e","description":"Source group value for this record."},"groupValue":{"$ref":"#/components/schemas/Sharedcb297b4d","description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared9ab12bb2","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Sharedfffa8b49","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","sourceGroupValue","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"project","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"context":{"$ref":"#/components/schemas/Shared69fa38b2","description":"Context for this record."},"groupField":{"type":"null","description":"Group field for this record."},"groupValue":{"type":"null","description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared9ab12bb2","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Sharedfffa8b49","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false}]},{"anyOf":[{"type":"object","properties":{"target":{"type":"string","const":"program","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},"context":{"$ref":"#/components/schemas/Sharedcf76e40f","description":"Context for this record."},"groupField":{"type":"string","const":"status","description":"Group field for this record."},"groupValue":{"type":"string","minLength":1,"description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared68bd0e4d","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared49bcf214","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"program","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},"context":{"$ref":"#/components/schemas/Sharedcf76e40f","description":"Context for this record."},"groupField":{"type":"string","const":"owner","description":"Group field for this record."},"groupValue":{"$ref":"#/components/schemas/Sharedd36e384e","description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared68bd0e4d","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared49bcf214","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"program","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},"context":{"$ref":"#/components/schemas/Sharedcf76e40f","description":"Context for this record."},"groupField":{"type":"string","const":"labels","description":"Group field for this record."},"sourceGroupValue":{"$ref":"#/components/schemas/Shared9fafbd3e","description":"Source group value for this record."},"groupValue":{"$ref":"#/components/schemas/Sharedcb297b4d","description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared68bd0e4d","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared49bcf214","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","sourceGroupValue","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"program","description":"Target for this record."},"itemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Program — a mid-altitude grouping of related Projects."},"context":{"$ref":"#/components/schemas/Sharedcf76e40f","description":"Context for this record."},"groupField":{"type":"null","description":"Group field for this record."},"groupValue":{"type":"null","description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared68bd0e4d","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared49bcf214","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false}]},{"anyOf":[{"type":"object","properties":{"target":{"type":"string","const":"initiative","description":"Target for this record."},"itemId":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"context":{"$ref":"#/components/schemas/Sharedcf76e40f","description":"Context for this record."},"groupField":{"type":"string","const":"status","description":"Group field for this record."},"groupValue":{"type":"string","minLength":1,"description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared684303ad","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared6edfa874","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"initiative","description":"Target for this record."},"itemId":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"context":{"$ref":"#/components/schemas/Sharedcf76e40f","description":"Context for this record."},"groupField":{"type":"string","const":"priority","description":"Group field for this record."},"groupValue":{"type":"string","enum":["none","low","medium","high"],"description":"The Initiative priority; defaults to none."},"beforeId":{"$ref":"#/components/schemas/Shared684303ad","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared6edfa874","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"initiative","description":"Target for this record."},"itemId":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"context":{"$ref":"#/components/schemas/Sharedcf76e40f","description":"Context for this record."},"groupField":{"type":"string","const":"owner","description":"Group field for this record."},"groupValue":{"$ref":"#/components/schemas/Sharedd36e384e","description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared684303ad","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared6edfa874","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"initiative","description":"Target for this record."},"itemId":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"context":{"$ref":"#/components/schemas/Sharedcf76e40f","description":"Context for this record."},"groupField":{"type":"string","const":"leadTeam","description":"Group field for this record."},"groupValue":{"anyOf":[{"$ref":"#/components/schemas/Shared086f9a64"},{"type":"null"}],"description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared684303ad","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared6edfa874","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"initiative","description":"Target for this record."},"itemId":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"context":{"$ref":"#/components/schemas/Sharedcf76e40f","description":"Context for this record."},"groupField":{"type":"string","const":"labels","description":"Group field for this record."},"sourceGroupValue":{"$ref":"#/components/schemas/Shared9fafbd3e","description":"Source group value for this record."},"groupValue":{"$ref":"#/components/schemas/Sharedcb297b4d","description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared684303ad","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared6edfa874","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","sourceGroupValue","groupValue","beforeId","afterId"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"initiative","description":"Target for this record."},"itemId":{"$ref":"#/components/schemas/Sharede94ea940","description":"The stable identifier for this resource."},"context":{"$ref":"#/components/schemas/Sharedcf76e40f","description":"Context for this record."},"groupField":{"type":"null","description":"Group field for this record."},"groupValue":{"type":"null","description":"Group value for this record."},"beforeId":{"$ref":"#/components/schemas/Shared684303ad","description":"Identifies the referenced before."},"afterId":{"$ref":"#/components/schemas/Shared6edfa874","description":"Identifies the referenced after."}},"required":["target","itemId","groupField","groupValue","beforeId","afterId"],"additionalProperties":false}]}]},"example":{"target":"task","itemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","groupField":"status","groupValue":"example","beforeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","afterId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to reorder a work-view item. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/work-views/defaults/{target}":{"get":{"operationId":"getV1OrgsByOrgIdWorkViewsDefaultsByTarget","summary":"Read an organization work-view default","tags":["Views"],"description":"## Purpose\n\nRead an organization work-view default.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRead the workspace-owned default definition for one planning target.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdWorkViewsDefaultsByTargetResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdWorkViewsDefaultsByTarget","summary":"Update an organization work-view default","tags":["Views"],"description":"## Purpose\n\nUpdate an organization work-view default.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nSet the workspace-owned default definition for one planning target.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdWorkViewsDefaultsByTargetResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"definition":{"$ref":"#/components/schemas/Shared4f1f10e9","description":"Definition for this record."}},"required":["definition"],"additionalProperties":false},"example":{"definition":{"version":2,"target":"task","filter":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"arrangement":{"groupBy":"workTypeId","subGroupBy":"workTypeId","orderBy":[{"field":"status","direction":"asc"}]},"presentation":{"layout":"list","properties":["workTypeId"],"density":"comfortable","showEmptyGroups":false}}}}},"description":"Fields used to update an organization work-view default. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameterf2c58265"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/templates/definitions/proposals/tailoring/sources":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsProposalsTailoringSources","summary":"Choose authorized saved context for Athena","tags":["Templates"],"responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"availability":{"type":"string","enum":["available","requires_pro","authoring_unavailable"],"description":"Allowed availability value."},"conversations":{"type":"array","items":{"$ref":"#/components/schemas/Shared08117aa3"},"description":"Conversations, in order."},"importedWork":{"type":"array","items":{"$ref":"#/components/schemas/Shared08117aa3"},"description":"Imported work, in order."}},"required":["availability","conversations","importedWork"],"additionalProperties":false},"example":{"availability":"available","conversations":[{"id":"example","label":"example"}],"importedWork":[{"id":"example","label":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nChoose authorized saved context for Athena.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/proposals/tailoring/preview":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsProposalsTailoringPreview","summary":"Review the current saved context checkpoint","tags":["Templates"],"responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"fingerprint":{"type":"string","description":"Fingerprint for this record."},"conversationCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Conversation count."},"importedWorkCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Imported work count."}},"required":["fingerprint","conversationCount","importedWorkCount"],"additionalProperties":false},"example":{"fingerprint":"example","conversationCount":0,"importedWorkCount":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"fork":{"type":"string","enum":["startup","nonprofit","agency","personal"],"description":"Allowed fork value."},"sessionIds":{"maxItems":5,"type":"array","items":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$"},"description":"Session ids, in order."},"importedTaskIds":{"maxItems":30,"type":"array","items":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$"},"description":"Imported task ids, in order."}},"required":["fork","sessionIds","importedTaskIds"],"additionalProperties":false},"example":{"fork":"startup","sessionIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"importedTaskIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}}},"description":"Fields used to review the current saved context checkpoint. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nReview the current saved context checkpoint.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/proposals/tailoring":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsProposalsTailoring","summary":"Request tailored starting work for private review","tags":["Templates"],"responses":{"200":{"$ref":"#/components/responses/SharedResponsebcaa174e"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"fork":{"type":"string","enum":["startup","nonprofit","agency","personal"],"description":"Allowed fork value."},"sessionIds":{"maxItems":5,"type":"array","items":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$"},"description":"Session ids, in order."},"importedTaskIds":{"maxItems":30,"type":"array","items":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$"},"description":"Imported task ids, in order."},"fingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Fingerprint for this record."}},"required":["fork","sessionIds","importedTaskIds","fingerprint"],"additionalProperties":false},"example":{"fork":"startup","sessionIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"importedTaskIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"fingerprint":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"}}},"description":"Fields used to request tailored starting work for private review. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nRequest tailored starting work for private review.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/proposals/tailoring/{id}":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsProposalsTailoringById","summary":"Read the saved tailoring request and resulting reviews","tags":["Templates"],"responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdTemplatesDefinitionsProposalsTailoringResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter450555f5"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nRead the saved tailoring request and resulting reviews.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/proposals/tailoring/{id}/retry":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsProposalsTailoringByIdRetry","summary":"Retry a saved tailoring request","tags":["Templates"],"responses":{"200":{"$ref":"#/components/responses/SharedResponsebcaa174e"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter450555f5"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nRetry a saved tailoring request.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/proposals/label-suggestions/sources":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsProposalsLabelSuggestionsSources","summary":"Choose authorized labels for template suggestions","tags":["Templates"],"responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"availability":{"type":"string","enum":["available","requires_pro","authoring_unavailable"],"description":"Allowed availability value."},"groups":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"The stable identifier for this resource."},"name":{"type":"string","description":"Human-readable name."}},"required":["id","name"],"additionalProperties":false},"description":"Groups, in order."},"labels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"groupId":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"Identifies the referenced group."},"name":{"type":"string","description":"Human-readable name."}},"required":["id","groupId","name"],"additionalProperties":false},"description":"Labels, in order."}},"required":["availability","groups","labels"],"additionalProperties":false},"example":{"availability":"available","groups":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}],"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","groupId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nChoose authorized labels for template suggestions.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/proposals/label-suggestions/preview":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsProposalsLabelSuggestionsPreview","summary":"Review selected labelled examples","tags":["Templates"],"responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"fingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Fingerprint for this record."},"labelGroup":{"type":"object","properties":{"id":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"The stable identifier for this resource."},"name":{"type":"string","description":"Human-readable name."}},"required":["id","name"],"additionalProperties":false,"description":"Label group for this record."},"label":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"name":{"type":"string","description":"Human-readable name."}},"required":["id","name"],"additionalProperties":false,"description":"Label for this record."},"work":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"The stable identifier for this resource."},"kind":{"$ref":"#/components/schemas/Shared07f21ed5","description":"Target type for this record."},"name":{"type":"string","description":"Human-readable name."}},"required":["id","kind","name"],"additionalProperties":false},"description":"Work, in order."}},"required":["fingerprint","labelGroup","label","work"],"additionalProperties":false},"example":{"fingerprint":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef","labelGroup":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"},"label":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"},"work":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"task","name":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"labelGroupId":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"Identifies the referenced label group."},"labelId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"kind":{"$ref":"#/components/schemas/Shared07f21ed5","description":"Target type for this record."},"workIds":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$"},"description":"Work ids, in order."}},"required":["labelGroupId","labelId","kind","workIds"],"additionalProperties":false},"example":{"labelGroupId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","labelId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"task","workIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}}},"description":"Fields used to review selected labelled examples. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nReview selected labelled examples.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/proposals/label-suggestions":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsProposalsLabelSuggestions","summary":"Request a private template suggestion from labelled examples","tags":["Templates"],"responses":{"200":{"$ref":"#/components/responses/SharedResponsebcaa174e"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"labelGroupId":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"Identifies the referenced label group."},"labelId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"kind":{"$ref":"#/components/schemas/Shared07f21ed5","description":"Target type for this record."},"workIds":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","format":"ulid","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$"},"description":"Work ids, in order."},"fingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Fingerprint for this record."}},"required":["labelGroupId","labelId","kind","workIds","fingerprint"],"additionalProperties":false},"example":{"labelGroupId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","labelId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"task","workIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"fingerprint":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"}}},"description":"Fields used to request a private template suggestion from labelled examples. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nRequest a private template suggestion from labelled examples.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/proposals/{id}":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsProposalsById","summary":"Review an Athena template proposal","tags":["Templates"],"responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdTemplatesDefinitionsProposalsByIdResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nReview an Athena template proposal.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/proposals/{id}/decision":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsProposalsByIdDecision","summary":"Keep, adjust, dismiss or undo a reviewed template","tags":["Templates"],"responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdTemplatesDefinitionsProposalsByIdResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string","enum":["keep","adjust","dismiss","undo"],"description":"Allowed action value."},"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Expected revision for this record."},"expectedTemplateRevision":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Expected template revision for this record."}},"required":["action","expectedRevision","expectedTemplateRevision"],"additionalProperties":false},"example":{"action":"keep","expectedRevision":0,"expectedTemplateRevision":0}}},"description":"Fields used to keep, adjust, dismiss or undo a reviewed template. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nKeep, adjust, dismiss or undo a reviewed template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/gallery/copies":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsGalleryCopies","summary":"Keep reviewed independent work definitions","tags":["Templates"],"description":"## Purpose\n\nKeep reviewed independent work definitions.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nKeep the exact reviewed catalog selection as private drafts or explicitly publish it. Retry the same request identity and choices after an interrupted response. New writes recheck current authoring; known terminal outcomes require only current View rights and never overwrite later edits.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse6f00fb13"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"roots":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","maxLength":100,"pattern":"^[a-z][a-z0-9-]*$"},"description":"Roots, in order."},"release":{"type":"number","const":1,"description":"Release for this record."},"mode":{"type":"string","enum":["private_drafts","published"],"description":"Allowed mode value."},"labels":{"$ref":"#/components/schemas/Shared1fe2c0f6","description":"Labels for this record."},"offerings":{"$ref":"#/components/schemas/Shared3d95b106","description":"Offerings for this record."},"requestId":{"$ref":"#/components/schemas/Shared9164204e","description":"Identifies the referenced request."},"expectedReviewFingerprint":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Expected review fingerprint for this record."}},"required":["roots","release","mode","requestId","expectedReviewFingerprint"],"additionalProperties":false},"example":{"roots":["example-slug"],"release":1,"mode":"private_drafts","requestId":"123e4567-e89b-42d3-a456-426614174000","expectedReviewFingerprint":"sha256:0000000000000000000000000000000000000000000000000000000000000000"}}},"description":"Fields used to keep reviewed independent work definitions. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/templates/definitions/gallery/copies/requests/{requestId}":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsGalleryCopiesRequestsByRequestId","summary":"Reconcile the original work-copy outcome","tags":["Templates"],"responses":{"200":{"$ref":"#/components/responses/SharedResponse30807d73"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameterfb043971"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nReconcile the original work-copy outcome.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/gallery/copies/{bundleId}":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsGalleryCopiesByBundleId","summary":"Reopen your saved work definitions","tags":["Templates"],"responses":{"200":{"$ref":"#/components/responses/SharedResponse4fda9397"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameterea231218"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nReopen your saved work definitions.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/gallery/copies/{bundleId}/undo":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsGalleryCopiesByBundleIdUndo","summary":"Undo one reviewed work-definition copy","tags":["Templates"],"description":"## Purpose\n\nUndo one reviewed work-definition copy.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReverse the actual saved aggregate receipt. Unused unchanged private copies are removed; publications preserve history, and changed or used copies remain recoverable. Existing work is preserved. Terminal replay requires the original active acceptor with View rights; installed reversal also requires current template authoring.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse5dcd37c9"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameterea231218"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/templates/definitions/gallery":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsGallery","summary":"Browse released work definitions","tags":["Templates"],"responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Shared84da0154"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"identity":{"kind":"catalog","release":1,"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","catalogVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"slug":"example-slug","name":"example","targetType":"task","category":"intake","forks":["startup"],"use":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"in":"query","name":"search","schema":{"type":"string","maxLength":120},"description":"Search supplied in the query."},{"in":"query","name":"category","schema":{"type":"string","enum":["intake","engineering-product","marketing-content","sales-clients","operations-finance","people","nonprofit","events","research-writing","personal"]},"description":"Category supplied in the query."},{"in":"query","name":"fork","schema":{"type":"string","enum":["startup","nonprofit","agency","personal"]},"description":"Fork supplied in the query."},{"$ref":"#/components/parameters/SharedParameter3546d729"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nBrowse released work definitions.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/gallery/forks/{fork}":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsGalleryForksByFork","summary":"Select complete released starting work","tags":["Templates"],"responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"fork":{"type":"string","enum":["startup","nonprofit","agency","personal"],"description":"Allowed fork value."},"release":{"type":"number","const":1,"description":"Release for this record."},"items":{"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/Shared84da0154"},"description":"Items, in order."}},"required":["fork","release","items"],"additionalProperties":false},"example":{"fork":"startup","release":1,"items":[{"identity":{"kind":"catalog","release":1,"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","catalogVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"slug":"example-slug","name":"example","targetType":"task","category":"intake","forks":["startup"],"use":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"fork","schema":{"type":"string","enum":["startup","nonprofit","agency","personal"]},"required":true,"description":"Fork supplied in the path."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nSelect complete released starting work.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/gallery/copy-preview":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsGalleryCopyPreview","summary":"Review independent catalog copies","tags":["Templates"],"responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"reviewFingerprint":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Review fingerprint for this record."},"mode":{"type":"string","enum":["private_drafts","published"],"description":"Allowed mode value."},"roots":{"minItems":1,"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/Shareddd4b6cc4"},"description":"Roots, in order."},"copies":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/Sharedcfeef4cf","description":"Source for this record."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"targetType":{"$ref":"#/components/schemas/Shared07f21ed5","description":"Target type for this record."},"definition":{"$ref":"#/components/schemas/Sharedc688683a","description":"Definition for this record."},"offeredTeamIds":{"$ref":"#/components/schemas/Shared57c2f301","description":"Offered team ids for this record."},"dependencies":{"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/Shareddd4b6cc4"},"description":"Dependencies, in order."}},"required":["source","name","targetType","definition","offeredTeamIds","dependencies"],"additionalProperties":false},"description":"Copies, in order."},"omissions":{"type":"array","items":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/Sharedcfeef4cf","description":"Source for this record."},"kind":{"type":"string","enum":["label","image","offering","label_suggestion","offering_suggestion"],"description":"Selects the value variant."},"path":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Canonical path for this resource."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."},"value":{"type":"string","description":"Stored or returned value."}},"required":["source","kind","path","count"],"additionalProperties":false},"description":"Omissions, in order."}},"required":["reviewFingerprint","mode","roots","copies","omissions"],"additionalProperties":false},"example":{"reviewFingerprint":"sha256:0000000000000000000000000000000000000000000000000000000000000000","mode":"private_drafts","roots":[{"kind":"catalog","release":1,"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","catalogVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"copies":[{"source":{"kind":"catalog","release":1,"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","catalogVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"name":"example","targetType":"task","definition":{"name":"example","payload":{"targetType":"task"}},"offeredTeamIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"dependencies":[{"kind":"catalog","release":1,"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","catalogVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}],"omissions":[{"source":{"kind":"catalog","release":1,"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","catalogVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"kind":"label","path":["example"],"count":0}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"roots":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","maxLength":100,"pattern":"^[a-z][a-z0-9-]*$"},"description":"Roots, in order."},"release":{"type":"number","const":1,"description":"Release for this record."},"mode":{"type":"string","enum":["private_drafts","published"],"description":"Allowed mode value."},"labels":{"$ref":"#/components/schemas/Shared1fe2c0f6","description":"Labels for this record."},"offerings":{"$ref":"#/components/schemas/Shared3d95b106","description":"Offerings for this record."}},"required":["roots","release","mode"],"additionalProperties":false},"example":{"roots":["example-slug"],"release":1,"mode":"private_drafts"}}},"description":"Fields used to review independent catalog copies. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nReview independent catalog copies.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/gallery/{slug}":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsGalleryBySlug","summary":"Preview a released work definition","tags":["Templates"],"responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"identity":{"$ref":"#/components/schemas/Shared709850aa","description":"Identity for this record."},"slug":{"type":"string","maxLength":100,"pattern":"^[a-z][a-z0-9-]*$","description":"Slug for this record."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"targetType":{"$ref":"#/components/schemas/Shared07f21ed5","description":"Target type for this record."},"category":{"$ref":"#/components/schemas/Sharedb7dfbe3a","description":"Category for this record."},"forks":{"type":"array","items":{"type":"string","enum":["startup","nonprofit","agency","personal"]},"description":"Forks, in order."},"use":{"type":"string","minLength":1,"maxLength":300,"description":"Use for this record."},"definition":{"$ref":"#/components/schemas/Sharedc688683a","description":"Definition for this record."},"labelSuggestions":{"maxItems":10,"type":"array","items":{"type":"string","minLength":1},"description":"Label suggestions, in order."},"offeringSuggestions":{"maxItems":10,"type":"array","items":{"type":"string","minLength":1},"description":"Offering suggestions, in order."},"references":{"maxItems":99,"type":"array","items":{"type":"object","properties":{"identity":{"$ref":"#/components/schemas/Shared709850aa","description":"Identity for this record."},"slug":{"type":"string","maxLength":100,"pattern":"^[a-z][a-z0-9-]*$","description":"Slug for this record."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"targetType":{"$ref":"#/components/schemas/Shared07f21ed5","description":"Target type for this record."},"category":{"$ref":"#/components/schemas/Sharedb7dfbe3a","description":"Category for this record."},"forks":{"type":"array","items":{"type":"string","enum":["startup","nonprofit","agency","personal"]},"description":"Forks, in order."},"use":{"type":"string","minLength":1,"maxLength":300,"description":"Use for this record."},"definition":{"$ref":"#/components/schemas/Sharedc688683a","description":"Definition for this record."},"labelSuggestions":{"maxItems":10,"type":"array","items":{"type":"string","minLength":1},"description":"Label suggestions, in order."},"offeringSuggestions":{"maxItems":10,"type":"array","items":{"type":"string","minLength":1},"description":"Offering suggestions, in order."}},"required":["identity","slug","name","targetType","category","forks","use","definition","labelSuggestions","offeringSuggestions"],"additionalProperties":false},"description":"References, in order."}},"required":["identity","slug","name","targetType","category","forks","use","definition","labelSuggestions","offeringSuggestions","references"],"additionalProperties":false},"example":{"identity":{"kind":"catalog","release":1,"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","catalogVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"slug":"example-slug","name":"example","targetType":"task","category":"intake","forks":["startup"],"use":"example","definition":{"name":"example","payload":{"targetType":"task"}},"labelSuggestions":["example"],"offeringSuggestions":["example"],"references":[{"identity":{"kind":"catalog","release":1,"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","catalogVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"slug":"example-slug","name":"example","targetType":"task","category":"intake","forks":["startup"],"use":"example","definition":{"name":"example","payload":{"targetType":"task"}},"labelSuggestions":["example"],"offeringSuggestions":["example"]}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"slug","schema":{"type":"string","maxLength":100,"pattern":"^[a-z][a-z0-9-]*$"},"required":true,"description":"Slug supplied in the path."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nPreview a released work definition.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/copies/preview":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsCopiesPreview","summary":"Review independent copies of your work definitions","tags":["Templates"],"responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"reviewFingerprint":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Review fingerprint for this record."},"mode":{"type":"string","enum":["private_drafts","published"],"description":"Allowed mode value."},"roots":{"minItems":1,"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/Shareda596227f"},"description":"Roots, in order."},"copies":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/Shared1875481c","description":"Source for this record."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"targetType":{"$ref":"#/components/schemas/Shared07f21ed5","description":"Target type for this record."},"definition":{"$ref":"#/components/schemas/Sharedc688683a","description":"Definition for this record."},"offeredTeamIds":{"$ref":"#/components/schemas/Shared57c2f301","description":"Offered team ids for this record."},"dependencies":{"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/Shareda596227f"},"description":"Dependencies, in order."},"referenceBindings":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"slot":{"type":"object","properties":{"kind":{"type":"string","enum":["blueprint_step","default_schedule"],"description":"Selects the value variant."},"key":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"Stable machine-readable key."}},"required":["kind","key"],"additionalProperties":false,"description":"Slot for this record."},"target":{"oneOf":[{"$ref":"#/components/schemas/Shared4a8f79da"},{"$ref":"#/components/schemas/Sharedd471097a"},{"$ref":"#/components/schemas/Shareddd4b6cc4"}],"description":"Target for this record."}},"required":["slot","target"],"additionalProperties":false},"description":"Reference bindings, in order."}},"required":["source","name","targetType","definition","offeredTeamIds","dependencies","referenceBindings"],"additionalProperties":false},"description":"Copies, in order."},"omissions":{"type":"array","items":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/Shared1875481c","description":"Source for this record."},"kind":{"type":"string","enum":["label","image","offering","label_suggestion","offering_suggestion"],"description":"Selects the value variant."},"path":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Canonical path for this resource."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count for this record."},"value":{"type":"string","description":"Stored or returned value."}},"required":["source","kind","path","count"],"additionalProperties":false},"description":"Omissions, in order."}},"required":["reviewFingerprint","mode","roots","copies","omissions"],"additionalProperties":false},"example":{"reviewFingerprint":"sha256:0000000000000000000000000000000000000000000000000000000000000000","mode":"private_drafts","roots":[{"kind":"publication","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"copies":[{"source":{"kind":"publication","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"name":"example","targetType":"task","definition":{"name":"example","payload":{"targetType":"task"}},"offeredTeamIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"dependencies":[{"kind":"publication","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"referenceBindings":[{"slot":{"kind":"blueprint_step","key":"example-slug"},"target":{"kind":"publication","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}]}],"omissions":[{"source":{"kind":"publication","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"kind":"label","path":["example"],"count":0}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"roots":{"$ref":"#/components/schemas/Shared3fe8b1d3","description":"Roots for this record."},"mode":{"type":"string","enum":["private_drafts","published"],"description":"Allowed mode value."},"labels":{"$ref":"#/components/schemas/Shared37013f5e","description":"Labels for this record."},"offerings":{"$ref":"#/components/schemas/Shared4cbb0d3c","description":"Offerings for this record."}},"required":["roots","mode"],"additionalProperties":false},"example":{"roots":[{"kind":"catalog","slug":"example-slug","release":1}],"mode":"private_drafts"}}},"description":"Fields used to review independent copies of your work definitions. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nReview independent copies of your work definitions.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/copies":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsCopies","summary":"Keep reviewed independent work definitions","tags":["Templates"],"responses":{"200":{"$ref":"#/components/responses/SharedResponse6f00fb13"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"roots":{"$ref":"#/components/schemas/Shared3fe8b1d3","description":"Roots for this record."},"mode":{"type":"string","enum":["private_drafts","published"],"description":"Allowed mode value."},"labels":{"$ref":"#/components/schemas/Shared37013f5e","description":"Labels for this record."},"offerings":{"$ref":"#/components/schemas/Shared4cbb0d3c","description":"Offerings for this record."},"requestId":{"$ref":"#/components/schemas/Shared9164204e","description":"Identifies the referenced request."},"expectedReviewFingerprint":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Expected review fingerprint for this record."}},"required":["roots","mode","requestId","expectedReviewFingerprint"],"additionalProperties":false},"example":{"roots":[{"kind":"catalog","slug":"example-slug","release":1}],"mode":"private_drafts","requestId":"123e4567-e89b-42d3-a456-426614174000","expectedReviewFingerprint":"sha256:0000000000000000000000000000000000000000000000000000000000000000"}}},"description":"Fields used to keep reviewed independent work definitions. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nKeep reviewed independent work definitions.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/copies/requests/{requestId}":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsCopiesRequestsByRequestId","summary":"Reconcile the original work-copy outcome","tags":["Templates"],"responses":{"200":{"$ref":"#/components/responses/SharedResponse30807d73"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameterfb043971"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nReconcile the original work-copy outcome.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/copies/{bundleId}":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsCopiesByBundleId","summary":"Reopen your saved work definitions","tags":["Templates"],"responses":{"200":{"$ref":"#/components/responses/SharedResponse4fda9397"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameterea231218"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nReopen your saved work definitions.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/copies/{bundleId}/undo":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsCopiesByBundleIdUndo","summary":"Undo one reviewed work-definition copy","tags":["Templates"],"description":"## Purpose\n\nUndo one reviewed work-definition copy.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReverse the actual saved aggregate receipt. Unused unchanged private copies are removed; publications preserve history, and changed or used copies remain recoverable. Existing work is preserved. Terminal replay requires the original active acceptor with View rights; installed reversal also requires current template authoring.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse5dcd37c9"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameterea231218"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/templates/definitions/label-conversions/preview":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsLabelConversionsPreview","summary":"Review selected label-to-template conversions","tags":["Templates"],"responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"labelGroupId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label group — a named set of related Labels, optionally mutually exclusive."},"labelGroupName":{"type":"string","description":"Label group name for this record."},"reviewFingerprint":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Review fingerprint for this record."},"items":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["task","project","initiative","program"],"description":"Selects the value variant."},"id":{"type":"string","description":"The stable identifier for this resource."},"name":{"type":"string","description":"Human-readable name."},"templateName":{"type":"string","description":"Template name for this record."},"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"removeLabels":{"minItems":1,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label — a reusable tag applied to Tasks/Projects for filtering."},"name":{"type":"string","description":"Human-readable name."}},"required":["id","name"],"additionalProperties":false},"description":"Remove labels, in order."}},"required":["kind","id","name","templateName","workTypeId","workTypeVersionId","removeLabels"],"additionalProperties":false},"description":"Items, in order."}},"required":["labelGroupId","labelGroupName","reviewFingerprint","items"],"additionalProperties":false},"example":{"labelGroupId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","labelGroupName":"example","reviewFingerprint":"sha256:0000000000000000000000000000000000000000000000000000000000000000","items":[{"kind":"task","id":"example","name":"example","templateName":"example","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removeLabels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}]}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"labelGroupId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label group — a named set of related Labels, optionally mutually exclusive."},"items":{"$ref":"#/components/schemas/Shared2c034e10","description":"Items for this record."}},"required":["labelGroupId","items"],"additionalProperties":false},"example":{"labelGroupId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","items":[{"kind":"task","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removeLabelIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}}},"description":"Fields used to review selected label-to-template conversions. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nReview selected label-to-template conversions.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/label-conversions":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsLabelConversions","summary":"Confirm the exact reviewed label conversions","tags":["Templates"],"responses":{"200":{"$ref":"#/components/responses/SharedResponse39d079a7"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"labelGroupId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Label group — a named set of related Labels, optionally mutually exclusive."},"items":{"$ref":"#/components/schemas/Shared2c034e10","description":"Items for this record."},"requestId":{"$ref":"#/components/schemas/Shared9164204e","description":"Identifies the referenced request."},"expectedReviewFingerprint":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Expected review fingerprint for this record."}},"required":["labelGroupId","items","requestId","expectedReviewFingerprint"],"additionalProperties":false},"example":{"labelGroupId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","items":[{"kind":"task","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removeLabelIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"requestId":"123e4567-e89b-42d3-a456-426614174000","expectedReviewFingerprint":"sha256:0000000000000000000000000000000000000000000000000000000000000000"}}},"description":"Fields used to confirm the exact reviewed label conversions. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nConfirm the exact reviewed label conversions.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/label-conversions/requests/{requestId}/undo":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsLabelConversionsRequestsByRequestIdUndo","summary":"Undo an unchanged confirmed label conversion","tags":["Templates"],"responses":{"200":{"$ref":"#/components/responses/SharedResponse39d079a7"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameterfb043971"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nUndo an unchanged confirmed label conversion.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/label-conversions/requests/{requestId}":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsLabelConversionsRequestsByRequestId","summary":"Check a prior label conversion outcome","tags":["Templates"],"responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdTemplatesDefinitionsLabelConversionsResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameterfb043971"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nCheck a prior label conversion outcome.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/identities":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsIdentities","summary":"List published template identity choices","tags":["Templates"],"responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"isBase":{"type":"boolean","description":"Whether base."},"archived":{"type":"boolean","description":"Archived for this record."},"versionNumber":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Version number for this record."},"latestVersionNumber":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Latest version number for this record."},"versionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced version."}},"required":["id","name","icon","isBase","archived","versionNumber","latestVersionNumber","versionId"]},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","icon":{"kind":"symbol","name":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"},"isBase":false,"archived":false,"versionNumber":1,"latestVersionNumber":1,"versionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"in":"query","name":"targetType","schema":{"type":"string","enum":["task","project","initiative","program"]},"required":true,"description":"The kind of work a template creates: `task`, `project`, `initiative`, or `program`. A Cycle is a date window and a Team is structural, so neither is templatable."},{"$ref":"#/components/parameters/SharedParameterdeca116c"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nList published template identity choices.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/{id}/identity/{versionId}":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsByIdIdentityByVersionId","summary":"Get a pinned template identity","tags":["Templates"],"responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"icon":{"$ref":"#/components/schemas/Shared6224133a","description":"Icon for this record."},"isBase":{"type":"boolean","description":"Whether base."},"archived":{"type":"boolean","description":"Archived for this record."},"versionNumber":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Version number for this record."},"latestVersionNumber":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Latest version number for this record."}},"required":["id","name","icon","isBase","archived","versionNumber","latestVersionNumber"]},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","icon":{"kind":"symbol","name":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"},"isBase":false,"archived":false,"versionNumber":1,"latestVersionNumber":1}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"in":"path","name":"versionId","schema":{"type":"string"},"required":true,"description":"Identifier of the version selected by this path parameter."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nGet a pinned template identity.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/{id}/blueprint-preview":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsByIdBlueprintPreview","summary":"Preview work-template children","tags":["Templates"],"responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"workTypeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},"workTypeVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Identifies the referenced work type version."},"previewToken":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$","description":"Preview token for this record."},"resolvedManifest":{"$ref":"#/components/schemas/Sharedcbba0b58","description":"Resolved manifest for this record."},"descendants":{"$ref":"#/components/schemas/Shared3b335a98","description":"Descendants for this record."},"descendantCount":{"type":"integer","minimum":0,"maximum":10000,"description":"Descendant count."},"selectedCount":{"type":"integer","minimum":1,"maximum":500,"description":"Selected count."},"additionalMilestoneCount":{"type":"integer","minimum":0,"maximum":499,"description":"Additional milestone count."},"summaryOffset":{"type":"integer","minimum":0,"maximum":10000,"description":"Summary offset for this record."},"nextSummaryOffset":{"anyOf":[{"type":"integer","minimum":0,"maximum":10000},{"type":"null"}],"description":"Next summary offset for this record."},"warnings":{"$ref":"#/components/schemas/Sharedc7b9286a","description":"Warnings for this record."},"defaultSchedules":{"$ref":"#/components/schemas/Shared4070d926","description":"Default schedules for this record."}},"required":["workTypeId","workTypeVersionId","previewToken","resolvedManifest","descendants","descendantCount","selectedCount","additionalMilestoneCount","summaryOffset","nextSummaryOffset","warnings"],"additionalProperties":false},"example":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","previewToken":"sha256:0000000000000000000000000000000000000000000000000000000000000000","resolvedManifest":[{"path":["example-slug"],"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","versionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"descendants":[{"path":["example-slug"],"parentPath":["example-slug"],"kind":"program","title":"example","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","dates":{},"unresolvedReasons":{},"optional":false,"selectedByDefault":false,"selected":false,"prerequisites":[["example-slug"]]}],"descendantCount":0,"selectedCount":1,"additionalMilestoneCount":0,"summaryOffset":0,"nextSummaryOffset":0,"warnings":[{"code":"actor_unavailable","paths":[["example-slug"]],"count":1}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"required":true,"description":"ULID id of a Template — a reusable pre-filled draft for creating a Task, Project, Initiative, or Program."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"options":{"$ref":"#/components/schemas/Shared619d3e23","description":"Options for this record."},"summaryOffset":{"default":0,"type":"integer","minimum":0,"maximum":10000,"description":"Summary offset for this record."},"kind":{"type":"string","const":"task","description":"Selects the value variant."},"body":{"$ref":"#/components/schemas/TaskCreate","description":"Body for this record."}},"required":["kind","body"],"additionalProperties":false},{"type":"object","properties":{"options":{"$ref":"#/components/schemas/Shared619d3e23","description":"Options for this record."},"summaryOffset":{"default":0,"type":"integer","minimum":0,"maximum":10000,"description":"Summary offset for this record."},"kind":{"type":"string","const":"project","description":"Selects the value variant."},"body":{"$ref":"#/components/schemas/ProjectCreate","description":"Body for this record."}},"required":["kind","body"],"additionalProperties":false},{"type":"object","properties":{"options":{"$ref":"#/components/schemas/Shared619d3e23","description":"Options for this record."},"summaryOffset":{"default":0,"type":"integer","minimum":0,"maximum":10000,"description":"Summary offset for this record."},"kind":{"type":"string","const":"initiative","description":"Selects the value variant."},"body":{"$ref":"#/components/schemas/InitiativeCreate","description":"Body for this record."}},"required":["kind","body"],"additionalProperties":false},{"type":"object","properties":{"options":{"$ref":"#/components/schemas/Shared619d3e23","description":"Options for this record."},"summaryOffset":{"default":0,"type":"integer","minimum":0,"maximum":10000,"description":"Summary offset for this record."},"kind":{"type":"string","const":"program","description":"Selects the value variant."},"body":{"$ref":"#/components/schemas/ProgramCreate","description":"Body for this record."}},"required":["kind","body"],"additionalProperties":false}]},"example":{"kind":"task","body":{"title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}}},"description":"Fields used to preview work-template children. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nPreview work-template children.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitions","summary":"List work-template definitions","tags":["Templates"],"responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Sharedf6ae8c43"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetType":"task","status":"draft","scope":"personal","ownerActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","isBase":false,"revision":0,"definition":{"name":"example","payload":{"targetType":"task"}},"offeredTeamIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"latestVersion":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":1,"definition":{"name":"example","payload":{"targetType":"task"}},"publishedAt":"2026-09-19T12:00:00.000Z","publishedByActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"canEdit":false,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter3546d729"},{"in":"query","name":"teamId","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},{"in":"query","name":"includeDrafts","schema":{"type":"string","enum":["true","false"]},"description":"Include drafts supplied in the query."},{"$ref":"#/components/parameters/SharedParameterfc7e7ec9"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nList work-template definitions.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."},"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitions","summary":"Create a work-template draft","tags":["Templates"],"responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sharedf6ae8c43"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"targetType":{"$ref":"#/components/schemas/Shared07f21ed5","description":"Target type for this record."},"scope":{"default":"personal","type":"string","enum":["personal","team","organization"],"description":"Allowed scope value."},"ownerActorId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"teamId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"offeredTeamIds":{"default":[],"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Team — a named group of actors within an org used for ownership and routing."},"description":"Offered team ids, in order."},"definition":{"$ref":"#/components/schemas/Sharedc688683a","description":"Definition for this record."}},"required":["targetType","definition"],"additionalProperties":false},"example":{"targetType":"task","definition":{"name":"example","payload":{"targetType":"task"}}}}},"description":"Fields used to create a work-template draft. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nCreate a work-template draft.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/templates/definitions/{id}":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsById","summary":"Get a work-template definition","tags":["Templates"],"responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sharedf6ae8c43"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nGet a work-template definition.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/{id}/draft":{"patch":{"operationId":"patchV1OrgsByOrgIdTemplatesDefinitionsByIdDraft","summary":"Edit a work-template draft","tags":["Templates"],"responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sharedf6ae8c43"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Expected revision for this record."},"definition":{"$ref":"#/components/schemas/Sharedc688683a","description":"Definition for this record."},"offeredTeamIds":{"$ref":"#/components/schemas/Shared8b85ef6a","description":"Offered team ids for this record."}},"required":["expectedRevision"],"additionalProperties":false},"example":{"expectedRevision":0}}},"description":"Fields used to edit a work-template draft. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nEdit a work-template draft.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/{id}/publish":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsByIdPublish","summary":"Publish a work-template revision","tags":["Templates"],"responses":{"200":{"$ref":"#/components/responses/SharedResponse6b965a17"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Expected revision for this record."}},"required":["expectedRevision"],"additionalProperties":false},"example":{"expectedRevision":0}}},"description":"Fields used to publish a work-template revision. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nPublish a work-template revision.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/{id}/versions":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsByIdVersions","summary":"List immutable work-template versions","tags":["Templates"],"responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Shareda826fa0c"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":1,"definition":{"name":"example","payload":{"targetType":"task"}},"publishedAt":"2026-09-19T12:00:00.000Z","publishedByActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nList immutable work-template versions.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/{id}/archive-impact":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesDefinitionsByIdArchiveImpact","summary":"Preview authorized template archive impact","tags":["Templates"],"responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"parents":{"type":"object","properties":{"items":{"$ref":"#/components/schemas/Shared1f73be61","description":"Items for this record."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Total for this record."},"nextOffset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Next offset for this record."}},"required":["items","total","nextOffset"],"additionalProperties":false,"description":"Parents for this record."},"schedules":{"type":"object","properties":{"items":{"$ref":"#/components/schemas/Shared1f73be61","description":"Items for this record."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Total for this record."},"nextOffset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Next offset for this record."}},"required":["items","total","nextOffset"],"additionalProperties":false,"description":"Schedules for this record."}},"required":["parents","schedules"],"additionalProperties":false},"example":{"parents":{"items":[{"id":"example","name":"example"}],"total":0,"nextOffset":0},"schedules":{"items":[{"id":"example","name":"example"}],"total":0,"nextOffset":0}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"in":"query","name":"parentOffset","schema":{"default":0,"type":"integer","minimum":0,"maximum":1000000},"description":"Parent offset supplied in the query."},{"in":"query","name":"scheduleOffset","schema":{"default":0,"type":"integer","minimum":0,"maximum":1000000},"description":"Schedule offset supplied in the query."},{"in":"query","name":"limit","schema":{"default":20,"type":"integer","minimum":1,"maximum":50},"description":"Maximum number of items to return. The default is 50 and maximum is 100."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nPreview authorized template archive impact.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates/definitions/{id}/archive":{"post":{"operationId":"postV1OrgsByOrgIdTemplatesDefinitionsByIdArchive","summary":"Archive a work-template definition","tags":["Templates"],"responses":{"200":{"$ref":"#/components/responses/SharedResponse6b965a17"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nArchive a work-template definition.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/templates":{"get":{"operationId":"getV1OrgsByOrgIdTemplates","summary":"List templates","tags":["Templates"],"description":"## Purpose\n\nList templates.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList the templates visible to the caller: organization templates, their personal templates, and templates owned by teams they belong to. Results use stable template-id order, default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Reuse a cursor only with the same `targetType` filter. Visibility is applied before pagination. The first call seeds Docket's shipped defaults.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TemplateOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetType":"task","name":"example","description":"example","scope":"personal","ownerActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","payload":{"targetType":"task"},"isSeed":false,"createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"in":"query","name":"targetType","schema":{"type":"string","enum":["task","project","initiative","program"]},"description":"Limit the list to templates that create this kind. Omit for every template in the org."}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdTemplates","summary":"Create a template","tags":["Templates"],"description":"## Purpose\n\nCreate a template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a template. Requires `contribute` — any contributing member may author one, including at `organization` scope. `targetType`, `name`, and `payload` are required; `payload.targetType` must equal `targetType` (422 otherwise). A personal template must belong to the calling actor, and a team template must name a team the caller belongs to. `scope` defaults to `personal` and `ownerActorId` to the calling actor. `organizationId` is always derived from the path, never the body. Returns the created `TemplateOut`.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"targetType":{"type":"string","enum":["task","project","initiative","program"],"description":"The kind this template creates. Must equal `payload.targetType`; a mismatch is rejected with 422. Immutable after creation."},"name":{"type":"string","minLength":1,"description":"The template’s own name, shown verbatim in the picker (e.g. \"Bug report\"). Required, non-empty. Not vocabulary-skinned — it is an ordinary editable string."},"description":{"description":"One line explaining when to reach for this template, shown under its name.","type":"string"},"scope":{"description":"Sharing scope: 'personal' | 'team' | 'organization'. Defaults to 'personal'.","type":"string","enum":["personal","team","organization"]},"ownerActorId":{"description":"Owning actor. Defaults to the calling actor. Mainly meaningful for a `personal` template.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"teamId":{"description":"Team the template belongs to. Required when `scope` is `team`, ignored otherwise. Must be a team in the caller’s org.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"payload":{"$ref":"#/components/schemas/Shared554b0d3e","description":"Payload for this record."}},"required":["targetType","name","payload"],"description":"Create a template within an organization."},"example":{"targetType":"task","name":"example","payload":{"targetType":"task"}}}},"description":"Fields used to create a template. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/templates/{id}":{"get":{"operationId":"getV1OrgsByOrgIdTemplatesById","summary":"Get a template","tags":["Templates"],"description":"## Purpose\n\nGet a template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch one caller-visible template by id, including its full `payload`, so a client can hydrate the template editor. Organization templates are visible to every member, personal templates only to their owner, and team templates only to team members. A hidden, cross-org, or unknown id 404s (`Template not found`). Requires org membership (`view`). Returns `TemplateOut`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdTemplatesById","summary":"Update a template","tags":["Templates"],"description":"## Purpose\n\nUpdate a template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPartially update a caller-visible template; only fields present in the body change (`name`, `description`, `scope`, `ownerActorId`, `teamId`, `payload`). Requires `contribute`. `payload` is replaced wholesale when supplied, and its `targetType` must match the template's. A template cannot be moved into another actor's personal scope or a team the caller does not belong to. Published templates remain workspace-visible and cannot return to personal or team scope. Workspace writes publish a new immutable version transactionally. Moving `scope` away from `team` clears `teamId`. Shipped defaults can be edited, and those changes persist. A hidden, cross-workspace, or unknown id returns 404. Returns the updated `TemplateOut`.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"description":"New name (non-empty). Omit to leave unchanged.","type":"string","minLength":1},"description":{"description":"New one-line description; send an empty string to clear. Omit to leave unchanged.","type":"string"},"scope":{"description":"New sharing scope: 'personal' | 'team' | 'organization'. Omit to leave unchanged. Moving away from `team` clears `teamId`.","type":"string","enum":["personal","team","organization"]},"ownerActorId":{"description":"Re-owner the template. Omit to leave unchanged.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"teamId":{"description":"Re-scope to this team. Required when `scope` becomes `team`. Omit to leave unchanged.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"payload":{"description":"Replacement draft (replaces wholesale, not merged). Its `targetType` must match the template’s. Omit to leave unchanged.","oneOf":[{"$ref":"#/components/schemas/TaskTemplateDraft"},{"$ref":"#/components/schemas/ProjectTemplateDraft"},{"$ref":"#/components/schemas/InitiativeTemplateDraft"},{"$ref":"#/components/schemas/ProgramTemplateDraft"}]}},"description":"Update a template."},"example":{}}},"description":"Fields used to update a template. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdTemplatesById","summary":"Delete a template","tags":["Templates"],"description":"## Purpose\n\nDelete a template.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nArchive a published template while retaining its immutable versions and existing work. Delete an unused unpublished starting draft permanently. Requires `contribute`. A deleted shipped default does not return automatically. Docket seeds defaults only when a workspace has no templates. A hidden, cross-workspace, or unknown id returns 404. The response contains the deleted `TemplateOut` so the client can confirm or offer to restore it.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/process-definitions":{"get":{"operationId":"getV1OrgsByOrgIdProcessDefinitions","summary":"List process definitions","tags":["Processes"],"description":"## Purpose\n\nList process definitions.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList reusable process blueprints in stable definition-id order. Pages default to 50 items, accept at most 100, and omit nextCursor at exhaustion. Each item reports its latest immutable revision number. Archived processes are excluded. Requires current workspace View and definition ownership or workspace Manage.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Shared9416342e"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","description":"example","status":"draft","latestRevisionNumber":1,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdProcessDefinitions","summary":"Create a process definition","tags":["Processes"],"description":"## Purpose\n\nCreate a process definition.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate and publish a reusable process with one immutable normalized revision. The graph may generate a project, milestones, ordinary tasks, dependencies, hierarchy, and relative timing.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProcessDefinitionsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProcessDefinitionsRequest"}}},"description":"Fields used to create a process definition. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/process-definitions/from-project":{"post":{"operationId":"postV1OrgsByOrgIdProcessDefinitionsFromProject","summary":"Make an existing project repeatable","tags":["Processes"],"description":"## Purpose\n\nMake an existing project repeatable.\n\n## Inputs and constraints\n\nSupply the headers and path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nSnapshot one fully readable project tree, its milestones, tasks, labels, hierarchy, dependencies, and relative dates into a private published process revision. An optional Idempotency-Key atomically retains the original snapshot for 48 hours. Reuse it with the identical request to recover a lost response without creating another definition.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse08cd9b37"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"x-docket-idempotency":"atomic-receipt","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Caller-owned retry identity retained for 48 hours.","schema":{"type":"string","minLength":1}},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"projectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Project — a bounded body of work containing Tasks, with status and health."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"creationMode":{"default":"all_at_once","type":"string","enum":["all_at_once","when_ready"],"description":"Allowed creation mode value."}},"required":["projectId"],"additionalProperties":false},"example":{"projectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to make an existing project repeatable. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/process-definitions/{id}":{"get":{"operationId":"getV1OrgsByOrgIdProcessDefinitionsById","summary":"Get a process definition","tags":["Processes"],"description":"## Purpose\n\nGet a process definition.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nGet one private process you own or manage at workspace scope and reconstruct its latest immutable revision as named project, milestone, task, timing, and dependency specifications.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProcessDefinitionsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdProcessDefinitionsById","summary":"Update process metadata","tags":["Processes"],"description":"## Purpose\n\nUpdate process metadata.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nRename or redescribe a process definition without changing its executable revision. Use the revisions endpoint for work-graph changes so existing instances remain immutable.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProcessDefinitionsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Longer plain-language description."}},"additionalProperties":false},"example":{}}},"description":"Fields used to update process metadata. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdProcessDefinitionsById","summary":"Archive a process definition","tags":["Processes"],"description":"## Purpose\n\nArchive a process definition.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nArchive a reusable process and end its active series while preserving every immutable revision, occurrence, process instance, and generated work item.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shared9416342e"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/process-definitions/{id}/revisions":{"post":{"operationId":"postV1OrgsByOrgIdProcessDefinitionsByIdRevisions","summary":"Publish a process revision","tags":["Processes"],"description":"## Purpose\n\nPublish a process revision.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPublish a complete immutable process revision. Future series occurrences may use it. Work already created from an older revision does not change.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse08cd9b37"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdProcessDefinitionsRequest"}}},"description":"Fields used to publish a process revision. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/recurrence-series":{"get":{"operationId":"getV1OrgsByOrgIdRecurrenceSeries","summary":"List recurrence series","tags":["Recurrence"],"description":"## Purpose\n\nList recurrence series.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList active, paused, and ended recurrence series in stable series-id order. Pages default to 50 items, accept at most 100, and omit nextCursor at exhaustion. Each item includes its current trigger configuration.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a RecurrenceSeries — a schedule that expects process occurrences."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"processDefinitionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for a reusable, versioned process definition that can create work."},"processRevisionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a ProcessRevision — one immutable version of a process definition."},"name":{"type":"string","description":"Human-readable name."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Current lifecycle state."},"trigger":{"$ref":"#/components/schemas/Sharedf25fb505","description":"Trigger for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."},"pausedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Paused time as an ISO 8601 instant."},"endedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ended time as an ISO 8601 instant."}},"required":["id","organizationId","processDefinitionId","processRevisionId","name","status","trigger","createdAt","updatedAt","pausedAt","endedAt"]},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","processDefinitionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","processRevisionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"active","trigger":{"kind":"manual"},"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","pausedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdRecurrenceSeries","summary":"Create a recurrence series","tags":["Recurrence"],"description":"## Purpose\n\nCreate a recurrence series.\n\n## Inputs and constraints\n\nSupply the headers and path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a calendar, completion-anchored, manual, or event-driven series over the current published revision of a reusable process. An optional Idempotency-Key atomically retains the created series for 48 hours. Retrying the same request resumes initial materialization without creating a second series. Reusing the key with changed input returns 422.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdRecurrenceSeriesResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"x-docket-idempotency":"atomic-receipt","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Caller-owned retry identity retained for 48 hours. Reuse it only with the identical request.","schema":{"type":"string","minLength":1}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"processDefinitionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for a reusable, versioned process definition that can create work."},"name":{"type":"string","minLength":1,"description":"Human-readable name."},"trigger":{"$ref":"#/components/schemas/Sharedf25fb505","description":"Trigger for this record."},"effectiveFrom":{"$ref":"#/components/schemas/Shared70987bd5","description":"Effective from for this record."}},"required":["processDefinitionId","name","trigger"],"additionalProperties":false},"example":{"processDefinitionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","trigger":{"kind":"manual"}}}},"description":"Fields used to create a recurrence series. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/recurrence-series/calendar-bindings":{"post":{"operationId":"postV1OrgsByOrgIdRecurrenceSeriesCalendarBindings","summary":"Add process work for a calendar event","tags":["Recurrence"],"description":"## Purpose\n\nAdd process work for a calendar event.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nBind a user-owned calendar event or provider event series to a reusable workspace process. Docket creates work for the selected event immediately. Future synchronized occurrences use the same recurrence series.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"The stable identifier for this resource."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"calendarItemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a CalendarItem — one visible time object on a layer."},"calendarLayerId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a CalendarLayer — one renderable stream of calendar items."},"externalSeriesId":{"type":"string","minLength":1,"description":"Identifies the referenced external series."},"scope":{"type":"string","enum":["event_series","single_event"],"description":"Allowed scope value."},"processDefinitionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for a reusable, versioned process definition that can create work."},"recurrenceSeriesId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a RecurrenceSeries — a schedule that expects process occurrences."},"seriesName":{"type":"string","minLength":1,"description":"Series name for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."}},"required":["id","organizationId","calendarItemId","calendarLayerId","externalSeriesId","scope","processDefinitionId","recurrenceSeriesId","seriesName","createdAt"],"additionalProperties":false},"example":{"id":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","calendarItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","calendarLayerId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","externalSeriesId":"example","scope":"event_series","processDefinitionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","recurrenceSeriesId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","seriesName":"example","createdAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"calendarItemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a CalendarItem — one visible time object on a layer."},"processDefinitionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for a reusable, versioned process definition that can create work."}},"required":["calendarItemId","processDefinitionId"],"additionalProperties":false},"example":{"calendarItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","processDefinitionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to add process work for a calendar event. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/recurrence-series/for-task/{taskId}":{"get":{"operationId":"getV1OrgsByOrgIdRecurrenceSeriesForTaskByTaskId","summary":"Get a generated task recurrence backlink","tags":["Recurrence"],"description":"## Purpose\n\nGet a generated task recurrence backlink.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn the process occurrence and recurrence series that generated one ordinary task, or null when the task was not generated by repeating work.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse3bba01c7"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter375a526d"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/recurrence-series/for-project/{projectId}":{"get":{"operationId":"getV1OrgsByOrgIdRecurrenceSeriesForProjectByProjectId","summary":"Get a generated project recurrence backlink","tags":["Recurrence"],"description":"## Purpose\n\nGet a generated project recurrence backlink.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn the process occurrence and recurrence series that generated one ordinary project, or null when the project was not generated by repeating work.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse3bba01c7"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter33e18719"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/recurrence-series/{id}":{"get":{"operationId":"getV1OrgsByOrgIdRecurrenceSeriesById","summary":"Get recurrence series","tags":["Recurrence"],"description":"## Purpose\n\nGet recurrence series.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn one workspace recurrence series, its current trigger, and the history of expected, created, skipped, canceled, and completed occurrences.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdRecurrenceSeriesByIdResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/recurrence-series/{id}/lifecycle":{"post":{"operationId":"postV1OrgsByOrgIdRecurrenceSeriesByIdLifecycle","summary":"Change recurrence lifecycle","tags":["Recurrence"],"description":"## Purpose\n\nChange recurrence lifecycle.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPause, resume, or permanently end a recurrence series. The transition is idempotent and never deletes historical occurrences or generated work.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdRecurrenceSeriesResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"action":{"type":"string","const":"pause","description":"Action for this record."}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"resume","description":"Action for this record."}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"end","description":"Action for this record."}},"required":["action"],"additionalProperties":false}]},"example":{"action":"pause"}}},"description":"Fields used to change recurrence lifecycle. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/recurrence-series/{id}/materialize":{"post":{"operationId":"postV1OrgsByOrgIdRecurrenceSeriesByIdMaterialize","summary":"Create a series occurrence","tags":["Recurrence"],"description":"## Purpose\n\nCreate a series occurrence.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate one manual or explicitly dated occurrence as ordinary Docket work. Repeating the same request does not create another occurrence. The created work retains its link to the recurrence series.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse5fb91652"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scheduledFor":{"$ref":"#/components/schemas/Shared253d80d4","description":"Scheduled for for this record."},"occurrenceKey":{"type":"string","minLength":1,"maxLength":300,"description":"Occurrence key for this record."}},"additionalProperties":false},"example":{}}},"description":"Fields used to create a series occurrence. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/recurrence-series/{id}/edits":{"post":{"operationId":"postV1OrgsByOrgIdRecurrenceSeriesByIdEdits","summary":"Edit recurrence scope","tags":["Recurrence"],"description":"## Purpose\n\nEdit recurrence scope.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nResolve, skip, cancel, or reschedule one occurrence, or append a trigger revision effective from a future date. Past process instances remain immutable.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse5fb91652"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"scope":{"type":"string","const":"occurrence","description":"Scope for this record."},"scheduledFor":{"$ref":"#/components/schemas/Shared253d80d4","description":"Scheduled for for this record."},"resolution":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"complete","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"skip","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"cancel","description":"Selects the value variant."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"reschedule","description":"Selects the value variant."},"scheduledFor":{"$ref":"#/components/schemas/Shared253d80d4","description":"Scheduled for for this record."}},"required":["kind","scheduledFor"],"additionalProperties":false}],"description":"Resolution for this record."}},"required":["scope","scheduledFor","resolution"],"additionalProperties":false},{"type":"object","properties":{"scope":{"type":"string","const":"future","description":"Scope for this record."},"effectiveFrom":{"$ref":"#/components/schemas/Shared70987bd5","description":"Effective from for this record."},"trigger":{"$ref":"#/components/schemas/Sharedf25fb505","description":"Trigger for this record."}},"required":["scope","effectiveFrom","trigger"],"additionalProperties":false}]},"example":{"scope":"occurrence","scheduledFor":"2026-09-19","resolution":{"kind":"complete"}}}},"description":"Fields used to edit recurrence scope. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/work-schedules/preview":{"post":{"operationId":"postV1OrgsByOrgIdWorkSchedulesPreview","summary":"Review scheduled work before saving","tags":["Recurrence"],"responses":{"200":{"$ref":"#/components/responses/SharedResponse7d0acb1e"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdWorkSchedulesPreviewRequest"}}},"description":"Fields used to review scheduled work before saving. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nReview scheduled work before saving.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/work-schedules/{id}/preview":{"post":{"operationId":"postV1OrgsByOrgIdWorkSchedulesByIdPreview","summary":"Review future changes to an existing work schedule","tags":["Recurrence"],"responses":{"200":{"$ref":"#/components/responses/SharedResponse7d0acb1e"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter2992d4be"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdWorkSchedulesByIdPreviewRequest"}}},"description":"Fields used to review future changes to an existing work schedule. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nReview future changes to an existing work schedule.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/work-schedules":{"get":{"operationId":"getV1OrgsByOrgIdWorkSchedules","summary":"List work schedules","tags":["Recurrence"],"responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Shareda6e1b5db"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","ownerProgramId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"active","revision":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","number":1,"effectiveFrom":"2026-09-19","document":{"kind":"schedule","revision":1,"template":{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","selection":{"kind":"latest"},"targetType":"task"},"titlePattern":"example","timezone":"example","root":{"kind":"task","fields":{},"dates":{},"placement":{}},"stepOverrides":[{"kind":"task","path":["example-slug"]}],"optionalChoices":[{"path":["example-slug"],"selected":false}]},"trigger":{"kind":"manual"},"createdAt":"2026-09-19T12:00:00.000Z"},"nextRunDate":"2026-09-19","templateArchived":false,"canEdit":false,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","pausedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"in":"query","name":"ownerProgramId","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"description":"ULID id of a Program — a mid-altitude grouping of related Projects."}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nList work schedules.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."},"post":{"operationId":"postV1OrgsByOrgIdWorkSchedules","summary":"Create a work schedule","tags":["Recurrence"],"responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdWorkSchedulesResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdWorkSchedulesPreviewRequest"}}},"description":"Fields used to create a work schedule. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nCreate a work schedule.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/work-schedules/{id}":{"get":{"operationId":"getV1OrgsByOrgIdWorkSchedulesById","summary":"Read a work schedule and its run history","tags":["Recurrence"],"responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdWorkSchedulesResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter2992d4be"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nRead a work schedule and its run history.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/work-schedules/{id}/revisions":{"post":{"operationId":"postV1OrgsByOrgIdWorkSchedulesByIdRevisions","summary":"Edit future scheduled work","tags":["Recurrence"],"responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdWorkSchedulesResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter2992d4be"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdWorkSchedulesByIdPreviewRequest"}}},"description":"Fields used to edit future scheduled work. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nEdit future scheduled work.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/work-schedules/{id}/lifecycle":{"post":{"operationId":"postV1OrgsByOrgIdWorkSchedulesByIdLifecycle","summary":"Pause, resume or end a work schedule","tags":["Recurrence"],"responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shareda6e1b5db"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter2992d4be"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string","enum":["pause","resume","end"],"description":"Allowed action value."}},"required":["action"],"additionalProperties":false},"example":{"action":"pause"}}},"description":"Fields used to pause, resume or end a work schedule. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nPause, resume or end a work schedule.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/work-schedules/{id}/runs":{"get":{"operationId":"getV1OrgsByOrgIdWorkSchedulesByIdRuns","summary":"Read scheduled run history","tags":["Recurrence"],"responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"$ref":"#/components/schemas/Shareddc577b8a","description":"Items for this record."},"nextCursor":{"type":"string","description":"Cursor for the next page. Omitted at the end."}},"required":["items"],"additionalProperties":false},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","seriesId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","scheduledFor":"2026-09-19","originalScheduledFor":"2026-09-19","status":"expected","attempt":0,"failureCode":"template_unavailable","failedAt":"2026-09-19T12:00:00.000Z","retryAvailableAt":"2026-09-19T12:00:00.000Z","completedAt":"2026-09-19T12:00:00.000Z","canRetry":false,"roots":[{"kind":"task","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"templates":[{"workTypeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workTypeVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nRead scheduled run history.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."},"post":{"operationId":"postV1OrgsByOrgIdWorkSchedulesByIdRuns","summary":"Run scheduled work once","tags":["Recurrence"],"responses":{"200":{"$ref":"#/components/responses/SharedResponse2dfbaf9a"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scheduledFor":{"$ref":"#/components/schemas/Shared253d80d4","description":"Scheduled for for this record."},"occurrenceKey":{"type":"string","minLength":1,"maxLength":256,"description":"Occurrence key for this record."}},"required":["scheduledFor"],"additionalProperties":false},"example":{"scheduledFor":"2026-09-19"}}},"description":"Fields used to run scheduled work once. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nRun scheduled work once.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."},"parameters":[{"$ref":"#/components/parameters/SharedParameter2992d4be"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/work-schedules/{id}/runs/{occurrenceId}/retry":{"post":{"operationId":"postV1OrgsByOrgIdWorkSchedulesByIdRunsByOccurrenceIdRetry","summary":"Retry a failed scheduled run","tags":["Recurrence"],"responses":{"200":{"$ref":"#/components/responses/SharedResponse2dfbaf9a"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter2992d4be"},{"in":"path","name":"occurrenceId","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"required":true,"description":"ULID id of an Occurrence — one durable expected run of a recurrence series."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nRetry a failed scheduled run.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/recurring-tasks":{"post":{"operationId":"postV1OrgsByOrgIdRecurringTasks","summary":"Create a recurring task","tags":["Recurrence"],"description":"## Purpose\n\nCreate a recurring task.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a repeating task in one call. Docket creates the recurrence rule and the tasks in its current rolling window. A completion-anchored rule creates its first task immediately.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"series":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a RecurrenceSeries — a schedule that expects process occurrences."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"processDefinitionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID identifier for a reusable, versioned process definition that can create work."},"processRevisionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a ProcessRevision — one immutable version of a process definition."},"name":{"type":"string","description":"Human-readable name."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Current lifecycle state."},"trigger":{"$ref":"#/components/schemas/Sharedf25fb505","description":"Trigger for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."},"pausedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Paused time as an ISO 8601 instant."},"endedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ended time as an ISO 8601 instant."}},"required":["id","organizationId","processDefinitionId","processRevisionId","name","status","trigger","createdAt","updatedAt","pausedAt","endedAt"],"description":"Series for this record."},"firstTask":{"$ref":"#/components/schemas/TaskOut","description":"First task for this record."},"occurrences":{"$ref":"#/components/schemas/Shared47cd48cc","description":"Occurrences for this record."}},"required":["series","firstTask","occurrences"]},"example":{"series":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","processDefinitionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","processRevisionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"active","trigger":{"kind":"manual"},"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","pausedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z"},"firstTask":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","state":"example","priority":"none","autoCompletedBySubtasks":false,"provenance":{"source":"native"},"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"},"occurrences":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","seriesId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","scheduledFor":"2026-09-19","originalScheduledFor":"2026-09-19","status":"expected","processInstanceId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","resolvedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"task":{"$ref":"#/components/schemas/TaskCreate","description":"Task for this record."},"schedule":{"$ref":"#/components/schemas/Shared987a7271","description":"Schedule for this record."},"missedPolicy":{"default":"skip","type":"string","enum":["skip","carry","resolve"],"description":"Allowed missed policy value."},"materialization":{"$ref":"#/components/schemas/Sharedc578c97e","description":"Materialization for this record."}},"required":["task","schedule"],"additionalProperties":false},{"type":"object","properties":{"task":{"$ref":"#/components/schemas/TaskCreate","description":"Task for this record."},"schedule":{"type":"object","properties":{"kind":{"type":"string","const":"after_completion","description":"Selects the value variant."},"interval":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Interval for this record."},"unit":{"type":"string","enum":["day","week","month"],"description":"Allowed unit value."}},"required":["kind","interval","unit"],"additionalProperties":false,"description":"Schedule for this record."},"missedPolicy":{"type":"string","enum":["skip","carry","resolve"],"description":"Allowed missed policy value."},"materialization":{"type":"object","properties":{"horizonDays":{"default":28,"type":"integer","minimum":1,"maximum":366,"description":"Horizon days for this record."},"minimumOccurrences":{"default":2,"type":"integer","minimum":1,"maximum":100,"description":"Minimum occurrences for this record."}},"additionalProperties":false,"description":"Materialization for this record."}},"required":["task","schedule"],"additionalProperties":false}]},"example":{"task":{"title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"schedule":{"kind":"daily","startDate":"2026-09-19","timezone":"example"}}}},"description":"Fields used to create a recurring task. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/search":{"get":{"operationId":"getV1OrgsByOrgIdSearch","summary":"Search within one organization","tags":["Search"],"description":"## Purpose\n\nSearch within one organization.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nReturn semantic, permission-filtered search results within the current organization. Query params match Hub search, but org scope cannot be widened by `orgIds`.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"Query for this record."},"items":{"type":"array","items":{"$ref":"#/components/schemas/SearchResult"},"description":"Items, in order."},"facets":{"type":"array","items":{"$ref":"#/components/schemas/SearchFacetSummary"},"description":"Facets, in order."},"nextCursor":{"type":"string","description":"Cursor for the next page. Omitted at the end."}},"required":["query","items","facets"],"description":"Semantic workspace search results."},"example":{"query":"example","items":[{"id":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","userId":"example","kind":"organization","family":"work","title":"example","summary":"example","snippet":"example","matchedFields":["title"],"route":{"type":"entity","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","entityKind":"organization","entityId":"example","href":"example"},"subject":{"kind":"organization","id":"example","title":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"source":{"system":"docket","externalUrl":"example","eventId":"example"},"facets":{},"actions":[{"kind":"example","label":"example"}],"score":0,"entityId":"example","externalUrl":"example","updatedAt":"2026-09-19T12:00:00.000Z"}],"facets":[{"field":"example","label":"example","values":[{"value":"example","label":"example","count":0}]}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9e1062ab"},{"$ref":"#/components/parameters/SharedParametercffa9333"},{"$ref":"#/components/parameters/SharedParameter45c79f35"},{"$ref":"#/components/parameters/SharedParameter30536e75"},{"$ref":"#/components/parameters/SharedParameter04bf74f7"},{"$ref":"#/components/parameters/SharedParameterfdad6e85"},{"$ref":"#/components/parameters/SharedParameter835b4a11"},{"$ref":"#/components/parameters/SharedParameterf6bc46a3"},{"$ref":"#/components/parameters/SharedParametera8f7b61d"},{"$ref":"#/components/parameters/SharedParameter92c194b1"},{"$ref":"#/components/parameters/SharedParameter2cacfd3b"},{"$ref":"#/components/parameters/SharedParameter1d13caa5"},{"$ref":"#/components/parameters/SharedParameter3ddb0555"},{"$ref":"#/components/parameters/SharedParameter684fd7bf"},{"$ref":"#/components/parameters/SharedParameterc923f502"},{"$ref":"#/components/parameters/SharedParameter52d0c3ca"},{"$ref":"#/components/parameters/SharedParameter230fa47b"},{"$ref":"#/components/parameters/SharedParametere08020c4"},{"$ref":"#/components/parameters/SharedParameterfc7e7ec9"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/mentions/search":{"get":{"operationId":"getV1OrgsByOrgIdMentionsSearch","summary":"Search mentionable entities in this organization","tags":["Mentions"],"description":"## Purpose\n\nSearch mentionable entities in this organization.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nReturn Docket entities the caller can reference from prose, answered from the local search index with no external provider call. An empty query returns the caller's most recently updated visible entities, which is what the picker shows before anything is typed.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"The query these items answer, echoed so a stale response is detectable."},"items":{"type":"array","items":{"$ref":"#/components/schemas/Shared645cd23a"},"description":"Matching mentions, best first."}},"required":["query","items"],"description":"Local mention picker results."},"example":{"query":"example","items":[{"origin":"local","id":"example","ref":{"kind":"entity","entityKind":"task","entityId":"example"},"entityKind":"task","title":"example","subtitle":"example","href":"example","score":0}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameterc1981c52"},{"$ref":"#/components/parameters/SharedParameter1e2f299a"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/mentions/external":{"get":{"operationId":"getV1OrgsByOrgIdMentionsExternal","summary":"Search resources in the caller's connected apps","tags":["Mentions"],"description":"## Purpose\n\nSearch resources in the caller's connected apps.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nFan out to the apps this caller has connected, under a per-provider deadline. Always returns 200 when the request itself is valid: a provider that is slow, throttled, or needs reauthorization is reported in `providers` as a closed status code, so one degraded app never removes another app's results or empties a menu the user is reading.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"The query these items answer, echoed so a stale response is detectable."},"items":{"type":"array","items":{"$ref":"#/components/schemas/Shared645cd23a"},"description":"Matching resources, best first."},"providers":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["web","google_drive","onedrive","sharepoint","notion","dropbox","box","figma","confluence"],"description":"Allowed provider value."},"status":{"type":"string","enum":["ok","scope_required","reauth_required","not_connected","throttled","timed_out","unavailable"],"description":"Current lifecycle state."},"tookMs":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Took ms for this record."}},"required":["provider","status","tookMs"]},"description":"Per-provider outcome. A provider failure is reported here inside a 200 rather than failing the request, so one degraded app never removes the rest of the results."}},"required":["query","items","providers"],"description":"External mention picker results."},"example":{"query":"example","items":[{"origin":"local","id":"example","ref":{"kind":"entity","entityKind":"task","entityId":"example"},"entityKind":"task","title":"example","subtitle":"example","href":"example","score":0}],"providers":[{"provider":"web","status":"ok","tookMs":0}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameterc1981c52"},{"$ref":"#/components/parameters/SharedParameter1e2f299a"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/mentions/hydrate":{"post":{"operationId":"postV1OrgsByOrgIdMentionsHydrate","summary":"Resolve references into preview cards","tags":["Mentions"],"description":"## Purpose\n\nResolve references into preview cards.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nResolve a batch of references into the cards their chips render on hover. POST rather than GET because references are user content that has no business in a URL, and because a document's worth of them exceeds any safe query-string length. Entities the caller cannot see come back marked inaccessible and carry no other fields.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"entity","description":"Selects the value variant."},"entityKind":{"type":"string","enum":["task","project","program","initiative","cycle","milestone","team","actor","agent_session","comment","update"],"description":"Allowed entity kind value."},"entityId":{"type":"string","description":"Identifies the referenced entity."},"accessible":{"type":"boolean","description":"Accessible for this record."},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Human-readable title."},"subtitle":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Subtitle for this record."},"excerptMarkdown":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Excerpt markdown for this record."},"href":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"URL a client can open."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Current lifecycle state."},"health":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Health for this record."},"ownerLabel":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Owner label for this record."},"dueAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Due time as an ISO 8601 instant."},"updatedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The last change time as an ISO 8601 instant."}},"required":["kind","entityKind","entityId","accessible","title","subtitle","excerptMarkdown","href","state","health","ownerLabel","dueAt","updatedAt"]},{"type":"object","properties":{"kind":{"type":"string","const":"external","description":"Selects the value variant."},"url":{"type":"string","description":"Absolute URL for this resource."},"resource":{"$ref":"#/components/schemas/ExternalResourceOut","description":"Resource for this record."}},"required":["kind","url","resource"]}]},"description":"One card per resolvable ref, in request order. Unresolvable refs are omitted."}},"required":["items"],"description":"Preview cards for a batch of references."},"example":{"items":[{"kind":"entity","entityKind":"task","entityId":"example","accessible":false,"title":"example","subtitle":"example","excerptMarkdown":"example","href":"example","state":"example","health":"example","ownerLabel":"example","dueAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"refs":{"minItems":1,"maxItems":50,"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/Sharedfb2174e5"},{"$ref":"#/components/schemas/Sharedc6ff5293"}]},"description":"The references to resolve, deduped by the caller. Capped at 50 because one surface is one request; a longer document paginates rather than fanning out."}},"required":["refs"],"description":"A batch request for mention preview cards."},"example":{"refs":[{"kind":"entity","entityKind":"task","entityId":"example"}]}}},"description":"Fields used to resolve references into preview cards. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/references/{targetKind}/{targetId}":{"get":{"operationId":"getV1OrgsByOrgIdReferencesByTargetKindByTargetId","summary":"List the records that use this one","tags":["Search"],"description":"## Purpose\n\nList the records that use this one.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn every record that uses this entity or external resource, grouped by record kind. Resource uses include structured prose references and direct attachments. Records the caller cannot see are omitted rather than counted.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Total for this record."},"groups":{"type":"array","items":{"type":"object","properties":{"subjectType":{"type":"string","description":"Subject type for this record."},"items":{"type":"array","items":{"$ref":"#/components/schemas/ReferencingRecord"},"description":"Items, in order."}},"required":["subjectType","items"]},"description":"Groups, in order."}},"required":["total","groups"],"description":"The records whose prose references one entity or external resource."},"example":{"total":0,"groups":[{"subjectType":"example","items":[{"subjectType":"example","subjectId":"example","title":"example","href":"example"}]}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"targetKind","schema":{"type":"string"},"required":true,"description":"Target kind supplied in the path."},{"in":"path","name":"targetId","schema":{"type":"string"},"required":true,"description":"Identifier of the target selected by this path parameter."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/projects/{id}/mentions":{"get":{"operationId":"getV1OrgsByOrgIdProjectsByIdMentions","summary":"List the references written in this record","tags":["Projects"],"description":"## Purpose\n\nList the references written in this record.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn everything this record's prose points at, derived from its stored Markdown rather than curated. External references carry their resolved metadata; references to Docket entities the caller cannot see are omitted.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsea91e902b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/tasks/{id}/mentions":{"get":{"operationId":"getV1OrgsByOrgIdTasksByIdMentions","summary":"List the references written in this record","tags":["Tasks"],"description":"## Purpose\n\nList the references written in this record.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn everything this record's prose points at, derived from its stored Markdown rather than curated. External references carry their resolved metadata; references to Docket entities the caller cannot see are omitted.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsea91e902b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/initiatives/{id}/mentions":{"get":{"operationId":"getV1OrgsByOrgIdInitiativesByIdMentions","summary":"List the references written in this record","tags":["Initiatives"],"description":"## Purpose\n\nList the references written in this record.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn everything this record's prose points at, derived from its stored Markdown rather than curated. External references carry their resolved metadata; references to Docket entities the caller cannot see are omitted.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsea91e902b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/programs/{id}/mentions":{"get":{"operationId":"getV1OrgsByOrgIdProgramsByIdMentions","summary":"List the references written in this record","tags":["Programs"],"description":"## Purpose\n\nList the references written in this record.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn everything this record's prose points at, derived from its stored Markdown rather than curated. External references carry their resolved metadata; references to Docket entities the caller cannot see are omitted.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsea91e902b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/members":{"get":{"operationId":"getV1OrgsByOrgIdMembers","summary":"List members","tags":["Members"],"description":"## Purpose\n\nList members.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList active and suspended people in the workspace. Agents, teams, and pending invitations are excluded. Each person includes display name, avatar, membership status, role ID, and an optional Docket `userId`. A null `userId` identifies a person who does not have a Docket account; both kinds of person use the same response shape.\n\nResults are ordered by `displayName`, case-insensitively, with person ID as the stable tie-breaker. The default page size is 50 and the maximum is 100. The final page omits `nextCursor`. Use `GET /invitations` to list people who have not joined.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MemberOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","displayName":"example","status":"active","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdMembers","summary":"Add a person without an account","tags":["Members"],"description":"## Purpose\n\nAdd a person without an account.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a workspace person without an account or invitation. Requires contribute. Personal workspaces support accountless people. The default role is null; an explicitly supplied role requires manage and must belong to this workspace. Use Idempotency-Key to retry without duplicate creation.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"displayName":{"type":"string","minLength":1,"maxLength":120,"description":"The person's name as the workspace should show it. This is the only required field — a person needs a name, not an account."},"avatar":{"description":"URL of the person's avatar image; omit or null for the initials fallback.","anyOf":[{"type":"string"},{"type":"null"}]},"roleId":{"description":"An optional workspace role. Omitted or null creates a person without access privileges. Supplying this field requires manage permission; a non-null role must belong to this workspace.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Role — a named bundle of capabilities assignable to an actor."},{"type":"null"}]}},"required":["displayName"],"description":"Add a person to a workspace without a Docket account."},"example":{"displayName":"example"}}},"description":"Fields used to add a person without an account. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/members/invite":{"post":{"operationId":"postV1OrgsByOrgIdMembersInvite","summary":"Invite a member","tags":["Members"],"description":"## Purpose\n\nInvite a member.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n**Legacy alias** for `POST /invitations`. New integrations should use `POST /invitations`. Both operations accept the same input and produce the same result.\n\nCreate a pending invitation that binds an email address to a role in this organization. Docket takes the organization and inviter from the authenticated request; the body cannot override them. `roleId` must identify a role in this organization. Otherwise, Docket returns 404.\n\nInviting into a **personal organization** is rejected with **409** because a personal space can have only one member. The invitation receives an opaque `token`, `status = 'pending'`, and an `expiresAt` seven days in the future. The pending invitation appears in `GET /invitations`; redeem it through `POST /invitations/:token/accept` (or the legacy `POST /accept-invite`), or cancel it through `DELETE /invitations/:id`. This operation creates the invitation but does not send its acceptance link by email.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdMembersInviteRequest"}}},"description":"Fields used to invite a member. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/members/accept-invite":{"post":{"operationId":"postV1OrgsByOrgIdMembersAcceptInvite","summary":"Accept an invitation","tags":["Members"],"description":"## Purpose\n\nAccept an invitation.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nLegacy alias for `POST /invitations/:token/accept`. New clients should use the path form. This alias reads the invitation token from the JSON body as `{ \"token\": \"…\" }`.\n\nAccept a pending invitation and return the new `MemberOut`. The signed-in user receives the role named by the invitation, and the invitation changes to `accepted` with an `acceptedAt` time. Docket returns 404 when the token does not identify an invitation in this organization. It returns 409 when the invitation is expired or no longer pending, or when the user is already a member.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsecbe04e4c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":1,"description":"The opaque token from the invitation link. A pending, unexpired token authorizes the recipient to join the organization."}},"required":["token"],"description":"Accept an invitation by token."},"example":{"token":"example"}}},"description":"Fields used to accept an invitation. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/members/invitations":{"get":{"operationId":"getV1OrgsByOrgIdMembersInvitations","summary":"List pending invitations","tags":["Members"],"description":"## Purpose\n\nList pending invitations.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList the org's **pending** invitations — outstanding offers not yet accepted, revoked, or expired. The query filters strictly on `status = 'pending'`, so accepted/revoked/expired rows never appear here even though they remain in the table for audit. Each `InvitationOut` carries the invited email, target role, `asGuest` flag, who invited them (`invitedBy`), and the `expiresAt` deadline.\n\nResults use stable invitation-id order, default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Requires only org membership (no `manage`) to read — any member can see who's been invited; `manage` is only required to create or revoke. Note: an invitation whose `expiresAt` has passed but whose stored `status` is still `pending` will still appear here (expiry is enforced at accept time, not by a sweep); treat `expiresAt < now` as effectively expired on the client. See `POST /invitations` to create and `DELETE /invitations/:id` to revoke.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/InvitationOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","email":"developer@example.com","roleId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","asGuest":false,"status":"pending","expiresAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdMembersInvitations","summary":"Create an invitation","tags":["Members"],"description":"## Purpose\n\nCreate an invitation.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nInvite a person to the organization by email, bound to a role. Creates a pending `invitation` row with a freshly generated opaque `token`, `status = 'pending'`, and `expiresAt` 7 days out; redemption then materializes the invitee's human Actor (see `POST /invitations/:token/accept`).\n\nRequires the `manage` capability because issuing an invitation grants future org access. `organizationId` and `invitedBy` are sourced from the verified actor context, never the body — a caller cannot invite into another org or spoof the inviter. The target `roleId` MUST belong to this org; a foreign or unknown role returns **404** (existence-hiding), which also blocks a cross-org role from being attached to a new member. Set `asGuest: true` to mark the invitation as a guest seat (the Guest role is grant-only — the invitee sees nothing until explicit grants name resources for them).\n\nInviting into a **personal organization** is rejected with **409** (org-of-one). This is the canonical create endpoint; `POST /invite` is a legacy alias with identical behavior. Email delivery of the accept link is handled downstream by the email boundary, not this handler — this call only persists the durable invitation. Related: `GET /invitations` (list pending), `DELETE /invitations/:id` (revoke).\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdMembersInviteRequest"}}},"description":"Fields used to create an invitation. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/members/invitations/{token}/accept":{"post":{"operationId":"postV1OrgsByOrgIdMembersInvitationsByTokenAccept","summary":"Accept an invitation by token","tags":["Members"],"description":"## Purpose\n\nAccept an invitation by token.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRedeem a pending invitation by its opaque `token` (supplied in the path) and join the org as a **human Actor**. This is the canonical accept endpoint; `POST /accept-invite` is the legacy body-token alias with identical logic.\n\nRequires only an authenticated session — possession of the valid token is the authorization (the token IS the secret). Runs one transaction: load the invitation by `(token, orgId)`, assert it is `pending` and unexpired, assert the caller is not already a member, insert the human Actor bound to the invitation's role, and flip the invitation to `accepted` with `acceptedAt` set.\n\nErrors: **404** when no invitation matches the token in this org (existence-hiding); **409** when the invitation is no longer pending, has passed `expiresAt`, or the user is already a member. Returns the new `MemberOut`. The accepting user's session must already be authenticated for the org context to resolve; the new actor's capabilities derive from the invitation's role. Idempotency note: a second accept of the same token returns 409 (already accepted), so clients should treat 409-already-member as success.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsecbe04e4c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"token","schema":{"type":"string","minLength":1},"required":true,"description":"Token supplied in the path."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/members/invitations/{id}":{"delete":{"operationId":"deleteV1OrgsByOrgIdMembersInvitationsById","summary":"Revoke an invitation","tags":["Members"],"description":"## Purpose\n\nRevoke an invitation.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nCancel a still-pending invitation by its id, flipping its `status` from `pending` to `revoked` so the token can no longer be redeemed. Requires the `manage` capability (the same gate as issuing one). The update is scoped to `(id, orgId, status = 'pending')`: only a pending invitation belonging to THIS org is affected, which both enforces tenant isolation and makes the operation a safe no-op-then-404 against already-accepted/revoked rows.\n\nReturns **404** when no pending invitation with that id exists in the org (it was never created here, already accepted, or already revoked) — note this is keyed on the invitation **id**, not the token. On success returns `{ id, revoked: true }`. Revocation does not delete the row (it stays for audit) and does not affect a member who has already accepted — to remove an accepted member use `DELETE /:actorId`. See `POST /invitations` to create and `GET /invitations` to list pending ones.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The id of the invitation that was revoked."},"revoked":{"type":"boolean","const":true,"description":"Always true — a tombstone confirming the invitation's status was flipped to 'revoked'. The row is retained for audit, not deleted."}},"required":["id","revoked"],"description":"Confirmation that an invitation was revoked."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","revoked":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/members/{actorId}/consolidation-preview":{"post":{"operationId":"postV1OrgsByOrgIdMembersByActorIdConsolidationPreview","summary":"Preview duplicate person consolidation","tags":["Members"],"responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"previewRevision":{"type":"string","description":"Preview revision for this record."},"sourceActorId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"survivorActorId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"sourceName":{"type":"string","description":"Source name for this record."},"survivorName":{"type":"string","description":"Survivor name for this record."},"assignments":{"type":"number","description":"Assignments for this record."},"projects":{"type":"number","description":"Projects for this record."},"initiatives":{"type":"number","description":"Initiatives for this record."},"programs":{"type":"number","description":"Programs for this record."},"linkedIdentities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"actorId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced actor."},"integrationId":{"type":"string","description":"Identifies the referenced integration."},"externalId":{"type":"string","description":"Identifies the referenced external."},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name for this record."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."}},"required":["id","actorId","integrationId","externalId","displayName","updatedAt"]},"description":"Linked identities, in order."}},"required":["previewRevision","sourceActorId","survivorActorId","sourceName","survivorName","assignments","projects","initiatives","programs","linkedIdentities"]},"example":{"previewRevision":"example","sourceActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","survivorActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sourceName":"example","survivorName":"example","assignments":0,"projects":0,"initiatives":0,"programs":0,"linkedIdentities":[{"id":"example","actorId":"example","integrationId":"example","externalId":"example","displayName":"example","updatedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameterc346a969"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"survivorActorId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."}},"required":["survivorActorId"]},"example":{"survivorActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to preview duplicate person consolidation. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nPreview duplicate person consolidation.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/members/{actorId}/consolidate":{"post":{"operationId":"postV1OrgsByOrgIdMembersByActorIdConsolidate","summary":"Consolidate duplicate people","tags":["Members"],"responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdMembersByActorIdConsolidateResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameterc346a969"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"survivorActorId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"previewRevision":{"type":"string","minLength":1,"description":"Preview revision for this record."}},"required":["survivorActorId","previewRevision"]},"example":{"survivorActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","previewRevision":"example"}}},"description":"Fields used to consolidate duplicate people. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nConsolidate duplicate people.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/members/{actorId}/profile":{"get":{"operationId":"getV1OrgsByOrgIdMembersByActorIdProfile","summary":"Get a person's workspace profile","tags":["Members"],"description":"## Purpose\n\nGet a person's workspace profile.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn one person's workspace profile, including name, avatar, participation status, organization role, active assigned tasks, led projects, and owned initiatives. Work collections are scoped to this organization and sorted for display.\n\nThe target must be a human member of this organization; an unavailable person, agent Actor, or team Actor returns 404. The response does not reveal whether the person has a Docket account. Members with and without accounts use the same profile shape. Use `GET /v1/orgs/:orgId/members` when a client also needs `userId`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdMembersByActorIdConsolidateResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdMembersByActorIdProfile","summary":"Update a person's name, avatar, or job title","tags":["Members"],"description":"## Purpose\n\nUpdate a person's name, avatar, or job title.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate a person's workspace display name or avatar and return the current `PersonProfileOut`. Omitted fields remain unchanged, and `avatar: null` removes the avatar. The target must be a human member of this organization; otherwise Docket returns 404.\n\nThese values belong to the workspace. Updating them does not change the person's account profile in another workspace. This operation cannot change role or membership status; use `PATCH /:actorId` for those fields.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdMembersByActorIdConsolidateResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"displayName":{"description":"Rename the person as this workspace shows them. Omit to leave unchanged.","type":"string","minLength":1,"maxLength":120},"avatar":{"description":"Re-point or clear (null) the person's avatar image. Omit to leave unchanged.","anyOf":[{"type":"string"},{"type":"null"}]},"title":{"description":"The person's job title in this organization (e.g. 'Event Coordinator'), or null to clear it. Omit to leave unchanged. Workspace-owned like the display name: for someone who never signs in, this is the only record of their standing in the organization, so it is editable on the same terms as anyone else's.","anyOf":[{"type":"string","maxLength":120},{"type":"null"}]}},"description":"Update a person's workspace display name, avatar, or job title."},"example":{}}},"description":"Fields used to update a person's name, avatar, or job title. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameterc346a969"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/members/{actorId}":{"patch":{"operationId":"patchV1OrgsByOrgIdMembersByActorId","summary":"Update a member","tags":["Members"],"description":"## Purpose\n\nUpdate a member.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate a member's `roleId` or `status` and return the current `MemberOut`. Omitted fields remain unchanged. The target must be a human member of this organization, and a supplied role must also belong to this organization. Otherwise, Docket returns 404.\n\n**Cross-org role guard:** when `roleId` is supplied it is validated to belong to THIS org before the write. `actor.roleId → role.id` is a bare global FK with no org constraint, and org-context resolves capabilities by joining that FK — so an unvalidated cross-org role would silently confer ANOTHER org's capabilities (a tenant break + privilege-escalation vector, permissions §4.5). A foreign/unknown role therefore returns **404**.\n\n**Last-owner guard:** if the target currently holds the Owner role and this patch would downgrade them (a `roleId` other than Owner) or suspend them (`status: 'suspended'`), the org must retain at least one other active account-backed Owner — otherwise the operation is rejected with **409**. This upholds the invariant that an org always has ≥1 active account-backed Owner. Re-pointing a non-Owner, or changing fields that don't drop the last Owner, is unaffected.\n\nReturns the updated `MemberOut`. Note this endpoint does NOT change `displayName`/`avatar` (those live on the user/account profile) — it is strictly role + status. To remove a member entirely use `DELETE /:actorId`.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"roleId":{"description":"Re-point the member to this role. Optional; omit to leave the role unchanged. MUST belong to this org (a foreign/unknown role yields 404). Downgrading the org's last active Owner via this field is rejected with 409 (last-owner guard).","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"status":{"description":"Set membership status: 'active' to (re)enable participation, 'suspended' to revoke access while keeping the seat. Optional; omit to leave unchanged. Suspending the org's last active Owner is rejected with 409 (last-owner guard).","type":"string","enum":["active","suspended"]}},"description":"Update a member's role or status."},"example":{}}},"description":"Fields used to update a member. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdMembersByActorId","summary":"Remove a member","tags":["Members"],"description":"## Purpose\n\nRemove a member.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove workspace access and archive the person's roster entry while retaining historical assignments, mentions, identity aliases, and invitation history. Requires manage. The target must be a human actor in this workspace. The last active account-backed owner cannot be removed. Removal clears account and role links, deletes actor access grants and team/project memberships, and revokes pending invitations targeting this person. Returns { id, removed: true }\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The actor id of the member that was removed."},"removed":{"type":"boolean","const":true,"description":"Always true — a tombstone confirming the member Actor was deleted."}},"required":["id","removed"],"description":"Confirmation that a member was removed."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removed":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameterc346a969"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/roles":{"get":{"operationId":"getV1OrgsByOrgIdRoles","summary":"List roles","tags":["Roles"],"description":"## Purpose\n\nList roles.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList the Owner, Admin, Member, and Guest roles plus the workspace's custom roles. Each role defines a capability set, an optional workspace-wide base capability, and a default visibility policy. Higher capabilities include the permissions of lower capabilities.\n\nResults use stable role-id order, default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Requires only org membership to read (no `manage`) — members need to see the role catalog to assign roles in invites. See `POST /` to create custom roles and `GET /:id` for a single role.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RoleOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","key":"example","name":"example","isSystem":false,"capabilities":["view"],"defaultVisibility":"public","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdRoles","summary":"Create a role","tags":["Roles"],"description":"## Purpose\n\nCreate a role.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a custom role that can be assigned to workspace members. The `key` is a stable identifier and must be unique within the workspace. The workspace comes from the path and cannot be supplied in the request body.\n\n`capabilities` defaults to an empty array and `baseCapability` defaults to `null`. A caller cannot create a role with more authority than the caller already has. Capability rank is `view` < `comment` < `contribute` < `assign` < `manage`; each level includes the levels below it.\n\nReturns the created `RoleOut`. Assign the role to members via the invitation `roleId` or `PATCH /members/:actorId`. See `PATCH /:id` to edit and `DELETE /:id` to remove (system roles cannot be deleted).\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","minLength":1,"description":"Stable URL-safe identifier that is unique within the organization and cannot change after creation. The system roles reserve `owner`, `admin`, `member`, and `guest`."},"name":{"type":"string","minLength":1,"description":"Human-readable display name for the role (honors the org vocabulary skin)."},"capabilities":{"description":"The role's capability bundle, each one of 'view' < 'comment' < 'contribute' < 'assign' < 'manage' (ascending privilege; a higher capability implies all lower ones, and the resolver collapses the set to its max rank). Defaults to an empty array when omitted.","type":"array","items":{"$ref":"#/components/schemas/Shareda3c009a6"}},"baseCapability":{"description":"The organization-wide capability granted by this role, or null for a role such as Guest that receives access only through explicit grants. It cannot exceed the creator's own capability. Defaults to null.","anyOf":[{"$ref":"#/components/schemas/Shareda3c009a6"},{"type":"null"}]},"defaultVisibility":{"description":"The role's default resource visibility — 'public' (members see all public work without a grant) or 'private' (grant-only, like Guest: sees nothing until an explicit grant). Governs the visibility fallback in the permission resolver. Defaults at the DB level when omitted.","type":"string","enum":["public","private"]}},"required":["key","name"],"description":"Create a role within an organization."},"example":{"key":"example","name":"example"}}},"description":"Fields used to create a role. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/roles/{id}":{"get":{"operationId":"getV1OrgsByOrgIdRolesById","summary":"Get a role","tags":["Roles"],"description":"## Purpose\n\nGet a role.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn a role's key, name, system-role flag, capabilities, base capability, default visibility, and creation time. Any workspace member may read a role. Docket returns **404** when the role does not exist in this workspace or the caller cannot access it. See `GET /` to list all roles.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdRolesById","summary":"Update a role","tags":["Roles"],"description":"## Purpose\n\nUpdate a role.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate a role's `name`, `capabilities`, `baseCapability`, or `defaultVisibility` and return the current `RoleOut`. Omitted fields remain unchanged. `capabilities` replaces the complete array, and `baseCapability: null` removes the workspace-wide baseline.\n\nA role's `key` cannot be changed. A caller cannot raise a role above the caller's own effective capability. Updating a system role's capability bundle requires Owner access. An unavailable role returns 404.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"description":"New display name for the role. Omit it to keep the current name. A role's key cannot be changed.","type":"string","minLength":1},"capabilities":{"description":"Replace the role's capability bundle (each one of 'view' < 'comment' < 'contribute' < 'assign' < 'manage'). Setting this overwrites the whole array, not a merge. Optional; omit to leave unchanged. Cannot raise the role above the editor's own effective capability (no self-escalation).","type":"array","items":{"$ref":"#/components/schemas/Shareda3c009a6"}},"baseCapability":{"description":"Change the org-wide baseline this role confers (one of the five capabilities, or null to make it grant-only). Optional; omit to leave unchanged. Setting null clears the org-root baseline.","anyOf":[{"$ref":"#/components/schemas/Shareda3c009a6"},{"type":"null"}]},"defaultVisibility":{"description":"Change the role's default visibility — 'public' or 'private'. Optional; omit to leave unchanged.","type":"string","enum":["public","private"]}},"description":"Update a role."},"example":{}}},"description":"Fields used to update a role. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdRolesById","summary":"Delete a role","tags":["Roles"],"description":"## Purpose\n\nDelete a role.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDelete a custom role by ID. The caller needs the `manage` capability. Docket returns **404** when the role does not exist in this workspace or the caller cannot access it. Owner, Admin, Member, and Guest roles cannot be deleted; attempting to delete one returns **409**.\n\nDeleting a custom role also removes permissions granted through that role and clears the role from affected members. Reassign those members first when they should retain workspace-wide access. The response contains the deleted role.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/grants":{"get":{"operationId":"getV1OrgsByOrgIdGrants","summary":"List grants","tags":["Grants"],"description":"## Purpose\n\nList grants.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList every capability `grant` in the organization. A grant binds a **subject** — an Actor or a Role — to a **resource node** in the containment tree (`organization` › `team`/`program`/`project` › `task`, etc.) and confers a flat capability set there. Grants are the storage form of both role baselines (the four seeded role bundles attach their org-root grant here) and individual actor overrides. By default a grant **cascades** to the resource's whole subtree, overridable by a more-specific grant lower down (permissions §3/§4.4).\n\nResults use stable grant-id order, default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Requires only org membership to read; the list is scoped to this org. The API only writes `allow` grants, though `deny` remains representable.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/GrantOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectKind":"actor","subjectId":"example","resourceKind":"organization","resourceId":"example","capabilities":["view"],"effect":"allow","cascades":false,"visibility":"public","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdGrants","summary":"Grant a capability","tags":["Grants"],"description":"## Purpose\n\nGrant a capability.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate or replace an `allow` grant for one subject and resource. The subject may be an Actor or a Role. When the same subject already has an allow grant for the same resource, Docket replaces its `capabilities`, `cascades`, visibility settings, and `expiresAt` instead of creating another grant.\n\n`cascades` defaults to true and extends the grant to resources below the selected resource. `visibilityOverride` changes effective visibility at that resource. An expired grant no longer provides access. A caller cannot grant a capability above the highest capability they hold; such a request returns 403.\n\nDocket returns 201 with `Location` when it creates a grant and 200 when it replaces an existing grant. Use `DELETE /:grantId` to remove the grant.\n\n`200` - Docket completed the action and returned its result.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse5977bfc2"},"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"subjectKind":{"type":"string","enum":["actor","role"],"description":"Whether the grant's subject is an individual 'actor' or a 'role' bundle. Together with `subjectId` and the resource tuple it forms the upsert key."},"subjectId":{"type":"string","minLength":1,"description":"Id of the subject: an Actor id when `subjectKind = 'actor'`, or a Role id when `subjectKind = 'role'`."},"resourceKind":{"type":"string","enum":["organization","team","initiative","program","project","cycle","task"],"description":"The kind of containment node the grant is attached to (organization/team/program/project/task/…)."},"resourceId":{"type":"string","minLength":1,"description":"Id of the specific resource instance the grant targets (e.g. a particular project id). For an org-root grant this is the organization id."},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/Shareda3c009a6"},"description":"The capabilities to confer at this resource, each one of 'view' < 'comment' < 'contribute' < 'assign' < 'manage' (ascending; higher implies all lower, resolved by max rank). Cannot exceed the writer's own max held capability (no self-escalation — a violation is rejected)."},"cascades":{"description":"When true (default), the grant applies to the named resource AND its entire containment subtree, overridable by a more-specific grant lower down. When false it pins to exactly that one resource (e.g. 'view this single task but nothing else in the project'). Defaults to true.","type":"boolean"},"visibilityOverride":{"description":"Per-resource visibility flip applied at this node — 'public' or 'private' — overriding the resource's inherited/stored visibility (most-specific override wins). Null (default) means inherit. Powers e.g. making one project public inside an otherwise members-only context.","anyOf":[{"$ref":"#/components/schemas/Shareddbc0dc97","description":"Visibility for this record."},{"type":"null"}]},"visibility":{"description":"Optional visibility saved on this grant. This is separate from `visibilityOverride`, which changes the effective visibility of the target resource.","type":"string","enum":["public","private"]},"expiresAt":{"description":"Optional ISO-8601 expiry. Once `< now` the grant becomes inert — filtered out by the resolver — which powers time-boxed access such as temporary guest grants. Null (default) means it never expires.","anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}]}},"required":["subjectKind","subjectId","resourceKind","resourceId","capabilities"],"description":"Upsert a capability grant on a resource."},"example":{"subjectKind":"actor","subjectId":"example","resourceKind":"organization","resourceId":"example","capabilities":["view"]}}},"description":"Fields used to grant a capability. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/grants/{grantId}":{"delete":{"operationId":"deleteV1OrgsByOrgIdGrantsByGrantId","summary":"Remove a grant","tags":["Grants"],"description":"## Purpose\n\nRemove a grant.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDelete an `allow` grant and return the deleted `GrantOut`. Docket returns 404 when the grant is unavailable, belongs to another organization, or represents a `deny` grant that this API cannot change.\n\nRemoving a cascading organization-level role grant removes that role's workspace-wide access. Removing a more specific grant restores any capability inherited from a broader grant. To reduce access without removing it, use `POST /` with a narrower capability set for the same subject and resource.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse5977bfc2"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"grantId","schema":{"type":"string"},"required":true,"description":"Identifier of the grant selected by this path parameter."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/agents":{"get":{"operationId":"getV1OrgsByOrgIdAgents","summary":"List agents","tags":["Agents"],"description":"## Purpose\n\nList agents.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList the agents registered in the workspace. Agents can be assigned work, appear in activity, and run supervised sessions. The response never includes connection secrets.\n\nResults use stable agent-ID order, default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Any workspace member may read this list.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AgentOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","approvalPolicy":"suggest","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdAgents","summary":"Register an agent","tags":["Agents"],"description":"## Purpose\n\nRegister an agent.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nRegister an agent and return the created `AgentOut`. Supply `actorId` to use an existing agent Actor in this organization, or supply `displayName` to create one. Supplying neither returns 409.\n\nAn existing Actor must have `kind: \"agent\"` and may back only one registered agent. An unavailable Actor returns 404, and an Actor that is already registered returns 409. The registration stores the supplied connection, approval policy, accountable owner, guidance, and approval routing. It stores a `credentialsRef`, not the connection secret itself.\n\nThe agent may start sessions after registration. Its actions remain subject to the configured `approvalPolicy`.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"actorId":{"description":"Wrap an EXISTING `agent`-kind Actor by id. Mutually exclusive with `displayName`; supply exactly one.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"displayName":{"description":"Display name for a new agent. Supply this instead of `actorId` when creating the agent and its actor together.","type":"string","minLength":1},"connection":{"description":"How to reach the agent runtime (endpoint + protocol). Optional/null for an agent with no external runtime yet.","anyOf":[{"$ref":"#/components/schemas/AgentConnection"},{"type":"null"}]},"approvalPolicy":{"description":"Initial autonomy level; defaults to the server policy when omitted.","type":"string","enum":["suggest","act_with_approval","autonomous"]},"accountableOwnerId":{"description":"The human Actor accountable for this agent's actions. Null/omitted leaves it unset.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}]},"guidance":{"description":"Freeform operating instructions/persona steering threaded to the agent at run time. Null/omitted for none.","anyOf":[{"type":"string"},{"type":"null"}]},"approvalRouting":{"description":"Who approves this agent's gated actions. Null/omitted falls back to the default routing.","anyOf":[{"$ref":"#/components/schemas/ApprovalRouting"},{"type":"null"}]}},"description":"Register an agent within an organization."},"example":{}}},"description":"Fields used to register an agent. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/agents/{id}":{"get":{"operationId":"getV1OrgsByOrgIdAgentsById","summary":"Get an agent","tags":["Agents"],"description":"## Purpose\n\nGet an agent.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch a single registered agent by id, scoped to the active organization, returning `AgentOut`. A non-existent id — or one belonging to another organization — yields 404 (`Agent not found`); the lookup is org-scoped so cross-tenant existence is hidden rather than leaked. No capability beyond org membership is required (a read). The response includes the agent's connection metadata (endpoint + protocol, never the secret), its `approvalPolicy`, `accountableOwnerId`, freeform `guidance`, and `approvalRouting`. Related: `GET /` (list), `PATCH /:id` (update), and the sessions router to see what the agent has actually been doing.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdAgentsById","summary":"Update an agent","tags":["Agents"],"description":"## Purpose\n\nUpdate an agent.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate a registered agent's `connection`, `approvalPolicy`, `accountableOwnerId`, `guidance`, or `approvalRouting` and return the current `AgentOut`. Omitted fields remain unchanged. Set a nullable field to null to clear it. The agent ID and backing Actor cannot be changed; register another agent to use a different Actor.\n\nChanges to approval policy or routing apply to future sessions and future approval decisions. They do not change actions that have already been approved or rejected. An unavailable agent returns 404.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"connection":{"description":"Replace the runtime connection; omit to leave unchanged, `null` to clear it.","anyOf":[{"$ref":"#/components/schemas/AgentConnection"},{"type":"null"}]},"approvalPolicy":{"description":"Change the agent's autonomy level; omit to leave unchanged. Affects future sessions, not already-settled activities.","type":"string","enum":["suggest","act_with_approval","autonomous"]},"accountableOwnerId":{"description":"Reassign (or `null` to clear) the accountable human owner; omit to leave unchanged.","anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}]},"guidance":{"description":"Replace (or `null` to clear) the operating guidance; omit to leave unchanged.","anyOf":[{"type":"string"},{"type":"null"}]},"approvalRouting":{"description":"Re-route who approves this agent's gated actions; omit to leave unchanged, `null` to reset to default.","anyOf":[{"$ref":"#/components/schemas/ApprovalRouting"},{"type":"null"}]}},"description":"Update a registered agent."},"example":{}}},"description":"Fields used to update an agent. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdAgentsById","summary":"Delete an agent","tags":["Agents"],"description":"## Purpose\n\nDelete an agent.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove an agent registration from the organization and return the deleted `AgentOut`. The agent can no longer start new sessions, while past activity and completed sessions remain in history. A missing or inaccessible agent returns 404. Requires the `manage` capability. Use `PATCH /:id` when you need to reconfigure the agent instead.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/sessions":{"get":{"operationId":"getV1OrgsByOrgIdSessions","summary":"List agent sessions","tags":["Agents"],"description":"## Purpose\n\nList agent sessions.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList the organization's agent sessions in `createdAt DESC, id DESC` order. Pages default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Reuse a cursor only with the same `status` filter. The summaries omit activity; use `GET /:id` for detail. A read; org membership is sufficient.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AgentSessionOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","trigger":"assignment","status":"pending","createdAt":"2026-09-19T12:00:00.000Z","executorKind":"athena","organizationId":null,"agentId":null,"ownerUserId":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"query","name":"status","schema":{"type":"string","enum":["pending","running","awaiting_input","awaiting_approval","completed","failed","canceled"]},"description":"The session's lifecycle state: `pending` (created, not yet dispatched — e.g. a proactively drafted plan); `running` (the agent is actively executing); `awaiting_input` (paused, waiting on a human reply to an elicitation); `awaiting_approval` (parked on a gated `proposed` action needing approve/reject); `completed` (finished, terminal); `failed` (errored, terminal); `canceled` (stopped by a human or a rejection, terminal)."},{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdSessions","summary":"Start an agent session from a prompt","tags":["Agents"],"description":"## Purpose\n\nStart an agent session from a prompt.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate and start an agent session from a freeform `prompt`. Omit `agentId` to use the caller's personal Athena agent, or supply a registered agent in the organization. An unknown or inaccessible agent returns 404.\n\nThe prompt becomes the first activity and the instruction for the agent. Personal Athena sessions belong to the caller and use the organization as their work context. Registered-agent sessions use the selected agent's workspace permissions.\n\nThe operation returns `202` with a monitor URL when work continues asynchronously, or `201` when it finishes creating the session before the response. Activities remain available through `GET /:id/stream`. Approval can pause a proposed action but never grants a permission the agent lacks. Requires `contribute`. Related operations run, pause, resume, cancel, approve, reject, and reply to the session.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSessionOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"202":{"$ref":"#/components/responses/SharedResponsefee380a2"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"description":"The non-empty brief the agent should plan and act against. It becomes the session's first response activity."},"agentId":{"description":"Bind to a specific registered agent; when omitted the org's default agent is resolved (lazily created if needed) so escalation works with no pre-setup.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"}},"required":["prompt"],"description":"Create and run an agent session from a freeform prompt."},"example":{"prompt":"example"}}},"description":"Fields used to start an agent session from a prompt. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/sessions/chat":{"get":{"operationId":"getV1OrgsByOrgIdSessionsChat","summary":"Get (or create) the user's Athena chat thread","tags":["Agents"],"description":"## Purpose\n\nGet (or create) the user's Athena chat thread.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn the caller's personal Athena chat session with its complete activity history. Docket creates the session on first use and focuses it on the current organization. The thread belongs to the caller and uses the same tools, permissions, and approval behavior as other Athena sessions.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponseda5418f0"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/sessions/chat/messages":{"post":{"operationId":"postV1OrgsByOrgIdSessionsChatMessages","summary":"Send a message to the Athena chat thread","tags":["Agents"],"description":"## Purpose\n\nSend a message to the Athena chat thread.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAdd a message to the organization's Athena chat thread. The message appears in activity history and becomes the next user turn. The operation returns `202` with a monitor URL when Athena continues asynchronously. It returns `200` when the thread is already waiting for approval or has been canceled, because no new work starts. Requires the `contribute` capability.\n\n`200` - Docket completed the action and returned its result.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdSessionsChatResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"202":{"description":"Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdSessionsChatResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdSessionsChatMessagesRequest"}}},"description":"Fields used to send a message to the Athena chat thread. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/sessions/chat/new":{"post":{"operationId":"postV1OrgsByOrgIdSessionsChatNew","summary":"Start a new Athena chat thread","tags":["Agents"],"description":"## Purpose\n\nStart a new Athena chat thread.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nCreate a chat session and make it the current chat. Existing chat sessions and their history remain available through `GET /:id` and the Agents feed. After this request, `GET /chat` and `POST /chat/messages` use the new session.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdSessionsChatResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/sessions/{id}":{"get":{"operationId":"getV1OrgsByOrgIdSessionsById","summary":"Get an agent session","tags":["Agents"],"description":"## Purpose\n\nGet an agent session.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch a single agent session with its **full, ordered Activity stream** as `AgentSessionDetailOut` — the session summary plus every persisted activity (thoughts, actions, responses, elicitations, errors) sorted oldest-first, so a client can render the whole transcript in one read. Org-scoped: a missing/cross-tenant id returns 404 (`Session not found`). A read; org membership suffices. Each `action` activity carries an `approvalStatus` (`proposed` / `approved` / `rejected` / `applied`) reflecting where it sits in the approval gate. For an incremental or live view use `GET /:id/activity` (paged) or `GET /:id/stream` (SSE) instead of re-fetching the whole detail.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponseda5418f0"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/sessions/{id}/run":{"post":{"operationId":"postV1OrgsByOrgIdSessionsByIdRun","summary":"Run an agent session","tags":["Agents"],"description":"## Purpose\n\nRun an agent session.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nRun or continue a session whose status is `pending` or `running`. Any other status returns 409. An absent or inaccessible session returns 404, as does a session whose registered agent no longer exists.\n\nDocket prevents two active runs for the same session. If an interrupted run stops renewing its claim, a later request can recover it. The session stops when it completes, fails, is canceled, or waits for a person. The operation returns `202` with a monitor URL when work continues asynchronously, or `200` with the settled session. Activities stream through `GET /:id/stream`. Personal Athena work requires its owner; registered-agent work requires `contribute`.\n\n`200` - Docket completed the action and returned its result.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsed732741b"},"202":{"$ref":"#/components/responses/SharedResponsefee380a2"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{}},"example":{}}},"description":"Fields used to run an agent session. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/sessions/{id}/stream":{"get":{"operationId":"streamAgentSessionActivity","summary":"Stream agent session activity (SSE)","tags":["Agents"],"description":"## Purpose\n\nReplay and live-tail one visible organization agent session.\n\n## Inputs and constraints\n\n- An unknown or expired Last-Event-ID fails before the stream opens.\n- The caller must retain access throughout delivery; losing access closes the stream.\n\n## Result and side effects\n\n- A new connection replays all retained activity in createdAt and id order.\n- Each persisted activity carries its id so a reconnect can resume after that position.\n\n## Access and permissions\n\nA first-party Docket session is required. OAuth access tokens are not accepted.\n\nNo workspace capability is required.\n\n## Failures and recovery\n\n- `unauthorized` (HTTP 401) — Docket could not find a valid session for this request.\n- `not_found` (HTTP 404) — The address may be wrong, or the item may no longer be available.\n- `validation_error` (HTTP 422) — One or more fields could not be accepted.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Organization session activity as a resumable Server-Sent Events stream.","content":{"text/event-stream":{"schema":{"type":"string"},"examples":{"thought":{"summary":"One persisted thought activity from the agent session.","value":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: thought\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"thought\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},"action":{"summary":"One persisted action activity from the agent session.","value":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: action\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"type\":\"action\",\"body\":{\"action\":{\"kind\":\"capture\",\"summary\":\"Create the task\"}},\"approvalStatus\":\"proposed\",\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},"response":{"summary":"One persisted response activity from the agent session.","value":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: response\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"response\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},"elicitation":{"summary":"One persisted elicitation activity from the agent session.","value":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: elicitation\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"elicitation\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},"error":{"summary":"One persisted error activity from the agent session.","value":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: error\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"error\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},"ping":{"summary":"An empty heartbeat emitted while the organization session remains active.","value":"event: ping\ndata: {}\n\n"}},"x-docket-events":[{"name":"thought","description":"One persisted thought activity from the agent session.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The activity entry id — also the SSE event id on `GET /:id/stream`, usable as `Last-Event-ID` to resume."},"sessionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The session this entry belongs to."},"organizationId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},{"type":"null"}],"description":"The workspace an action targets, or null for workspace-neutral personal activity."},"type":{"type":"string","enum":["thought","action","response","elicitation","error"],"description":"The kind of entry (thought/action/response/elicitation/error)."},"body":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The type-specific payload: `{ text }` for thought/response/elicitation/error, or `{ action: { kind, summary, diff? } }` for an `action` entry describing the proposed mutation."},"approvalStatus":{"description":"For `action` entries, the gate state (proposed/approved/rejected/applied); null/absent for non-action entries, which are never gated.","anyOf":[{"type":"string","enum":["proposed","approved","rejected","applied","failed"],"description":"Where a gated `action` sits in the approval gate: `proposed` (awaiting a human decision — parks the session in `awaiting_approval`); `approved` (a human cleared it — transient before apply, used by the session-level shortcut); `rejected` (a human vetoed it — never applies); `applied` (approved AND its effect has been applied — the gate's terminal success state, set by the activity-scoped approve route); `failed` (approved and attempted, but the tool reported an error — nothing changed; the action's `result` carries the error)."},{"type":"null"}]},"createdAt":{"type":"string","description":"ISO-8601 timestamp the entry was appended — the stream sort key (ascending)."}},"required":["id","sessionId","organizationId","type","body","createdAt"],"additionalProperties":false,"description":"An entry in a session's Activity stream."},"example":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: thought\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"thought\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},{"name":"action","description":"One persisted action activity from the agent session.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The activity entry id — also the SSE event id on `GET /:id/stream`, usable as `Last-Event-ID` to resume."},"sessionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The session this entry belongs to."},"organizationId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},{"type":"null"}],"description":"The workspace an action targets, or null for workspace-neutral personal activity."},"type":{"type":"string","enum":["thought","action","response","elicitation","error"],"description":"The kind of entry (thought/action/response/elicitation/error)."},"body":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The type-specific payload: `{ text }` for thought/response/elicitation/error, or `{ action: { kind, summary, diff? } }` for an `action` entry describing the proposed mutation."},"approvalStatus":{"description":"For `action` entries, the gate state (proposed/approved/rejected/applied); null/absent for non-action entries, which are never gated.","anyOf":[{"type":"string","enum":["proposed","approved","rejected","applied","failed"],"description":"Where a gated `action` sits in the approval gate: `proposed` (awaiting a human decision — parks the session in `awaiting_approval`); `approved` (a human cleared it — transient before apply, used by the session-level shortcut); `rejected` (a human vetoed it — never applies); `applied` (approved AND its effect has been applied — the gate's terminal success state, set by the activity-scoped approve route); `failed` (approved and attempted, but the tool reported an error — nothing changed; the action's `result` carries the error)."},{"type":"null"}]},"createdAt":{"type":"string","description":"ISO-8601 timestamp the entry was appended — the stream sort key (ascending)."}},"required":["id","sessionId","organizationId","type","body","createdAt"],"additionalProperties":false,"description":"An entry in a session's Activity stream."},"example":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: action\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"type\":\"action\",\"body\":{\"action\":{\"kind\":\"capture\",\"summary\":\"Create the task\"}},\"approvalStatus\":\"proposed\",\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},{"name":"response","description":"One persisted response activity from the agent session.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The activity entry id — also the SSE event id on `GET /:id/stream`, usable as `Last-Event-ID` to resume."},"sessionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The session this entry belongs to."},"organizationId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},{"type":"null"}],"description":"The workspace an action targets, or null for workspace-neutral personal activity."},"type":{"type":"string","enum":["thought","action","response","elicitation","error"],"description":"The kind of entry (thought/action/response/elicitation/error)."},"body":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The type-specific payload: `{ text }` for thought/response/elicitation/error, or `{ action: { kind, summary, diff? } }` for an `action` entry describing the proposed mutation."},"approvalStatus":{"description":"For `action` entries, the gate state (proposed/approved/rejected/applied); null/absent for non-action entries, which are never gated.","anyOf":[{"type":"string","enum":["proposed","approved","rejected","applied","failed"],"description":"Where a gated `action` sits in the approval gate: `proposed` (awaiting a human decision — parks the session in `awaiting_approval`); `approved` (a human cleared it — transient before apply, used by the session-level shortcut); `rejected` (a human vetoed it — never applies); `applied` (approved AND its effect has been applied — the gate's terminal success state, set by the activity-scoped approve route); `failed` (approved and attempted, but the tool reported an error — nothing changed; the action's `result` carries the error)."},{"type":"null"}]},"createdAt":{"type":"string","description":"ISO-8601 timestamp the entry was appended — the stream sort key (ascending)."}},"required":["id","sessionId","organizationId","type","body","createdAt"],"additionalProperties":false,"description":"An entry in a session's Activity stream."},"example":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: response\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"response\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},{"name":"elicitation","description":"One persisted elicitation activity from the agent session.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The activity entry id — also the SSE event id on `GET /:id/stream`, usable as `Last-Event-ID` to resume."},"sessionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The session this entry belongs to."},"organizationId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},{"type":"null"}],"description":"The workspace an action targets, or null for workspace-neutral personal activity."},"type":{"type":"string","enum":["thought","action","response","elicitation","error"],"description":"The kind of entry (thought/action/response/elicitation/error)."},"body":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The type-specific payload: `{ text }` for thought/response/elicitation/error, or `{ action: { kind, summary, diff? } }` for an `action` entry describing the proposed mutation."},"approvalStatus":{"description":"For `action` entries, the gate state (proposed/approved/rejected/applied); null/absent for non-action entries, which are never gated.","anyOf":[{"type":"string","enum":["proposed","approved","rejected","applied","failed"],"description":"Where a gated `action` sits in the approval gate: `proposed` (awaiting a human decision — parks the session in `awaiting_approval`); `approved` (a human cleared it — transient before apply, used by the session-level shortcut); `rejected` (a human vetoed it — never applies); `applied` (approved AND its effect has been applied — the gate's terminal success state, set by the activity-scoped approve route); `failed` (approved and attempted, but the tool reported an error — nothing changed; the action's `result` carries the error)."},{"type":"null"}]},"createdAt":{"type":"string","description":"ISO-8601 timestamp the entry was appended — the stream sort key (ascending)."}},"required":["id","sessionId","organizationId","type","body","createdAt"],"additionalProperties":false,"description":"An entry in a session's Activity stream."},"example":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: elicitation\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"elicitation\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},{"name":"error","description":"One persisted error activity from the agent session.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The activity entry id — also the SSE event id on `GET /:id/stream`, usable as `Last-Event-ID` to resume."},"sessionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The session this entry belongs to."},"organizationId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},{"type":"null"}],"description":"The workspace an action targets, or null for workspace-neutral personal activity."},"type":{"type":"string","enum":["thought","action","response","elicitation","error"],"description":"The kind of entry (thought/action/response/elicitation/error)."},"body":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The type-specific payload: `{ text }` for thought/response/elicitation/error, or `{ action: { kind, summary, diff? } }` for an `action` entry describing the proposed mutation."},"approvalStatus":{"description":"For `action` entries, the gate state (proposed/approved/rejected/applied); null/absent for non-action entries, which are never gated.","anyOf":[{"type":"string","enum":["proposed","approved","rejected","applied","failed"],"description":"Where a gated `action` sits in the approval gate: `proposed` (awaiting a human decision — parks the session in `awaiting_approval`); `approved` (a human cleared it — transient before apply, used by the session-level shortcut); `rejected` (a human vetoed it — never applies); `applied` (approved AND its effect has been applied — the gate's terminal success state, set by the activity-scoped approve route); `failed` (approved and attempted, but the tool reported an error — nothing changed; the action's `result` carries the error)."},{"type":"null"}]},"createdAt":{"type":"string","description":"ISO-8601 timestamp the entry was appended — the stream sort key (ascending)."}},"required":["id","sessionId","organizationId","type","body","createdAt"],"additionalProperties":false,"description":"An entry in a session's Activity stream."},"example":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: error\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"error\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},{"name":"ping","description":"An empty heartbeat emitted while the organization session remains active.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"example":"event: ping\ndata: {}\n\n"}]}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"name":"Last-Event-ID","in":"header","required":false,"description":"Resume strictly after the persisted activity id previously received. Replay window: All retained activity for the visible organization session.","schema":{"type":"string"}},{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"x-docket-access":{"kind":"session-only"},"x-docket-errors":["unauthorized","not_found","validation_error"],"x-docket-conditional-read":false,"x-docket-conditional-write":false,"x-docket-idempotency":false,"x-docket-related-operations":[],"x-docket-stream-resume":{"kind":"last-event-id","header":"Last-Event-ID","replayWindow":"All retained activity for the visible organization session.","description":"Resume strictly after the persisted activity id previously received."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/sessions/{id}/proposals":{"get":{"operationId":"getV1OrgsByOrgIdSessionsByIdProposals","summary":"List pending proposal groups","tags":["Agents"],"description":"## Purpose\n\nList pending proposal groups.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nList the session's still-proposed actions grouped by `proposalGroupId`. Results use stable proposal-group-id order, default to 50 groups, accept at most 100, and omit `nextCursor` at exhaustion. Org-scoped 404 when the session is missing.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponseb53a4b92"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/sessions/{id}/proposals/{groupId}/decision":{"put":{"operationId":"putV1OrgsByOrgIdSessionsByIdProposalsByGroupIdDecision","summary":"Decide a proposal group (batch)","tags":["Agents"],"description":"## Purpose\n\nDecide a proposal group (batch).\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nApprove or reject every pending action in a proposal group, or only the actions listed in `activityIds`. The response contains the current `AgentSessionOut`.\n\n`decision: \"approved\"` applies each selected action after checking the caller's current permissions, then resumes the session. `decision: \"rejected\"` applies none of the selected actions, records each rejection, and resumes the session so the agent can continue with that result. The request returns 404 when the group contains no pending actions.\n\nDocket returns 202 with a monitor URL when execution continues asynchronously. Otherwise, it returns 200 after applying the decision.\n\n`200` - Docket stored the change and returned the current representation.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse2ca718fd"},"202":{"$ref":"#/components/responses/SharedResponsefee380a2"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera34af5ed"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutV1OrgsByOrgIdSessionsByIdProposalsByGroupIdDecisionRequest"}}},"description":"Fields used to decide a proposal group (batch). Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/sessions/{id}/activity/{activityId}/proposal":{"patch":{"operationId":"patchV1OrgsByOrgIdSessionsByIdActivityByActivityIdProposal","summary":"Edit a pending proposal's input","tags":["Agents"],"description":"## Purpose\n\nEdit a pending proposal's input.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nReplace the `toolCall.input` of an action whose state is still `proposed`. Approval executes the edited input. An action without a pending tool call returns 409, and missing or inaccessible work returns 404. Athena requires its authenticated owner; registered-agent work requires `assign`.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse83ac9245"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameterd151d895"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchV1OrgsByOrgIdSessionsByIdActivityByActivityIdProposalRequest"}}},"description":"Fields used to edit a pending proposal's input. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/sessions/{id}/activity":{"get":{"operationId":"getV1OrgsByOrgIdSessionsByIdActivity","summary":"List agent session activity","tags":["Agents"],"description":"## Purpose\n\nList agent session activity.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nList a session's Activity entries in `createdAt ASC, id ASC` order. Pages default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Reuse a cursor only for the same session. This is the JSON equivalent of `GET /:id/stream`. The session must be visible to the caller.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse4ec5f124"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/sessions/{id}/activity/{activityId}/decision":{"put":{"operationId":"putV1OrgsByOrgIdSessionsByIdActivityByActivityIdDecision","summary":"Decide a gated session activity","tags":["Agents"],"description":"## Purpose\n\nDecide a gated session activity.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nApprove or reject a pending agent action and return its `SessionActivityOut`. The target must be an action in the named session with status `proposed`. Docket returns 404 when the session or activity is unavailable and 409 when the activity is no longer pending.\n\nApproval applies the action after checking the caller's current permissions, records who approved it, and allows the session to continue. Rejection records the decision without applying the action and cancels the session after no pending action remains. Set `scope: \"all_in_session\"` to apply the same decision to every pending action in the session; the default scope decides only `:activityId`.\n\nDocket returns 202 with a monitor URL when execution continues asynchronously. Otherwise, it returns 200 after applying the decision. Use `POST /:id/activity/:activityId/reply` to answer a request for information instead of deciding an action.\n\n`200` - Docket stored the change and returned the current representation.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse83ac9245"},"202":{"$ref":"#/components/responses/SharedResponse7696c58a"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameterd151d895"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"decision":{"$ref":"#/components/schemas/ApprovalDecision","description":"Decision for this record."},"scope":{"description":"Apply the decision to just this activity (default) or every proposed one.","type":"string","enum":["this","all_in_session"]}},"required":["decision"],"description":"A decision on one gated session activity."},"example":{"decision":"approved"}}},"description":"Fields used to decide a gated session activity. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/sessions/{id}/activity/{activityId}/reply":{"post":{"operationId":"postV1OrgsByOrgIdSessionsByIdActivityByActivityIdReply","summary":"Reply to a session elicitation","tags":["Agents"],"description":"## Purpose\n\nReply to a session elicitation.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAnswer an agent's `elicitation` (a mid-run question the agent asked the human) by appending a human `response` activity carrying the reply `body`, and return that new `SessionActivityOut`. The referenced `:activityId` must be an `elicitation` belonging to this org-scoped session — otherwise 404 (`Activity not found` / `Session not found`) or 409 (`Activity is not an elicitation`).\n\nSide effect: when the session was parked in `awaiting_input` it is resumed to `running` so the agent can continue with the answer; if it was already running the reply is simply recorded into the stream. Athena requires its authenticated owner; registered-agent work requires `contribute`. Related: `PUT /:id/activity/:activityId/decision` (for gated actions), and `POST /:id/resume` (resume without a textual answer).\n\n`200` - Docket completed the action and returned its result.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponseedd31343"},"202":{"$ref":"#/components/responses/SharedResponse7696c58a"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameterd151d895"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1OrgsByOrgIdSessionsChatMessagesRequest"}}},"description":"Fields used to reply to a session elicitation. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/sessions/{id}/pause":{"post":{"operationId":"postV1OrgsByOrgIdSessionsByIdPause","summary":"Pause an agent session","tags":["Agents"],"description":"## Purpose\n\nPause an agent session.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nPause a `running` session, transitioning it to `awaiting_input` and returning the updated `AgentSessionOut`. Only a `running` session may be paused; any other state yields 409 (`Session is not running`), and missing or private work returns 404. Athena requires its authenticated owner; registered-agent work requires `contribute`. Related: `/resume`, `/cancel` (terminal stop), and `/activity/:activityId/reply` (which also resumes an `awaiting_input` session when it carries an answer).\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsed732741b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/sessions/{id}/resume":{"post":{"operationId":"postV1OrgsByOrgIdSessionsByIdResume","summary":"Resume an agent session","tags":["Agents"],"description":"## Purpose\n\nResume an agent session.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nResume a session whose status is `awaiting_input`. Any other status returns 409. Docket applies the owner's concurrency limit and prevents duplicate runs for the same session. The operation returns `202` with a monitor URL when work continues asynchronously, or `200` with the current session. An absent or inaccessible session returns 404. Personal Athena work requires its owner; registered-agent work requires `contribute`.\n\n`200` - Docket completed the action and returned its result.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsed732741b"},"202":{"$ref":"#/components/responses/SharedResponsefee380a2"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/sessions/{id}/cancel":{"post":{"operationId":"postV1OrgsByOrgIdSessionsByIdCancel","summary":"Cancel an agent session","tags":["Agents"],"description":"## Purpose\n\nCancel an agent session.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nCancel a session, driving it to the terminal `canceled` state (stamping `endedAt`) and returning the updated `AgentSessionOut`. Any non-terminal session may be canceled; a session already in a terminal state (`completed`/`failed`/`canceled`) yields 409 (`Session is already in a terminal state`), and missing or private work returns 404. Athena requires its authenticated owner; registered-agent work requires `contribute`. Cancellation is final and proposed actions are never applied. Related: `/pause` and the reject routes.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsed732741b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/sessions/{id}/decision":{"put":{"operationId":"putV1OrgsByOrgIdSessionsByIdDecision","summary":"Decide a session’s latest proposed action","tags":["Agents"],"description":"## Purpose\n\nDecide a session’s latest proposed action.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nApprove or reject the session's latest proposed action without supplying an activity ID. Use the activity-specific decision endpoint when you need to select one proposal or narrow its scope.\n\n`decision: \"approved\"` returns the session to `running`. `decision: \"rejected\"` cancels the session and sets `endedAt`.\n\nThe session must be `awaiting_approval` (else 409 `Session is not awaiting approval`) with a proposed action present (else 409 `No proposed action awaiting approval`); a missing or cross-tenant id 404s.\n\nAthena requires its owner and checks the owner's current permissions again before executing the action. Registered-agent work requires `assign`. An approved action may return 202 with a monitor URL while work continues. A rejection is terminal and returns 200.\n\n`200` - Docket stored the change and returned the current representation.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse2ca718fd"},"202":{"$ref":"#/components/responses/SharedResponsefee380a2"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shared9f088645"}}},"description":"Fields used to decide a session’s latest proposed action. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/capture":{"post":{"operationId":"postV1OrgsByOrgIdCapture","summary":"Quick-capture text into a task","tags":["Capture"],"description":"## Purpose\n\nQuick-capture text into a task.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a task from freeform `text` without asking the caller to choose a team, state, or assignee. Docket uses the first non-empty line as the title, collapses repeated whitespace, and truncates the title to 120 characters. The complete input remains in the task description.\n\nThe task is assigned to the caller and placed in the organization's oldest active team, using that team's first workflow state. When the team has a cycle that covers today, the task joins that cycle; otherwise it remains outside a cycle. The task has `provenance.source: \"native\"` and appears in organization activity. Docket returns 404 when the organization has no active team. Use `POST /v1/orgs/:orgId/sessions` when Athena should interpret or plan the text instead.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"$ref":"#/components/responses/SharedResponse74918695"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","minLength":1,"description":"The freeform text to capture. Its first non-empty line (whitespace-collapsed, capped at 120 chars) becomes the task title; the full text becomes the task description. Non-empty."}},"required":["text"],"description":"Quick-capture freeform text into a task."},"example":{"text":"example"}}},"description":"Fields used to quick-capture text into a task. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/calendar/schedules":{"get":{"operationId":"getV1OrgsByOrgIdCalendarSchedules","summary":"Compare workspace schedules","tags":["Calendar"],"description":"## Purpose\n\nCompare workspace schedules.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nCompare active workspace members over a bounded range. Only explicitly shared personal layers are included. Busy-only shares and private/busy items return time bounds alone; item ids, kinds, and titles are structurally omitted.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"start":{"type":"string","description":"Comparison range start."},"end":{"type":"string","description":"Comparison range end."},"people":{"type":"array","items":{"$ref":"#/components/schemas/ScheduleComparisonPersonOut"},"description":"Schedules grouped by workspace actor."}},"required":["start","end","people"],"description":"Permission-safe schedules for several workspace members."},"example":{"start":"example","end":"example","people":[{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","displayName":"example","avatar":"example","timezone":"example","items":[{"startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allDayStartDate":"2026-09-19","allDayEndDate":"2026-09-19","access":"busy"}]}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/ScheduleComparisonQuery"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/email-suggestions":{"get":{"operationId":"getV1OrgsByOrgIdEmailSuggestions","summary":"List pending email suggestions","tags":["Suggestions"],"description":"## Purpose\n\nList pending email suggestions.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList pending email suggestions from oldest to newest as a page of `EmailSuggestionOut`. Accepted, dismissed, and expired suggestions are excluded because this collection represents the current review queue.\n\nEach item carries the synthesized draft and an `emailMeta` snapshot. Pages use `createdAt ASC, id ASC`, default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Org membership suffices to read.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EmailSuggestionOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","integrationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","externalThreadId":"example","title":"example","description":"example","dueDate":"2026-09-19","priority":"none","suggestedProjectId":"example","suggestedProgramId":"example","confidence":0,"status":"pending","emailMeta":{},"createdTaskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/email-suggestions/{id}/thread":{"get":{"operationId":"getV1OrgsByOrgIdEmailSuggestionsByIdThread","summary":"Read a suggestion’s source email thread","tags":["Suggestions"],"description":"## Purpose\n\nRead a suggestion’s source email thread.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch the source email thread behind a suggestion, live from the mail provider, as `EmailThreadOut` — the triage preview a reviewer reads before deciding.\n\nMessage **bodies are never saved in Docket**. The full thread is fetched from the mail provider for this request. List responses contain only the bounded `emailMeta` preview.\n\nWorks for a suggestion in any status, so an accepted task can still be traced back to the conversation that produced it. If the connector's grant has expired the response is 409 with a reconnect message rather than a hard failure — the suggestion is fine, the credential is not. A connector with no mail capability, or one that has gone missing, is 409/404 respectively. Org membership suffices.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"threadId":{"type":"string","description":"The provider-native thread id."},"subject":{"type":"string","description":"The thread subject."},"externalUrl":{"type":"string","description":"Canonical open-in-provider URL."},"messages":{"type":"array","items":{"$ref":"#/components/schemas/EmailThreadMessageOut"},"description":"The messages, oldest first."}},"required":["threadId","subject","externalUrl","messages"],"description":"A suggestion's source-email thread."},"example":{"threadId":"example","subject":"example","externalUrl":"example","messages":[{"id":"example","from":"example","to":["example"],"subject":"example","snippet":"example","sentAt":"2026-09-19T12:00:00.000Z","rfc822MessageId":"example","bodyHtml":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/email-suggestions/{id}/disposition":{"put":{"operationId":"putV1OrgsByOrgIdEmailSuggestionsByIdDisposition","summary":"Decide a pending email suggestion","tags":["Suggestions"],"description":"## Purpose\n\nDecide a pending email suggestion.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAccept or dismiss a pending email suggestion and return the updated `EmailSuggestionOut`. An accepted suggestion creates a task and sets `createdTaskId`. Use `overrides` to replace the proposed title, description, priority, or due date before task creation; omitted values keep the proposal. A dismissed suggestion creates no task.\n\nDocket returns 409 when the suggestion is no longer pending and 404 when it cannot place an accepted suggestion into a team. Repeating the same decision keeps the same final state. Use `GET /:id/thread` to read the source email before deciding.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an EmailSuggestion — an Athena-synthesized task proposal drawn from an email thread."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"integrationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Integration — a connected external provider/account (calendar, source control, etc.)."},"externalThreadId":{"type":"string","description":"Identifies the referenced external thread."},"title":{"type":"string","description":"Human-readable title."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Longer plain-language description."},"dueDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Due date in YYYY-MM-DD format."},"priority":{"$ref":"#/components/schemas/Sharedc392aa07","description":"Priority for this record."},"suggestedProjectId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced suggested project."},"suggestedProgramId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced suggested program."},"confidence":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Confidence for this record."},"status":{"type":"string","enum":["pending","accepted","dismissed","expired"],"description":"Current lifecycle state."},"emailMeta":{"anyOf":[{"$ref":"#/components/schemas/EmailSuggestionMeta"},{"type":"null"}],"description":"Email meta for this record."},"createdTaskId":{"$ref":"#/components/schemas/Shared61b1abe0","description":"Identifies the referenced created task."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."}},"required":["id","organizationId","integrationId","externalThreadId","title","description","dueDate","priority","suggestedProjectId","suggestedProgramId","confidence","status","emailMeta","createdTaskId","createdAt"],"description":"An Athena-synthesized email task suggestion."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","integrationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","externalThreadId":"example","title":"example","description":"example","dueDate":"2026-09-19","priority":"none","suggestedProjectId":"example","suggestedProgramId":"example","confidence":0,"status":"pending","emailMeta":{},"createdTaskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"decision":{"type":"string","enum":["accepted","dismissed"],"description":"What the reviewer decided."},"overrides":{"$ref":"#/components/schemas/SuggestionAcceptBody","description":"Overrides for this record."}},"required":["decision"],"description":"A reviewer’s decision on a pending email suggestion."},"example":{"decision":"accepted"}}},"description":"Fields used to decide a pending email suggestion. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/display/{subjectType}/{subjectId}":{"get":{"operationId":"getV1OrgsByOrgIdDisplayBySubjectTypeBySubjectId","summary":"Get work-item display metadata","tags":["Display"],"description":"## Purpose\n\nGet work-item display metadata.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturns decoupled icon and semantic color metadata for a native Docket entity, falling back to stable defaults when the item has not been customized.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sharedff04c959"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"put":{"operationId":"putV1OrgsByOrgIdDisplayBySubjectTypeBySubjectId","summary":"Customize work-item display metadata","tags":["Display"],"description":"## Purpose\n\nCustomize work-item display metadata.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreates or replaces decoupled icon and semantic color metadata for a native Docket entity without changing the domain record itself.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sharedff04c959"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"glyph":{"$ref":"#/components/schemas/Shared544ce6a1","description":"Glyph for this record."},"iconKey":{"$ref":"#/components/schemas/Shared4d8111db","description":"Icon key for this record."},"colorKey":{"$ref":"#/components/schemas/Shared2b2b2565","description":"Color key for this record."},"customColor":{"anyOf":[{"type":"string","pattern":"^#[0-9a-f]{6}$"},{"type":"null"}],"description":"Custom color for this record."},"coverImage":{"description":"A `data:` image URL to store as this entity's cover, or null to clear it and fall back to the derived cover. Omit to leave the current cover unchanged.","anyOf":[{"type":"string"},{"type":"null"}]}},"required":["colorKey","customColor"]},"example":{"colorKey":"neutral","customColor":"#336699"}}},"description":"Fields used to customize work-item display metadata. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdDisplayBySubjectTypeBySubjectId","summary":"Reset work-item display metadata","tags":["Display"],"description":"## Purpose\n\nReset work-item display metadata.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDeletes customized icon and semantic color metadata for a native Docket entity and returns the stable default presentation for that item type.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sharedff04c959"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter8c4cfbad"},{"$ref":"#/components/parameters/SharedParametera6106661"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/display/{subjectType}":{"get":{"operationId":"getV1OrgsByOrgIdDisplayBySubjectType","summary":"List display metadata for every customized subject of one type","tags":["Display"],"description":"## Purpose\n\nList display metadata for every customized subject of one type.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nReturn customized display settings in stable subject-id order. Pages default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Reuse a cursor only for the same subject type. A subject absent from this list uses the stable default for its type.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Sharedff04c959"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"subjectType":"initiative","subjectId":"example","glyph":{"kind":"symbol","name":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"},"iconKey":"target","colorKey":"neutral","customColor":"#336699","coverImage":"example","customized":false}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter8c4cfbad"},{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/automation-rules":{"get":{"operationId":"getV1OrgsByOrgIdAutomationRules","summary":"List automation rules","tags":["Automations"],"description":"## Purpose\n\nList automation rules.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList every automation rule in the org, oldest-first, as a page of `AutomationRuleOut`. The order is deliberate: rules are evaluated in creation order, so reading them in that order shows the sequence the engine will apply.\n\nSeeded defaults are included and carry `isSeed: true`. Pages preserve `createdAt ASC, id ASC`, default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. A disabled rule remains visible. Org membership suffices to read.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AutomationRuleOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","enabled":false,"on":{},"when":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"then":[{"type":"example"}],"isSeed":false,"createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdAutomationRules","summary":"Create an automation rule","tags":["Automations"],"description":"## Purpose\n\nCreate an automation rule.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate an automation rule and return it as `AutomationRuleOut`, with **201 Created** and a `Location` header naming the new rule.\n\nThe body is the `on → when → then` triple: `on` is the observation to match, `when` is the optional condition that narrows it, and `then` is the ordered list of actions to take. The rule takes effect on the next matching observation — it is never applied retroactively to work that already happened.\n\nRequires `manage`. A rule runs against work its author may never look at again, which is org configuration rather than a contribution, so the bar is the same as changing roles or integrations. Related: `PATCH /{id}` to edit or disable one, `DELETE /{id}` to remove it.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationRuleOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"enabled":{"default":true,"type":"boolean","description":"Whether this behavior is enabled."},"on":{"$ref":"#/components/schemas/AutomationEventMatch","description":"On for this record."},"when":{"$ref":"#/components/schemas/__schema0","description":"When for this record."},"then":{"type":"array","items":{"$ref":"#/components/schemas/ActionSpec"},"description":"Then, in order."}},"required":["name","on","when","then"],"description":"Create an automation rule."},"example":{"name":"example","on":{},"when":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"then":[{"type":"example"}]}}},"description":"Fields used to create an automation rule. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/automation-rules/{id}":{"patch":{"operationId":"patchV1OrgsByOrgIdAutomationRulesById","summary":"Update an automation rule","tags":["Automations"],"description":"## Purpose\n\nUpdate an automation rule.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPartially update a rule — any of `name`, `enabled`, `on`, `when`, `then` — and return the refreshed `AutomationRuleOut`. Absent fields are left alone; a body with no recognized field is a no-op that returns the rule unchanged rather than an error, so a client that computes an empty diff need not special-case it.\n\n`enabled: false` is the reversible way to stop a rule: it stays listed and keeps its configuration, and re-enabling it needs no re-authoring. Prefer it to `DELETE` whenever the rule might come back. Editing a seeded rule is allowed and does not clear `isSeed`, which records where the rule came from rather than whether it has been touched.\n\nA missing or cross-tenant id 404s. Requires `manage`.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationRuleOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Human-readable name."},"enabled":{"type":"boolean","description":"Whether this behavior is enabled."},"on":{"$ref":"#/components/schemas/AutomationEventMatch","description":"On for this record."},"when":{"$ref":"#/components/schemas/__schema0","description":"When for this record."},"then":{"type":"array","items":{"$ref":"#/components/schemas/ActionSpec"},"description":"Then, in order."}},"description":"Update an automation rule."},"example":{}}},"description":"Fields used to update an automation rule. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdAutomationRulesById","summary":"Delete an automation rule","tags":["Automations"],"description":"## Purpose\n\nDelete an automation rule.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nPermanently remove a rule and return `AutomationRuleRemoved`. Work that the rule already produced remains unchanged, and no future runs occur.\n\nDeleting a seeded rule is allowed, and it does not come back on its own: the seeding step runs once per org when `emailToTask` is first enabled, not on every sync. To silence a rule you may want later, `PATCH` it with `enabled: false` instead.\n\nA missing or cross-tenant id 404s. Requires `manage`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an AutomationRule — a configured rule that triggers actions when matching events occur."},"removed":{"type":"boolean","const":true,"description":"Removed for this record."}},"required":["id","removed"],"description":"A removed-rule acknowledgement."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","removed":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/integrations/{id}/notion/databases":{"get":{"operationId":"getV1OrgsByOrgIdIntegrationsByIdNotionDatabases","summary":"List the Docket-designed Notion databases","tags":["Integrations"],"description":"## Purpose\n\nList the Docket-designed Notion databases.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nEvery Docket-designed Notion database for this integration, in designer order, as a page of `NotionMirrorDatabaseOut`. Seeds the nine entity designs from the catalog defaults on first call, titled with the org's own vocabulary — so a nonprofit workspace sees \"Campaigns\" rather than \"Initiatives\" without configuring anything.\n\nAn item with null `externalDatabaseId` and `provisionedAt` describes a design that has not been created in Notion. Those fields receive values only after Notion confirms creation.\n\nRequires `manage`: shaping what a workspace publishes into a third-party tool is an administrative act, the same bar as the other integration-configuration routes.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/NotionMirrorDatabaseOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"example","entityType":"task","title":"example","enabled":false,"direction":"two_way","propertyMap":{},"content":{"state":"complete","unknownBlockCount":0},"externalDatabaseId":"example","externalDataSourceId":"example","externalUrl":"example","rowCount":0,"provisionedAt":"2026-09-19T12:00:00.000Z","lastPushedAt":"2026-09-19T12:00:00.000Z","lastPulledAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/{id}/notion/design/{entity}":{"get":{"operationId":"getV1OrgsByOrgIdIntegrationsByIdNotionDesignByEntity","summary":"Read one entity's table design and preview","tags":["Integrations"],"description":"## Purpose\n\nRead one entity's table design and preview.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nThe table designer's payload for one entity: the current column set, every Docket field the entity could expose, and a short preview of how the Notion database will actually look.\n\nThe preview uses the workspace's current records when any exist. When the workspace has none of that entity, `sample` is true and the returned items are illustrative.\n\n`excludedRows` counts work omitted because it is already linked to another database on the same integration. `totalRows` includes only work eligible for this database.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdIntegrationsByIdNotionDesignByEntityResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdIntegrationsByIdNotionDesignByEntity","summary":"Rename or reshape one entity's Notion database","tags":["Integrations"],"description":"## Purpose\n\nRename or reshape one entity's Notion database.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate a designed Notion database's title, enabled state, or columns. Supplying `columns` replaces the complete ordered column list; omitted columns are removed from the design.\n\nThe required title column cannot be removed, and every column must reference a field exposed by this entity. Either violation returns 409. Renaming a provisioned column keeps its Notion `propertyId`, so it remains bound to the same property. Docket does not overwrite a label that was renamed in Notion.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdIntegrationsByIdNotionDesignByEntityResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":200,"description":"Human-readable title."},"enabled":{"type":"boolean","description":"Whether this behavior is enabled."},"columns":{"description":"The full column set, in order. A wholesale replace: a field absent here is dropped from the database.","type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"The Docket field key this column carries, e.g. `title`, `assignee`, `dueDate`. Unique within a database."},"title":{"type":"string","minLength":1,"description":"The column title shown in Notion. Chosen by the user."},"representation":{"$ref":"#/components/schemas/NotionPersonRepresentation","description":"Representation for this record."},"relationDataSourceId":{"$ref":"#/components/schemas/Shared77778108","description":"Identifies the referenced relation data source."}},"required":["field","title"]}}},"description":"A change to one designed database."},"example":{}}},"description":"Fields used to rename or reshape one entity's Notion database. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter1841ba25"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/integrations/{id}/notion/parent-pages":{"get":{"operationId":"getV1OrgsByOrgIdIntegrationsByIdNotionParentPages","summary":"Search Notion pages a database can be created under","tags":["Integrations"],"description":"## Purpose\n\nSearch Notion pages a database can be created under.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nThe Notion pages this integration may parent its designed databases under — the pages the person shared with Docket during consent.\n\nSearched and paged **at the provider**: `q` is passed to Notion as a title query and results come back most-recently-edited first. Omit `q` for the most recent pages. This is a search endpoint rather than a dump because a real workspace has more pages than a person will ever scroll, and downloading all of them to filter in the browser is neither fast nor a usable list.\n\nAn empty list is a legitimate and common state, not an error: a public Notion integration only sees what it was explicitly granted. With no `q`, an empty result means nothing was shared and the setup flow must offer a re-consent path; with a `q`, it just means nothing matched.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/NotionParentPageOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"example","title":"example","url":"example","icon":"example","lastEditedTime":"example","parentKind":"workspace"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"in":"query","name":"q","schema":{"type":"string"},"description":"Title substring passed straight to Notion. Omit for the most recent pages."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/{id}/notion/provision":{"post":{"operationId":"postV1OrgsByOrgIdIntegrationsByIdNotionProvision","summary":"Create the designed databases in Notion","tags":["Integrations"],"description":"## Purpose\n\nCreate the designed databases in Notion.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nChoose the parent page and run a complete mirror: create each missing designed database, import changes made in Notion, and publish Docket records back to Notion.\n\nReturns `SyncRunOut`. A failed pass remains in sync history. If the pass reaches its Notion write limit, the result reports completed work and a later scheduled or manual sync resumes the remainder.\n\nRequires `manage`. Returns 409 when another run already holds the integration's lease.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponsed2d1a1fc"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"containerPageId":{"type":"string","minLength":1,"description":"Identifies the referenced container page."}},"required":["containerPageId"]},"example":{"containerPageId":"example"}}},"description":"Fields used to create the designed databases in Notion. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/{id}/notion/sync":{"post":{"operationId":"postV1OrgsByOrgIdIntegrationsByIdNotionSync","summary":"Run the Notion mirror now","tags":["Integrations"],"description":"## Purpose\n\nRun the Notion mirror now.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRun the configured Notion mirror. Docket creates missing designed databases, imports changes from Notion, and publishes Docket records to Notion. This operation uses the existing parent page; `POST /provision` selects or changes that page.\n\nThe response is a `SyncRunOut` saved in sync history. Inspect its `status`: a completed HTTP request may still report `status: \"failed\"`. Docket returns 409 when another mirror run is active or no parent page has been selected.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponsed2d1a1fc"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/{id}/notion/people":{"get":{"operationId":"getV1OrgsByOrgIdIntegrationsByIdNotionPeople","summary":"List Notion workspace members and their Docket matches","tags":["Integrations"],"description":"## Purpose\n\nList Notion workspace members and their Docket matches.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nList people discovered during previous Notion syncs and the Docket Actor matched to each person. This operation reads Docket's saved roster and does not call Notion. A later sync refreshes it. Integration bots are excluded.\n\n`actorId: null` means the person is not matched, so their Notion assignments cannot map to Docket work. When `ignoredAt` is null, the person still needs a decision. A non-null `ignoredAt` means an administrator chose to exclude that person from matching.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/NotionWorkspacePerson"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"externalId":"example","name":"example","email":"developer@example.com","avatarUrl":"example","actorId":"example","matchedBy":"email","ignoredAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/{id}/notion/people/{externalId}/resolve":{"post":{"operationId":"postV1OrgsByOrgIdIntegrationsByIdNotionPeopleByExternalIdResolve","summary":"Decide what one unmatched Notion person maps to","tags":["Integrations"],"description":"## Purpose\n\nDecide what one unmatched Notion person maps to.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nChoose how one Notion workspace member maps to Docket and return the updated `NotionWorkspacePerson`.\n\n- `create_actor` creates a person without a Docket account and uses that person for future Notion assignments.\n- `match_existing` links the Notion member to the supplied `actorId`. Future syncs preserve this manual match.\n- `skip` records that the member should not be matched automatically. The member remains visible with `ignoredAt` set.\n- `unignore` removes the current match or exclusion and returns the member to the undecided state.\n\nEvery action except `skip` clears `ignoredAt`. Docket returns 404 when the Notion member does not exist or when `match_existing` names an Actor outside this organization.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"externalId":{"type":"string","description":"Identifies the referenced external."},"name":{"type":"string","description":"Human-readable name."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Absent for guests Notion does not expose an email for."},"avatarUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Avatar url for this record."},"actorId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Null is an explicit unmatched state, never a fallback."},"matchedBy":{"anyOf":[{"type":"string","enum":["email","manual"]},{"type":"null"}],"description":"Matched by for this record."},"ignoredAt":{"$ref":"#/components/schemas/Shared6aaeb8f1","description":"Ignored time as an ISO 8601 instant."}},"required":["externalId","name","email","avatarUrl","actorId","matchedBy","ignoredAt"],"description":"A Notion workspace member and its current Docket actor match."},"example":{"externalId":"example","name":"example","email":"developer@example.com","avatarUrl":"example","actorId":"example","matchedBy":"email","ignoredAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"in":"path","name":"externalId","schema":{"type":"string"},"required":true,"description":"Identifier of the external selected by this path parameter."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string","enum":["create_actor","match_existing","skip","unignore"],"description":"`create_actor` adds them to Docket as a person with no account; `match_existing` links them to an actor you name; `skip` records a deliberate exclusion (stamping `ignoredAt`, immune to email re-matching); `unignore` undoes any prior decision and returns them to undecided."},"actorId":{"description":"Required for `match_existing` — the Docket actor to link them to.","type":"string"}},"required":["action"],"description":"Resolve one Notion workspace member."},"example":{"action":"create_actor"}}},"description":"Fields used to decide what one unmatched Notion person maps to. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/{id}/notion/unmatched-people":{"get":{"operationId":"getV1OrgsByOrgIdIntegrationsByIdNotionUnmatchedPeople","summary":"Count Docket people with no Notion account","tags":["Integrations"],"description":"## Purpose\n\nCount Docket people with no Notion account.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nCount Docket people who have no matching member in the Notion workspace. They still appear in the mirrored People database and can own work there, but Notion cannot mention them through its native people property.\n\nUse this count to distinguish that provider limitation from a missing sync record.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"docketOnly":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Docket humans with no matched Notion account, including account-less people."}},"required":["docketOnly"]},"example":{"docketOnly":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/mcp":{"get":{"operationId":"getV1OrgsByOrgIdIntegrationsMcp","summary":"List remote MCP servers","tags":["Integrations"],"description":"## Purpose\n\nList remote MCP servers.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList the org's connected remote MCP servers in `createdAt ASC, id ASC` order. Pages default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Credentials are never returned.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/McpIntegrationOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","url":"example","label":"example","alias":"example","authMode":"oauth","status":"pending","toolCount":0,"lastError":"example","createdAt":"2026-09-19T12:00:00.000Z","oauthScope":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdIntegrationsMcp","summary":"Connect a remote MCP server","tags":["Integrations"],"description":"## Purpose\n\nConnect a remote MCP server.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nConnect a remote MCP server (Streamable HTTP) the org's agents may use. The optional `bearerToken` is the ORG'S credential — sealed AES-256-GCM at rest (`CREDENTIALS_ENCRYPTION_KEY` required to store one), never returned, and never a caller's token (the no-passthrough MUST: agents reach remote services only with org-held credentials). Connecting performs a live `tools/list` health check; the returned `McpIntegrationOut` carries `connected` + `toolCount` on success or `error` + `lastError` on failure — a connection is never reported healthy without a real round trip. `alias` (unique per org) becomes the tool namespace: Athena sees this server's tools as `<alias>__<name>`. Requires `manage` — linking an external system is an org-configuration act.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpIntegrationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"The remote MCP server URL (Streamable HTTP). Health-checked on connect."},"label":{"type":"string","minLength":1,"maxLength":80,"description":"Human-readable display name (e.g. \"Sunsama\")."},"alias":{"$ref":"#/components/schemas/Sharedc8d4fda7","description":"Alias for this record."},"bearerToken":{"description":"Bearer credential the org holds for this server; sealed (AES-256-GCM) at rest, never returned, never a caller token (no passthrough).","type":"string","minLength":1},"authMode":{"description":"Authentication method. Omit for OAuth unless this legacy request supplies bearerToken; bearer is an advanced org-held credential fallback; none is for public MCP servers.","type":"string","enum":["oauth","bearer","none"]}},"required":["url","label","alias"],"description":"Connect a remote MCP server."},"example":{"url":"https://api.clearthedocket.com/v1/example","label":"example","alias":"field_name"}}},"description":"Fields used to connect a remote MCP server. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/integrations/mcp/preview":{"post":{"operationId":"postV1OrgsByOrgIdIntegrationsMcpPreview","summary":"Preview a remote MCP server name","tags":["Integrations"],"description":"## Purpose\n\nPreview a remote MCP server name.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nInitialize the remote MCP server without storing a connection and return its advertised name for the connector form.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponsea0f6a2e0"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Absolute URL for this resource."}},"required":["url"]},"example":{"url":"https://api.clearthedocket.com/v1/example"}}},"description":"Fields used to preview a remote MCP server name. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/mcp/{id}/authorize":{"post":{"operationId":"postV1OrgsByOrgIdIntegrationsMcpByIdAuthorize","summary":"Start remote MCP OAuth approval","tags":["Integrations"],"description":"## Purpose\n\nStart remote MCP OAuth approval.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDiscover the remote MCP server’s OAuth configuration, prepare a PKCE authorization request, and return its browser approval URL. The official MCP client handles RFC 9728 discovery, CIMD, dynamic registration fallback, and resource indicators.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponsec9650f3b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/mcp/{id}":{"patch":{"operationId":"patchV1OrgsByOrgIdIntegrationsMcpById","summary":"Update a remote MCP server connection","tags":["Integrations"],"description":"## Purpose\n\nUpdate a remote MCP server connection.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate the user-facing display name or tool prefix for an org-scoped MCP server. Tool prefixes remain unique within the workspace.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpIntegrationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80,"description":"Human-readable display name (e.g. \"Sunsama\")."},"alias":{"$ref":"#/components/schemas/Sharedc8d4fda7","description":"Alias for this record."}},"description":"Edit a remote MCP server connection."},"example":{}}},"description":"Fields used to update a remote MCP server connection. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdIntegrationsMcpById","summary":"Disconnect a remote MCP server","tags":["Integrations"],"description":"## Purpose\n\nDisconnect a remote MCP server.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDisconnect a remote MCP server and remove its stored credential. Running sessions keep results that already completed, but future sessions no longer receive this server's tools. Requires `manage`. An absent or inaccessible integration returns 404.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponsee1d5261b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/integrations/mcp/{id}/verify":{"post":{"operationId":"postV1OrgsByOrgIdIntegrationsMcpByIdVerify","summary":"Re-verify a remote MCP server","tags":["Integrations"],"description":"## Purpose\n\nRe-verify a remote MCP server.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRe-run the live `tools/list` health check against the org-scoped MCP integration and return the updated `McpIntegrationOut` — `connected` (with a fresh `toolCount`) or `error` + `lastError`. Use after fixing the remote server or rotating its credential. Requires `manage`. 404 for a missing/cross-tenant id.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpIntegrationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/linear-agent/install":{"get":{"operationId":"getV1OrgsByOrgIdIntegrationsLinearAgentInstall","summary":"Get the Linear Agent platform install URL","tags":["Integrations"],"description":"## Purpose\n\nGet the Linear Agent platform install URL.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn `{ \"url\": \"…\" }` for installing Docket as an assignable and mentionable agent in the organization's Linear workspace. Redirect the browser to that URL. This workspace-wide agent installation is separate from a personal Linear synchronization connection created through `POST /v1/orgs/:orgId/integrations`.\n\nDocket creates or reuses the organization's pending `linear_agent` integration. The Linear callback completes the installation. Docket returns 409 when the Linear Agent service is unavailable in the current deployment. The integration appears in the normal integration list and can be removed through `DELETE /v1/orgs/:orgId/integrations/:id`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Absolute URL for this resource."}},"required":["url"]},"example":{"url":"https://api.clearthedocket.com/v1/example"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/{id}/external-actors":{"get":{"operationId":"getV1OrgsByOrgIdIntegrationsByIdExternalActors","summary":"List external actor identity mappings","tags":["Integrations"],"description":"## Purpose\n\nList external actor identity mappings.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nList every `external_actor` identity mapping for this integration — one row per provider-side user (e.g. a Linear member) the sync engine has ever seen, as a page of `ExternalActorOut`. Includes matched AND unmatched rows: an unmatched row (`actorId: null`) is an explicit, queryable state, never hidden or fabricated. `matchedBy` distinguishes an legacy `email` match (retained for compatibility) from a `manual` link (set via `PATCH /:id/external-actors/:externalActorId`, immune to re-matching). `ignoredAt` splits the unmatched rows again: non-null is a deliberate exclusion, also immune to re-matching, and null means nobody has decided yet. A missing/cross-tenant integration id 404s (`Integration not found`).\n\nRequires `manage` — reviewing/curating identity mappings is an administrative task, the same bar as the other integration-configuration routes. Related: `PATCH /:id/external-actors/:externalActorId` (manually link/unlink one row).\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ExternalActorOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"example","externalId":"example","email":"developer@example.com","displayName":"example","avatarUrl":"example","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","matchedBy":"email","ignoredAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/{id}/external-actors/{externalActorId}/candidates":{"get":{"operationId":"getV1OrgsByOrgIdIntegrationsByIdExternalActorsByExternalActorIdCandidates","summary":"Suggest people for a source identity","tags":["Integrations"],"x-docket-capability":"manage","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"actorId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},"displayName":{"type":"string","description":"Display name for this record."},"avatarUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Avatar url for this record."},"reason":{"type":"string","enum":["name","email","linked"],"description":"Allowed reason value."}},"required":["actorId","displayName","avatarUrl","reason"]},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","displayName":"example","avatarUrl":"example","reason":"name"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera693f261"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nSuggest people for a source identity.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/integrations/{id}/external-actors/{externalActorId}/resolution":{"post":{"operationId":"postV1OrgsByOrgIdIntegrationsByIdExternalActorsByExternalActorIdResolution","summary":"Resolve a source identity","tags":["Integrations"],"x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalActorOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera693f261"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"oneOf":[{"type":"object","properties":{"action":{"type":"string","const":"match_existing","description":"Action for this record."},"actorId":{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."}},"required":["action","actorId"]},{"type":"object","properties":{"action":{"type":"string","const":"create_actor","description":"Action for this record."},"name":{"type":"string","minLength":1,"maxLength":120,"description":"Human-readable name."}},"required":["action"]},{"type":"object","properties":{"action":{"type":"string","const":"unlink","description":"Action for this record."}},"required":["action"]},{"type":"object","properties":{"action":{"type":"string","const":"skip","description":"Action for this record."}},"required":["action"]},{"type":"object","properties":{"action":{"type":"string","const":"unignore","description":"Action for this record."}},"required":["action"]}]},{"type":"object","properties":{"expectedUpdatedAt":{"type":"string","description":"Expected updated time as an ISO 8601 instant."}}}]},"example":{"action":"match_existing","actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to resolve a source identity. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nResolve a source identity.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone."}},"/v1/orgs/{orgId}/integrations/{id}/external-actors/{externalActorId}":{"patch":{"operationId":"patchV1OrgsByOrgIdIntegrationsByIdExternalActorsByExternalActorId","summary":"Manually link or unlink an external actor mapping","tags":["Integrations"],"description":"## Purpose\n\nManually link or unlink an external actor mapping.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nLink or deliberately unlink a provider identity. Both decisions survive subsequent syncs. The target must be a human in this workspace.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalActorOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera693f261"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"actorId":{"anyOf":[{"$ref":"#/components/schemas/Shared4d3920f7","description":"Identifies the referenced actor."},{"type":"null"}],"description":"Set to a Docket Actor id to link manually — the actor MUST belong to the caller's org (404 `Actor not found` otherwise); the row is marked `matchedBy: 'manual'` and survives future email re-syncs untouched. Set to `null` to deliberately unlink. The manual decision survives future syncs. Both clear `ignoredAt`."}},"required":["actorId"],"description":"Manually link or unlink an external-actor identity mapping."},"example":{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to manually link or unlink an external actor mapping. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations":{"get":{"operationId":"getV1OrgsByOrgIdIntegrations","summary":"List integrations","tags":["Integrations"],"description":"## Purpose\n\nList integrations.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList the organization's integrations in stable ID order. Each item reports connection health, sync mode, write-back state, and sync times. Credentials are never returned. Pages default to 50 items and accept at most 100. `nextCursor` is absent after the final page. Organization membership is required.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"example","pattern":"migration","roles":["work"],"connection":{},"status":"pending","config":{},"externalAccountId":"example","syncMode":"import","writeBack":false,"lastSyncStatus":"running","lastSyncedAt":"2026-09-19T12:00:00.000Z","lastError":"example","lastErrorAt":"2026-09-19T12:00:00.000Z","lastErrorKind":"auth","syncCadenceMinutes":1,"createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdIntegrations","summary":"Connect an integration","tags":["Integrations"],"description":"## Purpose\n\nConnect an integration.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate an integration or reconnect an existing provider account. Reconnecting the same account preserves the integration ID and every linked record's `sourceIntegrationId`. Providers that expose an `externalAccountId` may have several accounts connected to one organization.\n\nThe integration starts with status `pending` and any previous error is cleared. This operation stores settings but does not contact the provider. Use `POST /:id/verify`, import, or sync to validate the credential and move the integration to `connected`. `writeBack` defaults to true for providers that support two-way sync unless the request overrides it. For GitHub, create the integration and then use `GET /:id/connect-url` to begin installation.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string","enum":["gmail","gtasks","calendar","drive","github","linear","notion"],"description":"The provider id to connect — one of `gmail`, `gtasks`, `calendar`, `github`, or `linear` from `GET /directory`."},"pattern":{"type":"string","enum":["migration","connector","agent"],"description":"Whether this is a `migration` (one-time replace) or `connector` (ongoing complement)."},"roles":{"description":"What this integration contributes (work/context/signal/time/code); defaults to the provider's declared roles when omitted.","type":"array","items":{"$ref":"#/components/schemas/Shared6738611b"}},"config":{"description":"Freeform per-connector configuration jsonb; validated to `ConnectorConfig` for two-way connectors (target team/project, `listIds`, write-back options).","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"syncMode":{"description":"Sync depth (`import` one-time vs `mirror` continuous); defaults per provider.","type":"string","enum":["import","mirror"]},"writeBack":{"description":"Whether Docket changes are pushed back to the provider (two-way). Defaults ON for connectors that support it (e.g. Google Tasks) unless set false.","type":"boolean"},"externalAccountId":{"description":"The provider account this integration binds to (e.g. the Google `sub`), letting one org link multiple accounts of the same provider — each its own integration — and disambiguating the OAuth grant at sync time.","type":"string"}},"required":["provider","pattern"],"description":"Create an integration within an organization."},"example":{"provider":"gmail","pattern":"migration"}}},"description":"Fields used to connect an integration. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/integrations/directory":{"get":{"operationId":"getV1OrgsByOrgIdIntegrationsDirectory","summary":"List the integration provider directory","tags":["Integrations"],"description":"## Purpose\n\nList the integration provider directory.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn the catalog of providers Docket can connect to as `IntegrationDirectoryOut` — the data behind the connect wizard. Each entry names the provider id, its human label, its pattern (`migration` vs `connector`), the roles it contributes (`work`/`context`/`signal`/`time`/`code`), and a category for grouping. This is static, org-agnostic capability metadata (the set of *connectable* providers), not the org's *connected* integrations — for those use `GET /`. A read; org membership suffices. Related: `POST /` to connect a provider chosen from this directory.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"providers":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationDirectoryProvider"},"description":"Every provider Docket can connect to, with its pattern, roles, and category — the connect-wizard catalog."}},"required":["providers"],"description":"The set of providers Docket can connect to, with their patterns and roles."},"example":{"providers":[{"provider":"gmail","name":"example","pattern":"migration","roles":["work"],"category":"example","syncable":false}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/{id}":{"get":{"operationId":"getV1OrgsByOrgIdIntegrationsById","summary":"Get an integration","tags":["Integrations"],"description":"## Purpose\n\nGet an integration.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch a single integration by id, scoped to the active organization, returning `IntegrationOut`. A missing/cross-tenant id returns 404 (`Integration not found`; existence-hiding across tenants). A read; org membership suffices. The response is the full health picture — `status`, `syncMode`, `writeBack`, `lastSyncStatus`/`lastSyncedAt`, `lastError`/`lastErrorAt`, `syncCadenceMinutes` — without ever exposing the credential. Related: `GET /:id/runs` (sync history), `GET /:id/lists` (selectable provider containers), `POST /:id/verify` (re-check health).\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1OrgsByOrgIdIntegrationsById","summary":"Update an integration","tags":["Integrations"],"description":"## Purpose\n\nUpdate an integration.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate the supplied integration settings and return the current `IntegrationOut`. Omitted fields remain unchanged. Mutable fields include `roles`, `config`, `syncMode`, `writeBack`, and the first `externalAccountId` assigned to a legacy connection. The request cannot set provider-owned connection metadata, credentials, or status.\n\nEnabling `config.emailToTask` creates the organization's default email automation rules when they do not already exist. Enabling `writeBack` for Linear requires the linked Linear account to have the `write` OAuth scope; otherwise Docket returns 409 and the account must reconnect. Every `config.teamMappings[].teamId` must belong to this organization, and each `externalTeamId` may appear only once. Invalid mappings return 422. Use `GET /:id/lists` to discover provider list IDs and `POST /:id/verify` after changing connection settings.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"roles":{"description":"Replace the contributed roles; omit to leave unchanged.","type":"array","items":{"$ref":"#/components/schemas/Shared6738611b"}},"config":{"description":"Replace the connector config (target team/project, `listIds`, write-back options); omit to leave unchanged.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"syncMode":{"description":"Change the sync depth; omit to leave unchanged.","type":"string","enum":["import","mirror"]},"writeBack":{"description":"Toggle two-way write-back; omit to leave unchanged.","type":"boolean"},"externalAccountId":{"description":"One-time binding for a legacy integration whose externalAccountId is null. An already-bound integration cannot be rebound; disconnect it and create a new connection instead.","type":"string","minLength":1}},"description":"Update an integration."},"example":{}}},"description":"Fields used to update an integration. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdIntegrationsById","summary":"Disconnect an integration","tags":["Integrations"],"description":"## Purpose\n\nDisconnect an integration.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDisconnect an integration and return its final `IntegrationOut`. Existing imported or mirrored tasks remain, but their `sourceIntegrationId` no longer identifies an active connection. A later connection may receive a different integration ID. For GitHub, Docket also attempts to uninstall the GitHub App. A GitHub-side failure does not prevent the Docket connection from being removed. An absent or inaccessible integration returns 404. Requires `manage`. Use `PATCH /:id` to reconfigure a connection instead.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse1afeb78a"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/integrations/{id}/lists":{"get":{"operationId":"getV1OrgsByOrgIdIntegrationsByIdLists","summary":"List an integration provider resources","tags":["Integrations"],"description":"## Purpose\n\nList an integration provider resources.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nEnumerate the external containers (e.g. Google Tasks lists) a connector exposes for selection, as `ConnectorResourceListOut` — the picker data for choosing which lists to sync into `config.listIds`. This makes a **live call to the provider** using the bound account's credential, so a broken or unauthorized connection surfaces here as a real 409 (`Integration provider has no selectable lists` when the provider isn't a connector, or the token-resolution failure message) rather than an empty list that masquerades as \"no lists\". A missing/cross-tenant integration 404s.\n\nRequires `manage` — it touches live provider credentials and configures sync. Related: `PATCH /:id` (persist the chosen `config.listIds`/`defaultListId`), `POST /:id/sync`.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"resources":{"type":"array","items":{"$ref":"#/components/schemas/ConnectorResourceRef"},"description":"External containers, such as Google Tasks lists, available for selection. Docket reads them from the provider. An empty array means none are available; an invalid credential returns 409."}},"required":["resources"],"description":"External containers (task lists) the connector exposes for selection."},"example":{"resources":[{"id":"example","title":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/{id}/runs":{"get":{"operationId":"getV1OrgsByOrgIdIntegrationsByIdRuns","summary":"List integration sync runs","tags":["Integrations"],"description":"## Purpose\n\nList integration sync runs.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nList the 20 most recent sync runs for an integration, newest first. Each run reports its status, trigger, processed and total counts, error reason, and start and finish times. Failed runs remain available for diagnosis. An absent or inaccessible integration returns 404. Organization membership is sufficient. Use `POST /:id/sync` to start a run and `GET /:id` to read integration health.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SyncRunOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"example","integrationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","status":"running","trigger":"manual","purpose":"task_sync","processed":0,"total":0,"error":"example","errorKind":"auth","startedAt":"2026-09-19T12:00:00.000Z","finishedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/{id}/runs/{runId}":{"get":{"operationId":"getV1OrgsByOrgIdIntegrationsByIdRunsByRunId","summary":"Read one integration sync run","tags":["Integrations"],"description":"## Purpose\n\nRead one integration sync run.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRead the `SyncRunOut` used to monitor one synchronization. Operations that start asynchronous sync work return this URL in `Location`. Poll it until `status` is no longer `running`.\n\nUnlike `GET /:id/runs`, which is capped at the 20 most recent runs, this addresses a run directly and keeps working after it has aged out of that window. A run id belonging to another integration or org 404s. A read; org membership suffices.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncRunOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"in":"path","name":"runId","schema":{"type":"string"},"required":true,"description":"Identifier of the run selected by this path parameter."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/{id}/verify":{"post":{"operationId":"postV1OrgsByOrgIdIntegrationsByIdVerify","summary":"Verify an integration connection","tags":["Integrations"],"description":"## Purpose\n\nVerify an integration connection.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nCheck the integration's credential with the provider and return the updated `IntegrationOut`. A successful check sets `status` to `connected`, clears the previous error, and stores the external account label. For Linear, Docket also records the provider workspace ID and slug used to route webhooks.\n\nAn invalid credential or failed provider check sets `status` to `error` and records `lastError` and `lastErrorAt`. That state is returned with HTTP 200 so the client can display the connection result from the response body. A provider that does not support verification returns 409. A Linear connection with `writeBack: true` also requires the linked account's `write` scope; otherwise the returned integration is in the error state and asks the user to reconnect.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponse1afeb78a"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/{id}/import":{"post":{"operationId":"postV1OrgsByOrgIdIntegrationsByIdImport","summary":"Import work from an integration","tags":["Integrations"],"description":"## Purpose\n\nImport work from an integration.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nImport provider work as Docket tasks. Each task retains `sourceIntegrationId`, `externalId`, and `externalUrl` so clients can identify its source.\n\n`assignToImporter` defaults to false. Set it to true to assign imported tasks to the caller; otherwise they enter triage. A successful import marks the integration connected and updates its last successful sync time. A missing credential, provider failure, or unsupported import returns 409 and marks the integration in error. An absent or inaccessible integration returns 404.\n\nRequires `contribute`. Ongoing organization-wide synchronization through `POST /:id/sync` requires `manage`. Use `GET /:id/runs` to inspect sync history.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdTasksResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"assignToImporter":{"default":false,"type":"boolean","description":"Assign to importer for this record."}}},"example":{}}},"description":"Fields used to import work from an integration. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/{id}/sync":{"post":{"operationId":"postV1OrgsByOrgIdIntegrationsByIdSync","summary":"Trigger an integration sync","tags":["Integrations"],"description":"## Purpose\n\nTrigger an integration sync.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nStart a manual sync and return its `SyncRunOut`. The sync imports the provider's current task state. When the integration supports two-way sync and `writeBack` is enabled, it also publishes eligible Docket changes to the provider.\n\nOnly one sync can run for an integration at a time. Docket returns 409 when another run is active or when the provider does not support sync. Use `GET /:id/runs` to read the outcome of this run.\n\nFor a configured Notion mirror, this operation also starts a separate `notion_mirror` run after the task sync. The response describes only the `task_sync` run. Read both runs through `GET /:id/runs`, or use `POST /:id/notion/sync` when the client needs to wait for the Notion mirror result directly.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"$ref":"#/components/responses/SharedResponsed2d1a1fc"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/integrations/{id}/connect-url":{"get":{"operationId":"getV1OrgsByOrgIdIntegrationsByIdConnectUrl","summary":"Get a provider connect URL","tags":["Integrations"],"description":"## Purpose\n\nGet a provider connect URL.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn `{ url }` for installing a GitHub App integration. Create the integration first, then redirect the browser to this URL. The operation returns 409 for providers that do not use a connect URL or when GitHub App configuration is unavailable. An absent or inaccessible integration returns 404. Requires `manage`.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/publications":{"get":{"operationId":"getV1OrgsByOrgIdPublications","summary":"List published briefs","tags":["Publishing"],"description":"## Purpose\n\nList published briefs.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList every brief in the workspace in `createdAt DESC, id DESC` order, including withdrawn briefs. Pages default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Each item's `urls` array contains its current public addresses. Reads require workspace membership.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PublicationOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectKind":"initiative","subjectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","slug":"123e4567-e89b-42d3-a456-426614174000","published":false,"publishedAt":"2026-09-19T12:00:00.000Z","unpublishedAt":"2026-09-19T12:00:00.000Z","path":"example","urls":["example"]}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdPublications","summary":"Publish a record as a brief","tags":["Publishing"],"description":"## Purpose\n\nPublish a record as a brief.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPublish an initiative, program, or project as a public brief. The subject must belong to this organization; otherwise Docket returns 404.\n\n`slug` becomes the last segment of the public URL. When omitted, Docket derives it from the subject title. A slug must contain 1 to 64 lowercase letters, numbers, or single hyphens, cannot use a reserved name, and must be unique in the workspace. A conflict returns 409 `public_name_taken` without changing publication state.\n\nPublishing a previously withdrawn subject restores its original URL. `urls` contains the currently reachable shared-host URL and URLs for verified custom domains. It is empty only when the deployment has no shared brief host and the workspace has no verified custom domain.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"subjectKind":{"$ref":"#/components/schemas/Sharedf0afa86a","description":"Subject kind for this record."},"subjectId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The record to publish; must live in the path organization.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"slug":{"description":"The public path segment. Omit to derive one from the record's title.","type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}},"required":["subjectKind","subjectId"],"description":"Publish a record as a public brief."},"example":{"subjectKind":"initiative","subjectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to publish a record as a brief. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/publications/{subjectKind}/{subjectId}":{"get":{"operationId":"getV1OrgsByOrgIdPublicationsBySubjectKindBySubjectId","summary":"Read one record's publication state","tags":["Publishing"],"description":"## Purpose\n\nRead one record's publication state.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn whether one initiative, program, or project is published, withdrawn, or has never been published. A resource that has never been published returns 200 with `publication: null`. Docket returns 404 only when the subject is unavailable or inaccessible.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"publication":{"anyOf":[{"$ref":"#/components/schemas/PublicationOut"},{"type":"null"}],"description":"The record’s publication, or `null` when it has never been published."}},"required":["publication"],"description":"One record's publication state."},"example":{"publication":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectKind":"initiative","subjectId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","slug":"123e4567-e89b-42d3-a456-426614174000","published":false,"publishedAt":"2026-09-19T12:00:00.000Z","unpublishedAt":"2026-09-19T12:00:00.000Z","path":"example","urls":["example"]}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"subjectKind","schema":{"type":"string","enum":["initiative","program","project"]},"required":true,"description":"Which kind of work record a brief describes. Tasks and cycles are excluded: a brief is a narrative document about a body of work."},{"$ref":"#/components/parameters/SharedParametera6106661"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/publications/{id}":{"patch":{"operationId":"patchV1OrgsByOrgIdPublicationsById","summary":"Move or withdraw a brief","tags":["Publishing"],"description":"## Purpose\n\nMove or withdraw a brief.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nChange a brief's public address (`slug`) or published state (`published`) without deleting the brief. Moving it takes effect immediately: the old address stops resolving and the new one starts. An address conflict returns **409 `public_name_taken`** without changing the brief. Setting `published: false` withdraws it, and `published: true` restores it at the same address. Requires `contribute`.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"description":"Move the brief to a different path segment.","type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"published":{"description":"`false` withdraws the brief; `true` restores it at the same URL.","type":"boolean"}},"description":"Re-slug or withdraw a published brief."},"example":{}}},"description":"Fields used to move or withdraw a brief. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1OrgsByOrgIdPublicationsById","summary":"Withdraw a brief","tags":["Publishing"],"description":"## Purpose\n\nWithdraw a brief.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nWithdraw a published brief. The public URL begins returning **404** to logged-out visitors immediately.\n\nDocket reserves the address. Publishing the brief again restores the same URL, so existing links remain valid after republication. Requires `contribute`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `contribute` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"contribute","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/publishing/domains":{"get":{"operationId":"getV1OrgsByOrgIdPublishingDomains","summary":"List custom domains","tags":["Publishing"],"description":"## Purpose\n\nList custom domains.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList the workspace's custom domains, oldest first. Each item includes its verification state and the exact DNS records to publish. Requires the `manage` capability. A caller without that permission receives 403, while an inaccessible workspace returns 404.\n\nResults use `createdAt ASC, id ASC`, default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. `lastFailure` is one of `lookup-failed`, `no-record`, or `token-mismatch`; it never contains raw DNS provider output.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceDomainOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","host":"example","verified":false,"verifiedAt":"2026-09-19T12:00:00.000Z","lastCheckedAt":"2026-09-19T12:00:00.000Z","lastFailure":"lookup-failed","verificationRecord":{"type":"TXT","name":"example","value":"example","ttlSeconds":0},"routingRecord":{"type":"TXT","name":"example","value":"example","ttlSeconds":0},"createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1OrgsByOrgIdPublishingDomains","summary":"Claim a custom domain","tags":["Publishing"],"description":"## Purpose\n\nClaim a custom domain.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nClaim a custom domain for this workspace's published briefs. Docket normalizes a full URL, case, a trailing dot, and a `www.` prefix to one host. For example, `Example.COM`, `https://www.example.com/x`, and `example.com.` identify the same claim.\n\nThe claim starts unverified and does not serve briefs. The response contains the `TXT` verification record and, when configured, the routing `CNAME`. Publish the TXT record and call `POST /domains/{id}/verify`.\n\nA domain already claimed by any workspace returns 409 `domain_already_claimed`. A malformed domain, IP address, wildcard, or Docket-owned host returns 422 with a `host` field issue. Concurrent requests cannot claim the same domain twice.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceDomainOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253,"description":"The domain to claim. A full URL, a bare host, mixed case, a trailing dot, or a `www.` prefix are all accepted and normalized to one canonical host."}},"required":["host"],"description":"Claim a custom domain for a workspace."},"example":{"host":"example"}}},"description":"Fields used to claim a custom domain. Required fields and constraints appear in the schema below."},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/orgs/{orgId}/publishing/domains/{id}/verify":{"post":{"operationId":"postV1OrgsByOrgIdPublishingDomainsByIdVerify","summary":"Check a custom domain’s DNS","tags":["Publishing"],"description":"## Purpose\n\nCheck a custom domain’s DNS.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRe-run the DNS ownership check for a claimed domain and record the outcome. Verification is always re-run against live DNS and never served from cache: a domain that stops proving ownership must stop serving.\n\nSuccess requires a `TXT` record at `_docket-verify.<host>` whose value exactly matches the `verificationValue` returned when the domain was claimed. A substring match or another workspace's value does not pass.\n\nThe response reports `failure` as a stable code and `observedCount` as **how many** Docket-prefixed values were seen — a count, never the values, which are strings from a domain Docket does not own. `0` means \"not published yet\"; `≥1` with `token-mismatch` means \"published, but the wrong token\". Requires `manage`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/WorkspaceDomainOut","description":"Domain for this record."},"verified":{"type":"boolean","description":"Whether this attempt proved ownership."},"failure":{"anyOf":[{"$ref":"#/components/schemas/Shared860fe578"},{"type":"null"}],"description":"Why this attempt failed; `null` on success."},"observedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many Docket-prefixed `TXT` values were seen at the record name. A count, never the values: those are strings from a domain Docket does not own."}},"required":["domain","verified","failure","observedCount"],"description":"The result of a DNS ownership check."},"example":{"domain":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","host":"example","verified":false,"verifiedAt":"2026-09-19T12:00:00.000Z","lastCheckedAt":"2026-09-19T12:00:00.000Z","lastFailure":"lookup-failed","verificationRecord":{"type":"TXT","name":"example","value":"example","ttlSeconds":0},"routingRecord":{"type":"TXT","name":"example","value":"example","ttlSeconds":0},"createdAt":"2026-09-19T12:00:00.000Z"},"verified":false,"failure":"lookup-failed","observedCount":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/publishing/domains/{id}":{"delete":{"operationId":"deleteV1OrgsByOrgIdPublishingDomainsById","summary":"Remove a custom domain","tags":["Publishing"],"description":"## Purpose\n\nRemove a custom domain.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRelease a custom domain. The host stops serving Docket content on the next request and becomes available to another workspace that can prove ownership. Requires the `manage` capability.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. The caller needs the `manage` workspace capability. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`403` - Request the required OAuth scope or workspace permission before retrying.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","x-docket-capability":"manage","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceDomainOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"403":{"$ref":"#/components/responses/ForbiddenProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/activity":{"get":{"operationId":"getV1OrgsByOrgIdActivity","summary":"List the organization audit feed","tags":["Activity"],"description":"## Purpose\n\nList the organization audit feed.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nReturn the organization's audit events from newest to oldest as a page of `AuditEventOut`. Events describe who acted, what changed, and which Docket resource changed. Task events and task-comment events appear only when the caller can currently view the task. Other events require active organization membership.\n\nThis collection covers changes to Docket resources. Use `GET /v1/orgs/:orgId/stream` for observations from connected external tools.\n\nResults use `createdAt DESC, id DESC`, default to 50 visible items, accept at most 100, and omit `nextCursor` at exhaustion. Task visibility is applied before pagination. A key property for governed automation is that agent events carry both the acting agent and accountable initiator. Read-only and org-scoped.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AuditEventOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectType":"organization","subjectId":"example","type":"created","metadata":{},"createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/provenance/{kind}/{id}":{"get":{"operationId":"getV1OrgsByOrgIdProvenanceByKindById","summary":"Get where a work item came from","tags":["Activity"],"description":"## Purpose\n\nGet where a work item came from.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn the change that created a task, project, initiative, or program, the most recent change to it, and how many recorded changes touched it. Each change names the member whose permissions it ran under, who performed it (a person, Docket’s assistant, a third-party AI client, or Docket itself), and the channel it arrived through, with the client, connected tool, session, or plan when there is one. Changes that were undone are not counted and never appear as the most recent change. `created` is null for an item that predates provenance recording, and `lastChanged` is null when nothing has changed since creation. Requires read access to the item; an item the caller cannot open returns 404.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"anyOf":[{"$ref":"#/components/schemas/ProvenanceEvent"},{"type":"null"}],"description":"The change that created the entity. Null when it predates provenance recording."},"lastChanged":{"anyOf":[{"$ref":"#/components/schemas/ProvenanceEvent"},{"type":"null"}],"description":"The most recent recorded change. Null when nothing has changed since creation."},"changeCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many recorded changes touched it."}},"required":["created","lastChanged","changeCount"],"description":"Where an entity came from and who last changed it."},"example":{"created":{"at":"2026-09-19T12:00:00.000Z","channel":"app","surface":"home","performerKind":"person","performerName":"example","authorityActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","authorityName":"example","clientName":"example","provider":"example","sessionId":"example","planId":"example"},"lastChanged":{"at":"2026-09-19T12:00:00.000Z","channel":"app","surface":"home","performerKind":"person","performerName":"example","authorityActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","authorityName":"example","clientName":"example","provider":"example","sessionId":"example","planId":"example"},"changeCount":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"kind","schema":{"type":"string","enum":["task","project","initiative","program"]},"required":true,"description":"The kind of entity: `task`, `project`, `initiative`, or `program`."},{"in":"path","name":"id","schema":{"type":"string"},"required":true,"description":"The entity id."},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/stream":{"get":{"operationId":"getV1OrgsByOrgIdStream","summary":"List the workspace event stream","tags":["Stream"],"description":"## Purpose\n\nList the workspace event stream.\n\n## Inputs and constraints\n\nSupply the query and path parameters documented below.\n\n## Result and side effects\n\nList workspace events newest first. Each event identifies its source, including Docket, Linear, and GitHub, and includes provider-neutral display fields. Unlike the personal stream, this workspace stream includes all visible workspace activity and returns `relevance: null`.\n\n`system`, `kind`, `filter`, and `viewId` filters combine with AND. Paging uses `cursor`, `limit`, and `order`; the response includes `nextCursor` only when another page exists. Keep the same filters when continuing a page. Any workspace member may read the stream. Related: `GET /v1/orgs/:orgId/activity` returns Docket activity records rather than connected-system events.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdStreamResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter8204e902"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/SharedParameter39e8f1ac"},{"$ref":"#/components/parameters/SharedParameter0c1cef05"},{"$ref":"#/components/parameters/SharedParameter6cdf68d4"},{"$ref":"#/components/parameters/SharedParameter1c984fd3"},{"$ref":"#/components/parameters/SharedParameter7b9ccd07"},{"$ref":"#/components/parameters/SharedParameter6ccc9463"},{"$ref":"#/components/parameters/SharedParametera66b8359"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/orgs/{orgId}/stream/{eventId}/link":{"post":{"operationId":"postV1OrgsByOrgIdStreamByEventIdLink","summary":"Attach an activity event to a task","tags":["Stream"],"description":"## Purpose\n\nAttach an activity event to a task.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nResolve which piece of Docket work an activity event is about, when Docket could not work it out on its own. A meeting or a mail thread has no Docket mirror to match against, so it arrives with an unresolved subject; a pull request or an issue may simply not have been imported yet. Either way, naming the task by hand is what connects the activity to the work.\n\nResolving a subject widens who hears about the event: the task's assignee and lead become reachable by the ownership rules that could not run while the subject was unknown, and the task's search document is refreshed. Both are additive — nobody loses a notification they already had.\n\nThe event's own content is never altered. Any event already resolved answers 404, as does an event or task belonging to another workspace. Org membership suffices.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session. Organization membership is required.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Event — a row in the canonical cross-tool activity log (internal or external)."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"kind":{"$ref":"#/components/schemas/Shared15cb991c","description":"Selects the value variant."},"occurredAt":{"type":"string","description":"Occurred time as an ISO 8601 instant."},"title":{"type":"string","description":"Human-readable title."},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Short plain-language summary."},"permalink":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Permalink for this record."},"source":{"$ref":"#/components/schemas/SourceSystem","description":"Source for this record."},"actor":{"anyOf":[{"$ref":"#/components/schemas/ActorRef"},{"type":"null"}],"description":"Actor for this record."},"entity":{"anyOf":[{"$ref":"#/components/schemas/EntityRef"},{"type":"null"}],"description":"Entity for this record."},"participants":{"type":"array","items":{"$ref":"#/components/schemas/ActorRef"},"description":"Participants, in order."},"detail":{"anyOf":[{"$ref":"#/components/schemas/EventDetail"},{"type":"null"}],"description":"Detail for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"actorIsViewer":{"type":"boolean","description":"Actor is viewer for this record."},"relevance":{"anyOf":[{"type":"string","enum":["mention","assignment","owned","followed","participant","awaiting_you"]},{"type":"null"}],"description":"Relevance for this record."},"rendering":{"$ref":"#/components/schemas/StreamRendering","description":"Rendering for this record."}},"required":["id","organizationId","kind","occurredAt","title","summary","permalink","source","actor","entity","participants","detail","createdAt","actorIsViewer","relevance","rendering"],"description":"One event in the unified activity feed."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"message","occurredAt":"2026-09-19T12:00:00.000Z","title":"example","summary":"example","permalink":"example","source":{"system":"docket","integrationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","externalUrl":"example"},"actor":{"source":"docket","externalId":"example","displayName":"example","avatarUrl":"example","docketActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"entity":{"kind":"work_item","source":"docket","externalId":"example","title":"example","url":"example","docketEntityId":"example"},"participants":[{"source":"docket","externalId":"example","displayName":"example","avatarUrl":"example","docketActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"detail":{"schema":"docket.state_change","fromState":"example","toState":"example"},"createdAt":"2026-09-19T12:00:00.000Z","actorIsViewer":false,"relevance":"mention","rendering":{"icon":"example","category":"example"}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"taskId":{"type":"string","description":"The task this activity is about."}},"required":["taskId"],"description":"Which task an unresolved activity event is about."},"example":{"taskId":"example"}}},"description":"Fields used to attach an activity event to a task. Required fields and constraints appear in the schema below."},"parameters":[{"$ref":"#/components/parameters/SharedParametera66b8359"},{"schema":{"type":"string"},"in":"path","name":"eventId","required":true,"description":"Identifier of the event selected by this path parameter."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/config":{"get":{"operationId":"getPublicConfig","summary":"Get public client config","tags":["Config"],"description":"## Purpose\n\nReturn the non-secret deployment settings a client needs before it asks a person to sign in.\n\n## Inputs and constraints\n\n- The response contains no provider secret, session data, tenant data, or user data.\n- Clients should read this operation before rendering sign-in and connector choices instead of mirroring server configuration in build-time flags.\n\n## Result and side effects\n\n- The response lists a social provider only when the server has the credentials required to use it.\n- Connector availability comes from the same configured provider grants used by the runtime. One Google grant can expose Gmail, Calendar, and Google Tasks.\n- The response reports the deployment mode, passkey relying-party identifiers, and the configured MCP URL. A nullable value means the client must not assume that capability is configured.\n\n## Access and permissions\n\nNo credential is required.\n\nNo workspace capability is required.\n\n## Failures and recovery\n\n- `not_acceptable` (HTTP 406) — This address cannot return the requested response format.\n- `internal` (HTTP 500) — Docket could not complete the request.\n\n## Related operations\n\n- `listOrganizations`","responses":{"200":{"description":"The current non-secret client configuration for this Docket deployment.","content":{"application/json":{"schema":{"type":"object","properties":{"appMode":{"type":"string","enum":["local","test","staging","production"],"description":"The deployment mode the API is running in. `local` enables mock-everything affordances (stub OAuth, fixtures); `test` is the CI/test profile; `staging` uses real OAuth and model providers with separate data; `production` is the live deployment. The web client branches dev-only UI on this.","example":"production"},"oauthProviders":{"type":"array","items":{"type":"string","enum":["google","github","linear","notion","apple"],"description":"A social provider the sign-in/connect UI can offer (the identities plus `apple`)."},"description":"The social providers a user can sign in with / link an identity from, derived from real server credentials: a provider appears here iff its OAuth client id + secret are configured. The sign-in page renders exactly these buttons. One of `google` | `github` | `linear` | `apple` (apple is sign-in only, not a linkable identity).","example":["google","github"]},"appleAppClientId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The native Apple app identifier accepted as a Sign in with Apple ID-token audience, or null when native Apple sign-in is unavailable."},"passkeyRpId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The WebAuthn relying-party identifier, or null when passkeys are unavailable."},"legacyPasskeyRpId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The previous WebAuthn relying-party identifier accepted by the temporary native migration ceremony, or null when migration is unavailable."},"googleOAuthPublic":{"description":"False while Google OAuth is staged for designated test users only.","type":"boolean"},"googleServerClientId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Google OAuth web client ID Android supplies to Google Identity Services, or null when Google is unconfigured or not publicly offerable."},"adminGoogleSso":{"description":"Whether the operator console offers Google Workspace sign-in alongside its passkey flow. False keeps the console passkey-only.","type":"boolean"},"stripePublishableKey":{"description":"Stripe publishable key supplied at runtime; never a Stripe secret key.","anyOf":[{"type":"string"},{"type":"null"}]},"connectors":{"type":"array","items":{"type":"string"},"description":"The connector keys unlocked by the configured providers — the data sources an org can sync. A configured Google grant unlocks `gmail`/`calendar`/`gtasks`; GitHub unlocks `github`; Linear unlocks `linear`. Empty when no providers are configured.","example":["gmail","calendar","gtasks","github"]},"mcpUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Model Context Protocol server URL to show in the Authorized-apps setup guide, or null when `MCP_RESOURCE_URL` is unset (the client then derives it from its own origin). Absolute URL when present.","example":"https://api.docket.example/mcp"}},"required":["appMode","oauthProviders","appleAppClientId","passkeyRpId","legacyPasskeyRpId","googleServerClientId","connectors","mcpUrl"],"description":"The web client's runtime configuration, derived from real server credentials."},"example":{"appMode":"local","oauthProviders":["google"],"appleAppClientId":"example","passkeyRpId":"example","legacyPasskeyRpId":"example","googleServerClientId":"example","connectors":["example"],"mcpUrl":"example"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"x-docket-access":{"kind":"public"},"x-docket-errors":["not_acceptable","internal"],"x-docket-conditional-read":true,"x-docket-conditional-write":false,"x-docket-idempotency":false,"x-docket-related-operations":["listOrganizations"],"security":[],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/daily-plan/day/{date}":{"get":{"operationId":"getV1DailyPlanDayByDate","summary":"Read a daily planning draft and accepted history","tags":["DailyPlan"],"description":"## Purpose\n\nRead a daily planning draft and accepted history.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn the caller's draft, accepted history, visible task state, agenda events, and time-ledger work for one day.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/Shared46a52d54","description":"Date for this record."},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Revision for this record."},"draft":{"$ref":"#/components/schemas/Shared1e7cf3a6","description":"Draft for this record."},"accepted":{"$ref":"#/components/schemas/Shared4ff66fc0","description":"Accepted for this record."},"resumeStep":{"type":"string","enum":["review_yesterday","plan_today","review_plan"],"description":"Allowed resume step value."},"timezone":{"type":"string","description":"Timezone for this record."},"fixedIntervals":{"$ref":"#/components/schemas/Sharedb3ee87cf","description":"Fixed intervals for this record."},"tasks":{"type":"array","items":{"type":"object","properties":{"taskId":{"type":"string","description":"Identifies the referenced task."},"planItemId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced plan item."},"organizationId":{"type":"string","description":"Identifies the referenced organization."},"title":{"type":"string","description":"Human-readable title."},"state":{"type":"string","description":"Current lifecycle state."},"projectId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced project."},"projectName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Project name for this record."},"completedAt":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Completed time as an ISO 8601 instant."}},"required":["taskId","planItemId","organizationId","title","state","projectId","projectName","completedAt"]},"description":"Tasks, in order."},"carryover":{"type":"array","items":{"type":"object","properties":{"taskId":{"type":"string","description":"Identifies the referenced task."},"planItemId":{"type":"string","description":"Identifies the referenced plan item."},"organizationId":{"type":"string","description":"Identifies the referenced organization."},"title":{"type":"string","description":"Human-readable title."},"plannedDate":{"type":"string","format":"date","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])))$","description":"Planned date in YYYY-MM-DD format."}},"required":["taskId","planItemId","organizationId","title","plannedDate"]},"description":"Carryover, in order."},"agenda":{"$ref":"#/components/schemas/AgendaOut","description":"Agenda for this record."},"actual":{"type":"array","items":{"type":"object","properties":{"taskId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced task."},"startedAt":{"type":"string","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))$","description":"Started time as an ISO 8601 instant."},"endedAt":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Ended time as an ISO 8601 instant."},"recordedMinutes":{"type":"number","minimum":0,"description":"Recorded minutes for this record."}},"required":["taskId","startedAt","endedAt","recordedMinutes"]},"description":"Actual, in order."}},"required":["date","revision","draft","accepted","resumeStep","timezone","fixedIntervals","tasks","carryover","agenda","actual"]},"example":{"date":"2026-09-19","revision":0,"draft":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]},"accepted":{"original":{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}},"current":{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}},"history":[{"acceptedAt":"2026-09-19T12:00:00.000Z","snapshot":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]}}]},"resumeStep":"review_yesterday","timezone":"example","fixedIntervals":[{"id":"example","title":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","kind":"event"}],"tasks":[{"taskId":"example","planItemId":"example","organizationId":"example","title":"example","state":"example","projectId":"example","projectName":"example","completedAt":"2026-09-19T12:00:00.000Z"}],"carryover":[{"taskId":"example","planItemId":"example","organizationId":"example","title":"example","plannedDate":"2026-09-19"}],"agenda":{"date":"2026-09-19","entries":[{"kind":"task_timebox","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example","priority":"none","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z"}]},"actual":[{"taskId":"example","startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","recordedMinutes":0}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameteraee822f2"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/daily-plan/day/{date}/proposal":{"post":{"operationId":"postV1DailyPlanDayByDateProposal","summary":"Propose an editable daily plan","tags":["DailyPlan"],"description":"## Purpose\n\nPropose an editable daily plan.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nBuild a deterministic proposal from visible work, actual time, dependencies, and the person’s work windows without writing a draft or accepting a plan.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"draft":{"$ref":"#/components/schemas/Sharede20fcf7a","description":"Draft for this record."},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Revision for this record."},"startAt":{"$ref":"#/components/schemas/Sharede2fc785b","description":"Start time as an ISO 8601 instant."},"workScheduleMissing":{"type":"boolean","description":"Work schedule missing for this record."},"availableMinutes":{"type":"number","minimum":0,"description":"Available minutes for this record."},"bufferMinutes":{"type":"number","minimum":0,"description":"Buffer minutes for this record."},"fixedIntervals":{"$ref":"#/components/schemas/Sharedb3ee87cf","description":"Fixed intervals for this record."},"tasks":{"type":"array","items":{"type":"object","properties":{"taskId":{"type":"string","description":"Identifies the referenced task."},"title":{"type":"string","description":"Human-readable title."},"organizationId":{"type":"string","description":"Identifies the referenced organization."},"projectName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Project name for this record."},"projectId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced project."},"reason":{"type":"string","description":"Reason for this record."},"durationSource":{"type":"string","enum":["edited","estimate","history","default"],"description":"Allowed duration source value."}},"required":["taskId","title","organizationId","projectName","projectId","reason","durationSource"]},"description":"Tasks, in order."},"unplaced":{"type":"array","items":{"type":"object","properties":{"taskId":{"type":"string","description":"Identifies the referenced task."},"remainingMinutes":{"type":"number","exclusiveMinimum":0,"description":"Remaining minutes for this record."},"reason":{"type":"string","enum":["blocked","no_availability","insufficient_time"],"description":"Allowed reason value."}},"required":["taskId","remainingMinutes","reason"]},"description":"Unplaced, in order."},"changes":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["added","moved","removed"],"description":"Selects the value type."},"sessionId":{"type":"string","description":"Identifies the referenced session."},"previousStartsAt":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Previous starts time as an ISO 8601 instant."},"startsAt":{"anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}],"description":"Starts time as an ISO 8601 instant."},"taskIds":{"type":"array","items":{"type":"string"},"description":"Task ids, in order."}},"required":["type","sessionId","previousStartsAt","startsAt","taskIds"]},"description":"Changes, in order."}},"required":["draft","revision","startAt","workScheduleMissing","availableMinutes","bufferMinutes","fixedIntervals","tasks","unplaced","changes"]},"example":{"draft":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]},"revision":0,"startAt":"2026-09-19T12:00:00.000Z","workScheduleMissing":false,"availableMinutes":0,"bufferMinutes":0,"fixedIntervals":[{"id":"example","title":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","kind":"event"}],"tasks":[{"taskId":"example","title":"example","organizationId":"example","projectName":"example","projectId":"example","reason":"example","durationSource":"edited"}],"unplaced":[{"taskId":"example","remainingMinutes":0.1,"reason":"blocked"}],"changes":[{"type":"added","sessionId":"example","previousStartsAt":"2026-09-19T12:00:00.000Z","startsAt":"2026-09-19T12:00:00.000Z","taskIds":["example"]}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameteraee822f2"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"draft":{"$ref":"#/components/schemas/Sharede20fcf7a","description":"Draft for this record."},"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Expected revision for this record."}}},"example":{}}},"description":"Fields used to propose an editable daily plan. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/daily-plan/day/{date}/draft":{"put":{"operationId":"putV1DailyPlanDayByDateDraft","summary":"Save a resumable daily planning draft","tags":["DailyPlan"],"description":"## Purpose\n\nSave a resumable daily planning draft.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nSave the caller's editable draft and resume step. The accepted plan and recorded work do not change.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutV1DailyPlanDayByDateDraftResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameteraee822f2"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"draft":{"$ref":"#/components/schemas/Sharede20fcf7a","description":"Draft for this record."},"resumeStep":{"type":"string","enum":["review_yesterday","plan_today","review_plan"],"description":"Allowed resume step value."},"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Expected revision for this record."}},"required":["draft","resumeStep"]},"example":{"draft":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]},"resumeStep":"review_yesterday"}}},"description":"Fields used to save a resumable daily planning draft. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/daily-plan/day/{date}/confirm":{"post":{"operationId":"postV1DailyPlanDayByDateConfirm","summary":"Accept a daily planning draft","tags":["DailyPlan"],"description":"## Purpose\n\nAccept a daily planning draft.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAccept the draft as the original commitment or a later revision. Confirmation never starts a timer or rewrites actual work.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutV1DailyPlanDayByDateDraftResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameteraee822f2"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Expected revision for this record."}}},"example":{}}},"description":"Fields used to accept a daily planning draft. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/daily-plan":{"get":{"operationId":"getV1DailyPlan","summary":"Get the daily plan","tags":["DailyPlan"],"description":"## Purpose\n\nGet the daily plan.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn the caller's personal daily plan for one required calendar `date`, ordered by `sort ASC, id ASC`. Pages default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Reuse a cursor only for the same date. The plan can contain work from several workspaces but contains only the caller's items.\n\nSession-only, no capability. Returns 401 when unauthenticated and 404 when the caller has no Hub. This read has no side effects. Related: `POST /` to add an item, `PATCH /:id` to reorder, complete, or timebox it, `DELETE /:id` to remove it, and `GET /hub/today` for the cross-workspace Today view.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DailyPlanItemOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","refOrganizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","refTaskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","date":"2026-09-19","sort":0,"status":"planned","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/SharedParameter527dfd31"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1DailyPlan","summary":"Add a daily-plan item","tags":["DailyPlan"],"description":"## Purpose\n\nAdd a daily-plan item.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nAdd a visible task to the caller's daily plan for `date`. Supply `refOrganizationId` and `refTaskId`, plus an optional sort position and timebox. The caller must be an active member of the task's organization and must be able to view the task. Docket returns 404 when any of those conditions is not met.\n\nThe new item starts with status `planned` and appears in `GET /daily-plan` and `GET /v1/hub/today`. The authenticated user owns the item; the request cannot choose another owner.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DailyPlanItemOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"refOrganizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The org that owns the referenced Task. Must be one of the orgs the caller is a human Actor in, and is validated together with `refTaskId` before insert (failing either check returns a single 404)."},"refTaskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The Task being pulled into the plan. Must exist within `refOrganizationId`. The pair `(refOrganizationId, refTaskId)` is the cross-org pointer; the plan item stores no copy of the Task."},"date":{"type":"string","format":"date","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])))$","description":"The calendar day (ISO `YYYY-MM-DD`) this item is planned for. Items are grouped and read per date.","example":"2026-06-29"},"sort":{"description":"Optional ordering position within the day (ascending). Omitted lets the server assign a default position; reads return items ordered by this.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"timeboxStartsAt":{"description":"Optional ISO-8601 start of a calendar timebox for this task. Set together with `timeboxEndsAt` to place the item on the Today calendar pane; null/omitted leaves it unscheduled.","anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}]},"timeboxEndsAt":{"description":"Optional ISO-8601 end of the calendar timebox. Pairs with `timeboxStartsAt`; null/omitted leaves the item unscheduled.","anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}]}},"required":["refOrganizationId","refTaskId","date"],"description":"Add a task reference to the caller's daily plan."},"example":{"refOrganizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","refTaskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","date":"2026-09-19"}}},"description":"Fields used to add a daily-plan item. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/daily-plan/{id}":{"patch":{"operationId":"patchV1DailyPlanById","summary":"Update a daily-plan item","tags":["DailyPlan"],"description":"## Purpose\n\nUpdate a daily-plan item.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate a daily-plan item's lifecycle: mark it `done`/`planned` (`status`), reorder it within the day (`sort`), or set/clear its calendar timebox (`timeboxStartsAt`/`timeboxEndsAt`). All body fields are optional — only the keys present are written, so this is a partial update; a null timebox value clears that side of the window. An accepted daily plan requires a previewed revision for timebox changes and returns **409 (`accepted_plan_requires_revision`)**. The task reference and date are immutable here (remove and re-add to retarget).\n\n**Ownership is enforced first:** the item must exist under the caller's own Hub (`(id, hubId)`), else **404 (Daily plan item not found)** — a caller cannot patch another person's plan item. The status/timebox changes flow into `GET /daily-plan` and the Hub Today calendar pane. Session-only, no capability; 401 when unauthenticated, 404 if the caller has no Hub or the item isn't theirs.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DailyPlanItemOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"New completion state (`planned`/`done`). Omitted leaves the status unchanged (partial update).","type":"string","enum":["planned","done"]},"sort":{"description":"New ordering position within the day. Omitted leaves the position unchanged.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"timeboxStartsAt":{"description":"New ISO-8601 timebox start, or null to clear it. Omitted leaves it unchanged (partial update).","anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}]},"timeboxEndsAt":{"description":"New ISO-8601 timebox end, or null to clear it. Omitted leaves it unchanged (partial update).","anyOf":[{"$ref":"#/components/schemas/Shareddb94d84e"},{"type":"null"}]}},"description":"Update a daily-plan item."},"example":{}}},"description":"Fields used to update a daily-plan item. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1DailyPlanById","summary":"Remove a daily-plan item","tags":["DailyPlan"],"description":"## Purpose\n\nRemove a daily-plan item.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove a Task from the caller's daily plan and return the removed item so the client can confirm the change or offer Undo. This only removes the Task from that day. The Task itself is unchanged. An accepted daily plan requires a previewed revision and returns **409 (`accepted_plan_requires_revision`)**.\n\nAn item that does not belong to the caller, or an unknown id, returns **404 (Daily plan item not found)**. Session-only, no capability. Returns 401 when unauthenticated and 404 when the caller has no Hub.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DailyPlanItemOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/daily-plan/day/{date}/review":{"post":{"operationId":"postV1DailyPlanDayByDateReview","summary":"Resolve unfinished earlier work","tags":["DailyPlan"],"description":"## Purpose\n\nResolve unfinished earlier work.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nKeep each review decision independently of accepted plan history. A future choice adds a new daily item.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"reviewed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Reviewed for this record."}},"required":["reviewed"]},"example":{"reviewed":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameteraee822f2"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"decisions":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"planItemId":{"type":"string","description":"Identifies the referenced plan item."},"action":{"type":"string","enum":["today","backlog","done","another"],"description":"Allowed action value."},"targetDate":{"$ref":"#/components/schemas/Shared41b119e5","description":"Target date in YYYY-MM-DD format."}},"required":["planItemId","action"]},"description":"Decisions, in order."}},"required":["decisions"]},"example":{"decisions":[{"planItemId":"example","action":"today"}]}}},"description":"Fields used to resolve unfinished earlier work. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/daily-plan/day/{date}/assessment":{"post":{"operationId":"postV1DailyPlanDayByDateAssessment","summary":"Request an optional Athena assessment of a daily proposal","tags":["DailyPlan"],"description":"## Purpose\n\nRequest an optional Athena assessment of a daily proposal.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nRun one structured, read-only turn on the caller-selected Athena backend. Return the proposal fingerprint with a short note and explicit missing-task suggestions. Unavailable models return no assessment and never block manual planning.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"proposalFingerprint":{"type":"string","description":"Proposal fingerprint for this record."},"assessment":{"anyOf":[{"type":"string","minLength":1,"maxLength":400},{"type":"null"}],"description":"Assessment for this record."},"suggestions":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"organizationId":{"type":"string","minLength":1,"description":"Identifies the referenced organization."},"projectId":{"type":"string","minLength":1,"description":"Identifies the referenced project."},"title":{"type":"string","minLength":1,"maxLength":180,"description":"Human-readable title."},"reason":{"type":"string","minLength":1,"maxLength":240,"description":"Reason for this record."},"projectName":{"type":"string","description":"Project name for this record."}},"required":["organizationId","projectId","title","reason","projectName"]},"description":"Suggestions, in order."}},"required":["proposalFingerprint","assessment","suggestions"]},"example":{"proposalFingerprint":"example","assessment":"example","suggestions":[{"organizationId":"example","projectId":"example","title":"example","reason":"example","projectName":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameteraee822f2"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"draft":{"$ref":"#/components/schemas/Sharede20fcf7a","description":"Draft for this record."},"proposalFingerprint":{"type":"string","minLength":1,"maxLength":128,"description":"Proposal fingerprint for this record."}},"required":["draft","proposalFingerprint"]},"example":{"draft":{"date":"2026-09-19","finishAt":"2026-09-19T12:00:00.000Z","mainTaskId":"example","tasks":[{"taskId":"example","organizationId":"example","plannedMinutes":1,"sort":0}],"sessions":[{"id":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allocations":[{"taskId":"example","plannedMinutes":1}],"pinned":false}]},"proposalFingerprint":"example"}}},"description":"Fields used to request an optional Athena assessment of a daily proposal. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/schedule-week/shapes":{"get":{"operationId":"getV1ScheduleWeekShapes","summary":"List the work-shape taxonomy","tags":["Scheduling"],"description":"## Purpose\n\nList the work-shape taxonomy.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn the six work shapes the weekly planner understands, each with its full placement profile: whether it must be contiguous, which kind of availability window it consumes, its minimum/default/maximum session length, what it requires to be well-formed (a location, attendees, a source event), and whether it may absorb leftover time.\n\nThis is a **read of a compile-time constant**, not of the caller's data, so it is side-effect-free and identical for every caller. It exists so a client can render and validate shapes without restating any of these constraints — the planner and the UI read the same table.\n\nSession-only, no capability. 401 when unauthenticated.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"shapes":{"type":"array","items":{"$ref":"#/components/schemas/WorkShapeProfile"},"description":"Shapes, in order."}},"required":["shapes"],"description":"Every work shape the scheduler knows and the constraints that make each one placed differently."},"example":{"shapes":[{"shape":"filming_session","label":"example","placement":"contiguous","windowKind":"desk","fallbackWindowKinds":["desk"],"minMinutes":1,"defaultMinutes":1,"maxMinutes":1,"splittable":false,"requires":["location"],"bufferAfterMinutes":0,"backfillEligible":false}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/schedule-week/preferences":{"get":{"operationId":"getV1ScheduleWeekPreferences","summary":"Read scheduling preferences","tags":["Scheduling"],"description":"## Purpose\n\nRead scheduling preferences.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn the caller's availability model (recurring weekly desk/field/transit/personal windows), their standing weekly commitments, and the planner policy (whether meetings automatically earn a debrief, which shapes may absorb slack, and the gap/travel thresholds).\n\n**Documented defaults, not hidden fallbacks:** a caller who has never saved preferences gets a complete, usable model back with `configured: false` — weekday desk hours with a protected lunch, protected evenings and Sundays, Saturday field time, and weekday commute windows. That is what lets the very first planning run produce a real week; every value in it is visible here and editable via `PUT /preferences`.\n\nSession-only, no capability. Returns 401 when unauthenticated and 404 when the caller has no Hub. This read has no side effects.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1ScheduleWeekPreferencesResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"put":{"operationId":"putV1ScheduleWeekPreferences","summary":"Update scheduling preferences","tags":["Scheduling"],"description":"## Purpose\n\nUpdate scheduling preferences.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nReplace any subset of the caller's scheduling configuration. Every provided field replaces its value wholesale (the arrays are documents, not patch sets); omitted fields keep their current value.\n\nCommitments saved here are standing instructions, such as two filming sessions per week at one location. A later `POST /` uses these preferences and needs no request body. Docket removes choices from `backfillShapes` when the selected shape does not support backfill.\n\nThe operation saves the complete preference set. Commitments without an `id` receive one. Session-only, no capability. Returns 401 when unauthenticated and 404 when the caller has no Hub.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1ScheduleWeekPreferencesResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"timezone":{"type":"string","description":"Timezone for this record."},"windows":{"maxItems":200,"type":"array","items":{"$ref":"#/components/schemas/AvailabilityWindow"},"description":"Windows, in order."},"commitments":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"shape":{"$ref":"#/components/schemas/WorkShape","description":"Shape for this record."},"title":{"type":"string","minLength":1,"maxLength":200,"description":"Human-readable title."},"organizationId":{"$ref":"#/components/schemas/Shared671b9489","description":"Identifies the referenced organization."},"taskId":{"$ref":"#/components/schemas/Shared974a2697","description":"Identifies the referenced task."},"sessionsPerWeek":{"type":"integer","minimum":0,"maximum":21,"description":"Sessions per week for this record."},"minutesPerSession":{"anyOf":[{"type":"integer","minimum":5,"maximum":600},{"type":"null"}],"description":"Requested session length; null uses the shape's profile default."},"location":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"description":"Location for this record."},"workPlaceId":{"$ref":"#/components/schemas/Shared91f4fd6f","description":"Identifies the referenced work place."},"attendees":{"maxItems":50,"type":"array","items":{"type":"string","maxLength":200},"description":"Community members or collaborators expected at this block."},"active":{"type":"boolean","description":"Active for this record."},"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The stable identifier for this resource."}},"required":["shape","title","organizationId","taskId","sessionsPerWeek","minutesPerSession","location","attendees","active"]},"description":"Commitments, in order."},"reflectionForMeetings":{"type":"boolean","description":"Reflection for meetings for this record."},"backfillShapes":{"maxItems":6,"type":"array","items":{"$ref":"#/components/schemas/WorkShape"},"description":"Backfill shapes, in order."},"checkInCadenceMinutes":{"type":"integer","minimum":30,"maximum":480,"description":"Check in cadence minutes for this record."},"autoReorganizeOnDrift":{"type":"boolean","description":"Auto reorganize on drift for this record."},"maxUnplannedGapMinutes":{"type":"integer","minimum":15,"maximum":480,"description":"Max unplanned gap minutes for this record."},"minTransitGapMinutes":{"type":"integer","minimum":5,"maximum":120,"description":"Min transit gap minutes for this record."},"maxTransitGapMinutes":{"type":"integer","minimum":15,"maximum":480,"description":"Max transit gap minutes for this record."}}},"example":{}}},"description":"Fields used to update scheduling preferences. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/schedule-week":{"post":{"operationId":"postV1ScheduleWeek","summary":"Generate a scheduled week","tags":["Scheduling"],"description":"## Purpose\n\nGenerate a scheduled week.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nGenerate a weekly plan and add its scheduled blocks to the caller's calendar. The request body is optional. When omitted, Docket plans the current week in the Hub timezone using saved availability, existing calendar items, scheduling preferences, and measured work durations.\n\nDocket keeps personal windows free. It places field work and meetings before desk work, keeps writing and architecture blocks contiguous, adds debriefs after meetings, and uses travel or waiting gaps for reading. The response lists work that could not be scheduled in `unplaced` with one of these reason codes: `missing_location`, `missing_attendees`, `no_matching_window`, or `week_full`.\n\nBy default, Docket replaces blocks that a previous scheduler run created for the same week. It never removes hand-created or externally synced calendar items. Set `replaceExisting: false` to keep earlier scheduled blocks. Set `dryRun: true` to return the proposed plan without changing the calendar.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1ScheduleWeekResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeekPlanGenerateInput"}}},"description":"Fields used to generate a scheduled week. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"get":{"operationId":"getV1ScheduleWeek","summary":"Read a generated week","tags":["Scheduling"],"description":"## Purpose\n\nRead a generated week.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn the current calendar plan and coverage for one week. Coverage includes available minutes, planned minutes, percentage covered, protected minutes, remaining gaps above the caller's threshold, and the longest gap.\n\nThe response reflects current calendar items, including changes made after the scheduling run. `runId` identifies the most recent planning run for the week or is null when the week has never been generated. `weekStartDate` defaults to the current week in the Hub timezone and is normalized to that week's local Monday. This operation does not change the calendar.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1ScheduleWeekResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"query","name":"weekStartDate","schema":{"$ref":"#/components/schemas/Shared824061ac"},"description":"A calendar date with no time component, ISO-8601 `YYYY-MM-DD`."}],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/directive":{"get":{"operationId":"getV1Directive","summary":"Read the daily directive","tags":["Directive"],"description":"## Purpose\n\nRead the daily directive.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn the caller's committed plan and attention status for one day. `posture` is `on_track`, `attention_needed`, or `intervention_recommended`. The response includes a reason, at most one recommendation, and any incomplete day-start or day-end gates.\n\nDocket calculates posture from scheduled timeboxes and the current time. It does not use a model or assign a probability. Reading the directive creates the day's directive when needed. Its `directiveId` changes only when posture changes, so `POST /acknowledge` can acknowledge the exact state the caller read.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"schemaVersion":{"type":"string","const":"directive/1","description":"Schema version for this record."},"directiveId":{"type":"string","description":"This snapshot’s id; echo it to acknowledge it."},"date":{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},"timezone":{"type":"string","description":"Timezone for this record."},"generatedAt":{"type":"string","description":"Generated time as an ISO 8601 instant."},"agendaReadiness":{"$ref":"#/components/schemas/DirectiveAgendaReadiness","description":"Agenda readiness for this record."},"plan":{"type":"array","items":{"$ref":"#/components/schemas/DirectivePlanItemOut"},"description":"Plan, in order."},"attention":{"type":"object","properties":{"blocked":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Blocked for this record."},"dueToday":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Due today for this record."},"approvalsPending":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Approvals pending for this record."}},"required":["blocked","dueToday","approvalsPending"],"description":"Attention for this record."},"posture":{"$ref":"#/components/schemas/DirectivePosture","description":"Posture for this record."},"reason":{"type":"string","maxLength":280,"description":"Plain-language, application-owned, safe to show verbatim."},"recommendedAction":{"anyOf":[{"$ref":"#/components/schemas/DirectiveRecommendedAction"},{"type":"null"}],"description":"Recommended action for this record."},"gates":{"type":"array","items":{"$ref":"#/components/schemas/DirectiveGateOut"},"description":"Gates, in order."},"checkInsDue":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Check-ins whose scheduled time has passed and which are still unanswered."}},"required":["schemaVersion","directiveId","date","timezone","generatedAt","agendaReadiness","plan","attention","posture","reason","recommendedAction","gates","checkInsDue"],"description":"The generic daily-directive projection any device-posture client can consume."},"example":{"schemaVersion":"directive/1","directiveId":"example","date":"2026-09-19","timezone":"example","generatedAt":"2026-09-19T12:00:00.000Z","agendaReadiness":"ready","plan":[{"taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","calendarItemId":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","shape":"filming_session","status":"planned","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","url":"example"}],"attention":{"blocked":0,"dueToday":0,"approvalsPending":0},"posture":"on_track","reason":"example","recommendedAction":{"kind":"narrow_focus","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","calendarItemId":"example","title":"example"},"gates":[{"kind":"day_start","state":"open","outstandingSteps":["agenda_reviewed"],"releasedAt":"2026-09-19T12:00:00.000Z"}],"checkInsDue":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter223f6824"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/directive/acknowledge":{"post":{"operationId":"postV1DirectiveAcknowledge","summary":"Acknowledge a directive","tags":["Directive"],"description":"## Purpose\n\nAcknowledge a directive.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nRecord how a client handled a directive, including the posture it used, whether it changed device state, and an optional note.\n\n`directiveId` is the deduplication key. Repeating the request replaces the existing acknowledgment instead of creating another one, so this operation does not use `Idempotency-Key`. Docket returns 404 when the directive was never issued to this caller or a posture change has replaced it. Read the current directive and acknowledge its new ID before retrying.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"acknowledged":{"type":"boolean","const":true,"description":"Acknowledged for this record."},"acknowledgedAt":{"type":"string","description":"Acknowledged time as an ISO 8601 instant."}},"required":["acknowledged","acknowledgedAt"]},"example":{"acknowledged":true,"acknowledgedAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"directiveId":{"type":"string","description":"Identifies the referenced directive."},"appliedPosture":{"$ref":"#/components/schemas/DirectivePosture","description":"Applied posture for this record."},"enforced":{"type":"boolean","description":"Whether the client changed device state in response."},"note":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"description":"Note for this record."}},"required":["directiveId","appliedPosture","enforced"]},"example":{"directiveId":"example","appliedPosture":"on_track","enforced":false}}},"description":"Fields used to acknowledge a directive. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/directive/day-start":{"get":{"operationId":"getV1DirectiveDayStart","summary":"Read the start-of-day handshake","tags":["Directive"],"description":"## Purpose\n\nRead the start-of-day handshake.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn the start-of-day gate, readiness state, and agenda. `readiness: \"not_generated\"` means no planning run covers today. `readiness: \"empty_week\"` means a planning run exists but placed no blocks. `agenda` is populated only when `ready` is true.\n\nReading this operation creates the day's directive when it does not exist. It does not change the agenda or release the gate. Use `POST /day-start/acknowledge` after presenting the agenda.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1DirectiveDayStartResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter223f6824"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/directive/day-start/decide":{"post":{"operationId":"postV1DirectiveDayStartDecide","summary":"Answer one of the morning’s proposals","tags":["Directive"],"description":"## Purpose\n\nAnswer one of the morning’s proposals.\n\n## Inputs and constraints\n\nSupply the query parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nKeep or defer one block from the morning review and return the updated day-start response. `keep` leaves the block on the selected day. `defer` moves it to `deferTo`, or to tomorrow when `deferTo` is omitted, while preserving its local clock time.\n\nOnly blocks created by Docket's scheduler can be deferred. A hand-created or externally synced block returns 422 for `defer`, but it may be kept. Docket records the decision so later day-start reads return the same result. Repeating the same decision is safe. An unknown proposal returns 404.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1DirectiveDayStartResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter223f6824"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"The proposal's key, as returned by day-start."},"decision":{"type":"string","enum":["keep","defer"],"description":"Allowed decision value."},"deferTo":{"description":"Which local date a deferred block moves to. Defaults to tomorrow.","type":"string","format":"date","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])))$","example":"2026-06-29"}},"required":["key","decision"]},"example":{"key":"example","decision":"keep"}}},"description":"Fields used to answer one of the morning’s proposals. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/directive/day-start/acknowledge":{"post":{"operationId":"postV1DirectiveDayStartAcknowledge","summary":"Complete the morning agenda review","tags":["Directive"],"description":"## Purpose\n\nComplete the morning agenda review.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nFire the morning release signal: the person has been through today's agenda.\n\n**It fires exactly once.** The write is conditional on the signal being absent, so a retried or duplicated call returns `fired: false` with the original timestamp rather than producing a second signal — which is what lets a consumer treat \"the gate released\" as an event and not a poll result. A day whose agenda is not `ready` is refused with `fired: false` and the readiness code, so a client cannot release a gate for a day that was never planned.\n\n**Side effect:** stamps `day_directive.agenda_acknowledged_at`. Session-only, no capability; 401 when unauthenticated, 404 if the caller has no Hub.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"fired":{"type":"boolean","description":"True only on the call that actually released the gate; false on a repeat."},"acknowledgedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Acknowledged time as an ISO 8601 instant."},"readiness":{"type":"string","description":"Why the signal was refused, when it was."}},"required":["fired","acknowledgedAt","readiness"]},"example":{"fired":false,"acknowledgedAt":"2026-09-19T12:00:00.000Z","readiness":"example"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter223f6824"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/directive/check-ins":{"get":{"operationId":"getV1DirectiveCheckIns","summary":"List the day's check-ins","tags":["Directive"],"description":"## Purpose\n\nList the day's check-ins.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn the day's check-ins in scheduled order. Each item identifies its calendar block, reports how many blocks remained unfinished when it became due, includes display-ready prompt text, and contains either the caller's response or an unanswered state.\n\nDocket schedules check-ins at block boundaries and adds enough evenly spaced check-ins to produce between three and eight per day. Reading the collection creates any missing check-ins for the day, which allows an unanswered check-in to remain visible later. Use `POST /check-ins/:id/respond` to answer one.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1DirectiveCheckInsResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter223f6824"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/directive/check-ins/{id}/respond":{"post":{"operationId":"postV1DirectiveCheckInsByIdRespond","summary":"Answer a check-in","tags":["Directive"],"description":"## Purpose\n\nAnswer a check-in.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nRecord the person's own answer to one check-in — on track, behind, switched to something else, or already done — with an optional note, and return the day's check-ins as they now stand.\n\nThe answer is the person's, never inferred. A `behind` or `switched` answer is what a drift reorganization looks for, so answering honestly is what makes the rest of the day get re-cut rather than silently slip.\n\n**Side effect:** stamps the check-in's response and timestamp. Scoped to the caller's own Hub, so one Hub can never answer another's; a check-in that is not the caller's returns **404**. Session-only, no capability; 401 when unauthenticated.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1DirectiveCheckInsResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"response":{"$ref":"#/components/schemas/CheckInResponse","description":"Response for this record."},"note":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"description":"Note for this record."}},"required":["response"]},"example":{"response":"on_track"}}},"description":"Fields used to answer a check-in. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/directive/reorganize":{"post":{"operationId":"postV1DirectiveReorganize","summary":"Re-cut the remaining day","tags":["Directive"],"description":"## Purpose\n\nRe-cut the remaining day.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReschedule the remaining Docket-planned blocks for today around the time that is still available. Docket moves only future blocks created by its scheduler. It does not move blocks that have started, finished, were created by the person, or came from an external calendar. Moved blocks keep their duration, order, and work-shape restrictions.\n\nBlocks that no longer fit are archived rather than deleted, so the evening review can still include them. The response lists moved blocks with their previous and new times, displaced blocks, and `driftMinutes`. When anything changes, Docket records `lastReorganizedAt`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},"reorganizedAt":{"type":"string","description":"Reorganized time as an ISO 8601 instant."},"movedBlocks":{"type":"array","items":{"type":"object","properties":{"calendarItemId":{"type":"string","description":"Identifies the referenced calendar item."},"title":{"type":"string","description":"Human-readable title."},"fromStartsAt":{"type":"string","description":"From starts time as an ISO 8601 instant."},"toStartsAt":{"type":"string","description":"To starts time as an ISO 8601 instant."},"toEndsAt":{"type":"string","description":"To ends time as an ISO 8601 instant."},"minutesShifted":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Minutes shifted for this record."}},"required":["calendarItemId","title","fromStartsAt","toStartsAt","toEndsAt","minutesShifted"]},"description":"Moved blocks, in order."},"displacedBlocks":{"type":"array","items":{"type":"object","properties":{"calendarItemId":{"type":"string","description":"Identifies the referenced calendar item."},"title":{"type":"string","description":"Human-readable title."}},"required":["calendarItemId","title"]},"description":"Blocks that no longer fit the remaining day and were removed from it."},"driftMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How far behind the day had fallen when this pass ran."}},"required":["date","reorganizedAt","movedBlocks","displacedBlocks","driftMinutes"]},"example":{"date":"2026-09-19","reorganizedAt":"2026-09-19T12:00:00.000Z","movedBlocks":[{"calendarItemId":"example","title":"example","fromStartsAt":"2026-09-19T12:00:00.000Z","toStartsAt":"2026-09-19T12:00:00.000Z","toEndsAt":"2026-09-19T12:00:00.000Z","minutesShifted":0}],"displacedBlocks":[{"calendarItemId":"example","title":"example"}],"driftMinutes":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter223f6824"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/directive/review":{"get":{"operationId":"getV1DirectiveReview","summary":"Read the end-of-day review","tags":["Directive"],"description":"## Purpose\n\nRead the end-of-day review.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn the end-of-day review, including its three steps, unfinished items, reflection questions and answers, proposed agenda for tomorrow, and the `day_end` gate.\n\nStep one requires a decision for each unfinished block: mark it done, move it to a date, or drop it with a reason. Step two contains three fixed reflection questions. Step three requires explicit confirmation of tomorrow's agenda. The gate lists incomplete steps and releases when all three are complete.\n\nThe first read creates a stable review from the day's unfinished items. Items do not disappear from that review after later schedule changes, and completed decisions do not reappear.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1DirectiveReviewResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter223f6824"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/directive/review/disposition":{"post":{"operationId":"postV1DirectiveReviewDisposition","summary":"Decide on one unfinished item","tags":["Directive"],"description":"## Purpose\n\nDecide on one unfinished item.\n\n## Inputs and constraints\n\nSupply the query parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nRecord what happened to one unfinished item: it was `completed`, it is `rescheduled` to a named date, or it is `dropped`. Dropping an item requires a reason.\n\nDropping without a reason or rescheduling without a date returns a validation error. The day cannot be released until every unfinished item has a valid disposition.\n\nThe response contains the complete updated review, including its step counts and release state. Session-only, no capability. Returns 401 when unauthenticated and 404 when the caller has no Hub or the item key is not in this review.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse3d4e6c63"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter223f6824"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"Stable machine-readable key."},"disposition":{"$ref":"#/components/schemas/ReconcileDisposition","description":"Disposition for this record."},"rescheduledTo":{"$ref":"#/components/schemas/Sharedece9b779","description":"Rescheduled to for this record."},"reason":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"description":"Reason for this record."}},"required":["key","disposition"]},"example":{"key":"example","disposition":"completed"}}},"description":"Fields used to decide on one unfinished item. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/directive/review/answer":{"post":{"operationId":"postV1DirectiveReviewAnswer","summary":"Answer one review question","tags":["Directive"],"description":"## Purpose\n\nAnswer one review question.\n\n## Inputs and constraints\n\nSupply the query parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nRecord the answer to one of the three fixed reflection questions — what moved, what got in the way, what should be different tomorrow — and return the review as it now stands.\n\nThe questions are a closed set defined by Docket, so a review is comparable day to day rather than being whatever the person felt like writing. Answers are the person's own words and are never shown back as anything but their own.\n\n**Side effect:** updates the review's answer map. Session-only, no capability; 401 when unauthenticated, 404 if the caller has no Hub or no review exists for the day.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse3d4e6c63"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter223f6824"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"$ref":"#/components/schemas/ReviewPromptKey","description":"Stable machine-readable key."},"answer":{"type":"string","maxLength":2000,"description":"Answer for this record."}},"required":["key","answer"]},"example":{"key":"what_moved","answer":"example"}}},"description":"Fields used to answer one review question. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/directive/review/confirm-tomorrow":{"post":{"operationId":"postV1DirectiveReviewConfirmTomorrow","summary":"Confirm tomorrow's agenda","tags":["Directive"],"description":"## Purpose\n\nConfirm tomorrow's agenda.\n\n## Inputs and constraints\n\nSupply the query parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nThe last step, and never implicit: the person accepts (a subset of) the proposed agenda for tomorrow, which completes the review and releases the `day_end` gate.\n\n**Refused while an earlier step is outstanding.** A call made before every item is dispositioned or every question answered fails validation naming the outstanding steps, so the three steps cannot be completed out of order and a client cannot skip to the end to release the gate. Nothing auto-accepts a proposal — that is the difference between \"the system planned tomorrow\" and \"the person intended tomorrow\", and it is the whole reason this step exists.\n\n**Side effects:** stores the accepted proposals, stamps `tomorrow_confirmed_at` and `completed_at` on the review, and stamps `review_completed_at` on the day's directive. Session-only, no capability; 401 when unauthenticated, 404 if the caller has no Hub.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse3d4e6c63"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter223f6824"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"acceptedKeys":{"maxItems":100,"type":"array","items":{"type":"string"},"description":"Accepted keys, in order."}},"required":["acceptedKeys"]},"example":{"acceptedKeys":["example"]}}},"description":"Fields used to confirm tomorrow's agenda. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/agenda":{"get":{"operationId":"getV1Agenda","summary":"Get combined agenda","tags":["Agenda"],"description":"## Purpose\n\nGet combined agenda.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn the signed-in user day agenda with Docket daily-plan timeboxes and selected first-party Google Calendar events. `calendarIds` and `connectionIds` are comma-separated temporary filters for this read.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/Shared466a8095","description":"Date for this record."},"entries":{"$ref":"#/components/schemas/Sharedd084be6b","description":"Entries for this record."}},"required":["date","entries"],"description":"Combined agenda for a single day."},"example":{"date":"2026-09-19","entries":[{"kind":"task_timebox","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","state":"example","priority":"none","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/time/active":{"get":{"operationId":"getV1TimeActive","summary":"Get the active tracker","tags":["Time"],"description":"## Purpose\n\nGet the active tracker.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn the caller’s one active human tracker, any caller-visible active agent executions, and the server clock used to render exact elapsed time after a client reload. Session-only; raw time remains personal to the caller’s Hub.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"record":{"anyOf":[{"$ref":"#/components/schemas/TimeRecordOut"},{"type":"null"}],"description":"Record for this record."},"suggestion":{"anyOf":[{"$ref":"#/components/schemas/TimeAnchorSuggestion"},{"type":"null"}],"description":"Suggestion for this record."},"serverNow":{"type":"string","description":"Server now for this record."},"activeAgentExecutions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an AgentExecution — one exact runtime lifecycle beneath an AgentSession."},"sessionId":{"$ref":"#/components/schemas/Shared30e9141f","description":"Identifies the referenced session."},"timeRecordId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeRecord — a Hub-owned semantic container for exact human and agent effort."},{"type":"null"}],"description":"Identifies the referenced time record."},"status":{"type":"string","enum":["queued","running","tool_wait","awaiting_human","completed","failed","canceled"],"description":"Current lifecycle state."},"startedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Started time as an ISO 8601 instant."}},"required":["id","sessionId","timeRecordId","status","startedAt"]},"description":"Active agent executions, in order."}},"required":["record","suggestion","serverNow","activeAgentExecutions"],"description":"The caller’s active human tracker and agents."},"example":{"record":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","hubId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","outcomeNote":"example","status":"open","categoryId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","captureSource":"live","startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","closedAt":"2026-09-19T12:00:00.000Z","intervals":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timeRecordId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"example","actorKind":"human","userId":"example","agentExecutionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","mode":"human_active","source":"user_timer","startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","supersededById":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z","closedAt":"2026-09-19T12:00:00.000Z"}],"contexts":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timeRecordId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","role":"primary","entityRef":{"kind":"work_item","source":"docket","externalId":"example","title":"example","url":"example","docketEntityId":"example"},"organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z"}],"allocations":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timeRecordId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetKind":"task","targetId":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","basisPoints":0,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}],"measures":{"elapsedMs":0,"humanEffortMs":0,"agentEffortMs":0,"combinedEffortMs":0,"operationalWaitMs":0}},"suggestion":{"taskId":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","source":"calendar_timebox","calendarItemId":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z"},"serverNow":"example","activeAgentExecutions":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sessionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timeRecordId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","status":"queued","startedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/time/timeline":{"get":{"operationId":"getV1TimeTimeline","summary":"Get a bounded Time Ledger timeline","tags":["Time"],"description":"## Purpose\n\nGet a bounded Time Ledger timeline.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn the caller’s personal records whose exact intervals overlap the requested UTC range. The response includes all labeled duration measures and never infers actual work from calendar events or task timeboxes.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TimeRecordOut"},"description":"Items, in order."}},"required":["items"],"description":"The caller’s personal Time Ledger timeline."},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","hubId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","outcomeNote":"example","status":"open","categoryId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","captureSource":"live","startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","closedAt":"2026-09-19T12:00:00.000Z","intervals":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timeRecordId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"example","actorKind":"human","userId":"example","agentExecutionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","mode":"human_active","source":"user_timer","startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","supersededById":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z","closedAt":"2026-09-19T12:00:00.000Z"}],"contexts":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timeRecordId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","role":"primary","entityRef":{"kind":"work_item","source":"docket","externalId":"example","title":"example","url":"example","docketEntityId":"example"},"organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z"}],"allocations":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","timeRecordId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetKind":"task","targetId":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","basisPoints":0,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}],"measures":{"elapsedMs":0,"humanEffortMs":0,"agentEffortMs":0,"combinedEffortMs":0,"operationalWaitMs":0}}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter306adba5"},{"$ref":"#/components/parameters/SharedParameter0c60b45f"},{"$ref":"#/components/parameters/SharedParameter28d88748"},{"$ref":"#/components/parameters/SharedParameter1043e375"},{"$ref":"#/components/parameters/SharedParameterd9b912d5"},{"$ref":"#/components/parameters/SharedParametere735ba69"},{"$ref":"#/components/parameters/SharedParameter0971d6da"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/time/summary":{"get":{"operationId":"getV1TimeSummary","summary":"Summarize a bounded Time Ledger range","tags":["Time"],"description":"## Purpose\n\nSummarize a bounded Time Ledger range.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn separately-labeled human, agent, combined, elapsed, and operational-wait measures for the caller’s own records in a bounded range. Parallel agent effort intentionally may exceed elapsed wall-clock time.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"elapsedMs":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Elapsed ms for this record."},"humanEffortMs":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Human effort ms for this record."},"agentEffortMs":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Agent effort ms for this record."},"combinedEffortMs":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Combined effort ms for this record."},"operationalWaitMs":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Operational wait ms for this record."}},"required":["elapsedMs","humanEffortMs","agentEffortMs","combinedEffortMs","operationalWaitMs"],"description":"Labeled Time Ledger duration measures."},"example":{"elapsedMs":0,"humanEffortMs":0,"agentEffortMs":0,"combinedEffortMs":0,"operationalWaitMs":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter306adba5"},{"$ref":"#/components/parameters/SharedParameter0c60b45f"},{"$ref":"#/components/parameters/SharedParameter28d88748"},{"$ref":"#/components/parameters/SharedParameter1043e375"},{"$ref":"#/components/parameters/SharedParameterd9b912d5"},{"$ref":"#/components/parameters/SharedParametere735ba69"},{"$ref":"#/components/parameters/SharedParameter0971d6da"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/time/breakdown":{"get":{"operationId":"getV1TimeBreakdown","summary":"Break down Time Ledger effort","tags":["Time"],"description":"## Purpose\n\nBreak down Time Ledger effort.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nGroup the caller’s personal Time Ledger by workspace, task, project, program, initiative, category, or actor. Workspace/task/project credit comes from explicit allocations; program and initiative are derived from the tracked task’s place in the work hierarchy (task → project → program, and project/program → initiative). Related context never silently becomes billable or reportable time, and a task with no program/initiative lands in an explicit `unassigned:*` bucket rather than being dropped.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"groupBy":{"type":"string","enum":["workspace","task","project","program","initiative","category","actor","capture_source"],"description":"Allowed group by value."},"buckets":{"type":"array","items":{"$ref":"#/components/schemas/TimeBreakdownBucketOut"},"description":"Buckets, in order."},"total":{"$ref":"#/components/schemas/TimeMeasuresOut","description":"Total for this record."}},"required":["groupBy","buckets","total"],"description":"Personal Time Ledger breakdown."},"example":{"groupBy":"workspace","buckets":[{"key":"example","label":"example","measures":{"elapsedMs":0,"humanEffortMs":0,"agentEffortMs":0,"combinedEffortMs":0,"operationalWaitMs":0}}],"total":{"elapsedMs":0,"humanEffortMs":0,"agentEffortMs":0,"combinedEffortMs":0,"operationalWaitMs":0}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter306adba5"},{"$ref":"#/components/parameters/SharedParameter0c60b45f"},{"$ref":"#/components/parameters/SharedParameter28d88748"},{"$ref":"#/components/parameters/SharedParameter1043e375"},{"$ref":"#/components/parameters/SharedParameterd9b912d5"},{"$ref":"#/components/parameters/SharedParametere735ba69"},{"$ref":"#/components/parameters/SharedParameter0971d6da"},{"in":"query","name":"groupBy","schema":{"type":"string","enum":["workspace","task","project","program","initiative","category","actor","capture_source"]},"required":true,"description":"Group by supplied in the query."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/time/cycles":{"get":{"operationId":"getV1TimeCycles","summary":"List personal Time Ledger cycle periods","tags":["Time"],"description":"## Purpose\n\nList personal Time Ledger cycle periods.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nList cycle windows only from workspaces where the authenticated caller currently has an active membership. The periods are navigation aids for the caller’s private Time Ledger; this route never returns another person’s time.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TimeCyclePeriodOut"},"description":"Items, in order."}},"required":["items"],"description":"Caller-visible personal Time Ledger cycles."},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workspaceId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","workspaceName":"example","name":"example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/time/categories":{"get":{"operationId":"getV1TimeCategories","summary":"List personal time categories","tags":["Time"],"description":"## Purpose\n\nList personal time categories.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nList the caller’s Hub-owned category taxonomy for reflection. Categories are optional and never required to begin tracking.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TimeCategoryOut"},"description":"Items, in order."}},"required":["items"],"description":"The caller’s Hub-owned time categories."},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","hubId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example","sort":0,"archivedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"post":{"operationId":"postV1TimeCategories","summary":"Create a personal time category","tags":["Time"],"description":"## Purpose\n\nCreate a personal time category.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a Hub-owned category. Categories remain personal metadata; creating one does not alter any workspace taxonomy or linked task.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeCategory — a user-owned category for reflection and reporting."},"hubId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a Hub — the personal cross-workspace ownership boundary for user-owned data."},"parentId":{"$ref":"#/components/schemas/Sharedce49009d","description":"Identifies the referenced parent."},"name":{"type":"string","description":"Human-readable name."},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Color for this record."},"sort":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Sort for this record."},"archivedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Archived time as an ISO 8601 instant."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."}},"required":["id","hubId","parentId","name","color","sort","archivedAt","createdAt","updatedAt"],"description":"A Hub-owned Time Ledger category."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","hubId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","parentId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example","sort":0,"archivedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"Human-readable name."},"color":{"type":"string","maxLength":32,"description":"Color for this record."},"parentId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeCategory — a user-owned category for reflection and reporting."},"sort":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Sort for this record."}},"required":["name"],"description":"Create a Hub-owned time category."},"example":{"name":"example"}}},"description":"Fields used to create a personal time category. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/time/submissions":{"post":{"operationId":"postV1TimeSubmissions","summary":"Submit an explicit time report snapshot","tags":["Time"],"description":"## Purpose\n\nSubmit an explicit time report snapshot.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nCreate an immutable, recipient-scoped snapshot of selected caller-owned Time Records. Every record must have explicit allocations; the chosen measure, timezone, and rounding policy are preserved with the snapshot rather than retroactively changing a report.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1TimeSubmissionsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"periodStartsAt":{"type":"string","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))$","description":"Period starts time as an ISO 8601 instant."},"periodEndsAt":{"type":"string","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))$","description":"Period ends time as an ISO 8601 instant."},"timezone":{"type":"string","minLength":1,"maxLength":100,"description":"Timezone for this record."},"measure":{"type":"string","enum":["human_effort","agent_effort","combined_effort","elapsed_delivery"],"description":"Allowed measure value."},"roundingPolicy":{"default":"none","type":"string","minLength":1,"maxLength":80,"description":"Rounding policy for this record."},"timeRecordIds":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeRecord — a Hub-owned semantic container for exact human and agent effort."},"description":"Time record ids, in order."}},"required":["periodStartsAt","periodEndsAt","timezone","measure","timeRecordIds"],"description":"Create an explicit time-report submission."},"example":{"periodStartsAt":"2026-09-19T12:00:00.000Z","periodEndsAt":"2026-09-19T12:00:00.000Z","timezone":"example","measure":"human_effort","timeRecordIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}}},"description":"Fields used to submit an explicit time report snapshot. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/time/submissions/{id}":{"get":{"operationId":"getV1TimeSubmissionsById","summary":"Get a personal time report snapshot","tags":["Time"],"description":"## Purpose\n\nGet a personal time report snapshot.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRead one report snapshot created by the caller. This personal route does not grant workspace members access to the caller’s raw ledger.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1TimeSubmissionsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/time/records":{"post":{"operationId":"postV1TimeRecords","summary":"Create and optionally start a Time Record","tags":["Time"],"description":"## Purpose\n\nCreate and optionally start a Time Record.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a Hub-owned record from typed context. A live create atomically switches away from the caller’s prior active human interval; a non-live create requires exact historical bounds and is marked manual or reconstructed. Tasks and calendar items are context, never inferred time.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsee3ddd046"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/TrackableContext","description":"Context for this record."},"captureSource":{"type":"string","enum":["live","manual","reconstructed","agent"],"description":"Allowed capture source value."},"startNow":{"default":true,"type":"boolean","description":"Start now for this record."},"startsAt":{"$ref":"#/components/schemas/Shared4e634e74","description":"Starts time as an ISO 8601 instant."},"endsAt":{"$ref":"#/components/schemas/Shared6ce806cd","description":"Ends time as an ISO 8601 instant."}},"required":["context"],"description":"Create a live or historical Time Record."},"example":{"context":{}}}},"description":"Fields used to create and optionally start a Time Record. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/time/records/{id}":{"get":{"operationId":"getV1TimeRecordsById","summary":"Read a Time Record","tags":["Time"],"description":"## Purpose\n\nRead a Time Record.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn one Time Record with its status, elapsed time, intervals, category, and typed context. This is the resource identified by `Location` after creation and the representation to read after a `412` response. A record outside the caller’s Hub returns 404 so ownership is not disclosed.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeRecordOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1TimeRecordsById","summary":"Edit a Time Record","tags":["Time"],"description":"## Purpose\n\nEdit a Time Record.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nEdit only user-controlled fields such as title and category. This operation does not change the record's intervals or calculated duration.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsed01ebe26"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":500,"description":"Human-readable title."},"outcomeNote":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"description":"Outcome note for this record."},"categoryId":{"$ref":"#/components/schemas/Shared61455fed","description":"Identifies the referenced category."}},"description":"Edit a Time Record’s semantic fields."},"example":{}}},"description":"Fields used to edit a Time Record. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1TimeRecordsById","summary":"Remove manual time from personal history","tags":["Time"],"description":"## Purpose\n\nRemove manual time from personal history.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove an unsubmitted manual or reconstructed record from the caller’s visible history while preserving its audit history. Live, agent-created, and submitted records cannot be removed.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsee3ddd046"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/time/records/{id}/status":{"put":{"operationId":"putV1TimeRecordsByIdStatus","summary":"Move a Time Record’s timer","tags":["Time"],"description":"## Purpose\n\nMove a Time Record’s timer.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nSet the record’s timer state and return the refreshed record. `running` starts or resumes it on the server clock, atomically closing any other active human interval in the caller’s Hub so a handoff stays exact. `paused` closes the current interval and leaves the record open. `stopped` closes both the interval and the record; an unanchored record must supply `title` here, which creates the task the time is finally credited to. Stopping never changes a linked Task, Daily Plan Item, or Calendar Item state — the ledger records what happened and does not move work on its own. A record outside the caller’s Hub is 404.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsed01ebe26"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["running","paused","stopped"],"description":"The timer state to move the record into."},"title":{"description":"Names an unanchored record as it stops; ignored for the other states.","type":"string","minLength":1,"maxLength":500}},"required":["status"],"description":"Move a Time Record’s timer between running, paused, and stopped."},"example":{"status":"running"}}},"description":"Fields used to move a Time Record’s timer. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/time/records/{id}/intervals":{"post":{"operationId":"postV1TimeRecordsByIdIntervals","summary":"Add exact past time","tags":["Time"],"description":"## Purpose\n\nAdd exact past time.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAdd a bounded manual or reconstructed human interval. The source label is retained so reflection can distinguish remembered time from live tracking.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsee3ddd046"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"startsAt":{"$ref":"#/components/schemas/Shared4e634e74","description":"Starts time as an ISO 8601 instant."},"endsAt":{"$ref":"#/components/schemas/Shared6ce806cd","description":"Ends time as an ISO 8601 instant."},"source":{"default":"manual_entry","type":"string","enum":["manual_entry","reconstructed_entry"],"description":"Allowed source value."}},"required":["startsAt","endsAt"],"description":"Add exact historical time to a record."},"example":{"startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z"}}},"description":"Fields used to add exact past time. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/time/records/{id}/intervals/{intervalId}":{"patch":{"operationId":"patchV1TimeRecordsByIdIntervalsByIntervalId","summary":"Repair exact past time","tags":["Time"],"description":"## Purpose\n\nRepair exact past time.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nReplace one completed manual or reconstructed interval while retaining the original as superseded evidence. Live, agent, and submitted time cannot be repaired through this route.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsed01ebe26"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"in":"path","name":"intervalId","schema":{"type":"string"},"required":true,"description":"Identifier of the interval selected by this path parameter."},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"startsAt":{"$ref":"#/components/schemas/Shared4e634e74","description":"Starts time as an ISO 8601 instant."},"endsAt":{"$ref":"#/components/schemas/Shared6ce806cd","description":"Ends time as an ISO 8601 instant."}},"required":["startsAt","endsAt"],"description":"Replace one exact historical Time Ledger interval while retaining its predecessor."},"example":{"startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z"}}},"description":"Fields used to repair exact past time. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/time/records/{id}/contexts":{"post":{"operationId":"postV1TimeRecordsByIdContexts","summary":"Attach context to a Time Record","tags":["Time"],"description":"## Purpose\n\nAttach context to a Time Record.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAttach typed non-counting context such as a task, calendar item, or related work. Context does not make the linked target receive reportable time credit.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeRecordOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"string","enum":["primary","related","calendar_context","planning_context","agent_context"],"description":"Allowed role value."},"entityRef":{"$ref":"#/components/schemas/EntityRef","description":"Entity ref for this record."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."}},"required":["role","entityRef"],"description":"Attach typed context to a Time Record."},"example":{"role":"primary","entityRef":{"kind":"work_item","source":"docket","externalId":"example","title":"example","url":"example","docketEntityId":"example"}}}},"description":"Fields used to attach context to a Time Record. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/time/records/{id}/contexts/{contextId}":{"delete":{"operationId":"deleteV1TimeRecordsByIdContextsByContextId","summary":"Remove Time Record context","tags":["Time"],"description":"## Purpose\n\nRemove Time Record context.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove one non-counting context from a record owned by the caller’s Hub.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsee3ddd046"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"in":"path","name":"contextId","schema":{"type":"string"},"required":true,"description":"Identifier of the context selected by this path parameter."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/time/share-tokens":{"get":{"operationId":"getV1TimeShareTokens","summary":"List current-task share tokens","tags":["Time"],"description":"## Purpose\n\nList current-task share tokens.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nList the caller’s revocable share tokens, including when each was last read. The secret itself is shown only once, at mint time, and is not recoverable here.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TimeShareTokenOut"},"description":"Items, in order."}},"required":["items"],"description":"The caller’s current-task share tokens."},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","includeTitle":false,"includeWorkspace":false,"createdAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z","lastUsedAt":"2026-09-19T12:00:00.000Z","revokedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"post":{"operationId":"postV1TimeShareTokens","summary":"Mint a current-task share token","tags":["Time"],"description":"## Purpose\n\nMint a current-task share token.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nMint one revocable token that lets an external page read what the caller is tracking RIGHT NOW — nothing else. The response carries the raw secret and a copy-pasteable embed snippet exactly once; only a hash is stored. `includeTitle: false` shares that tracking is running while withholding what it is on.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeShareToken — one revocable, current-task-only external read grant."},"label":{"type":"string","description":"Label for this record."},"includeTitle":{"type":"boolean","description":"Include title for this record."},"includeWorkspace":{"type":"boolean","description":"Include workspace for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"expiresAt":{"type":"string","description":"Expires time as an ISO 8601 instant."},"lastUsedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Last used time as an ISO 8601 instant."},"revokedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Revoked time as an ISO 8601 instant."},"token":{"type":"string","description":"Token for this record."},"statusUrl":{"type":"string","description":"Status url for this record."},"embedSnippet":{"type":"string","description":"Embed snippet for this record."}},"required":["id","label","includeTitle","includeWorkspace","createdAt","expiresAt","lastUsedAt","revokedAt","token","statusUrl","embedSnippet"],"description":"A newly minted share token, with its one-time secret and an embed snippet."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","includeTitle":false,"includeWorkspace":false,"createdAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z","lastUsedAt":"2026-09-19T12:00:00.000Z","revokedAt":"2026-09-19T12:00:00.000Z","token":"example","statusUrl":"example","embedSnippet":"example"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80,"description":"Label for this record."},"includeTitle":{"default":true,"type":"boolean","description":"Include title for this record."},"includeWorkspace":{"default":false,"type":"boolean","description":"Include workspace for this record."},"expiresInSeconds":{"default":2592000,"type":"integer","minimum":300,"maximum":31536000,"description":"Expires in seconds for this record."}},"required":["label"],"description":"Mint a current-task share token."},"example":{"label":"example"}}},"description":"Fields used to mint a current-task share token. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/time/share-tokens/{id}":{"delete":{"operationId":"deleteV1TimeShareTokensById","summary":"Revoke a current-task share token","tags":["Time"],"description":"## Purpose\n\nRevoke a current-task share token.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRevoke one token immediately. The owner can still see what was shared, when the token was created, and when it was last read.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a TimeShareToken — one revocable, current-task-only external read grant."},"label":{"type":"string","description":"Label for this record."},"includeTitle":{"type":"boolean","description":"Include title for this record."},"includeWorkspace":{"type":"boolean","description":"Include workspace for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"expiresAt":{"type":"string","description":"Expires time as an ISO 8601 instant."},"lastUsedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Last used time as an ISO 8601 instant."},"revokedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Revoked time as an ISO 8601 instant."}},"required":["id","label","includeTitle","includeWorkspace","createdAt","expiresAt","lastUsedAt","revokedAt"],"description":"A revocable, current-task-only share token as its owner sees it."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","label":"example","includeTitle":false,"includeWorkspace":false,"createdAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z","lastUsedAt":"2026-09-19T12:00:00.000Z","revokedAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/time/records/{id}/allocations":{"put":{"operationId":"putV1TimeRecordsByIdAllocations","summary":"Replace Time Record allocations","tags":["Time"],"description":"## Purpose\n\nReplace Time Record allocations.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nReplace reportable allocations atomically. When non-empty, allocations must sum to 10,000 basis points; contextual links are intentionally not treated as allocations.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsed01ebe26"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"allocations":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"targetKind":{"type":"string","enum":["task","workspace","project","category"],"description":"Allowed target kind value."},"targetId":{"type":"string","minLength":1,"description":"Identifies the referenced target."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"basisPoints":{"type":"integer","minimum":0,"maximum":10000,"description":"Basis points for this record."}},"required":["targetKind","targetId","basisPoints"]},"description":"Allocations, in order."}},"required":["allocations"],"description":"Replace a Time Record allocation set."},"example":{"allocations":[{"targetKind":"task","targetId":"example","basisPoints":0}]}}},"description":"Fields used to replace Time Record allocations. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/hub/preferences":{"get":{"operationId":"getV1HubPreferences","summary":"Get Hub preferences","tags":["Hub"],"description":"## Purpose\n\nGet Hub preferences.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn the signed-in person's Hub preferences, including unified-calendar layout and creation defaults.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1HubPreferencesResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"patch":{"operationId":"patchV1HubPreferences","summary":"Update Hub preferences","tags":["Hub"],"description":"## Purpose\n\nUpdate Hub preferences.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nPatch the signed-in user personal Hub preferences. Nested groups are deep-merged, so focused updates preserve sibling calendar, digest, Athena, and proactive settings.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1HubPreferencesResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1HubPreferencesResponse200"}}},"description":"Fields used to update Hub preferences. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/hub/today/items/{planItemId}/complete":{"post":{"operationId":"postV1HubTodayItemsByPlanItemIdComplete","summary":"Complete one accepted Today item","tags":["Hub"],"description":"## Purpose\n\nComplete one accepted Today item.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nComplete the task referenced by one caller-owned Today item and mark the item done. Docket selects the team's completed workflow state. The caller must still be an active member with `contribute` access in the task's organization. The task and Today item change together or neither changes. The request needs only `planItemId`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/HubTaskItem","description":"Task for this record."},"planItemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a DailyPlanItem — one entry in a user's planned day."},"planStatus":{"type":"string","const":"done","description":"Plan status for this record."}},"required":["task","planItemId","planStatus"],"description":"The Task and personal plan state after semantic Today completion."},"example":{"task":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none"},"planItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","planStatus":"done"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"planItemId","schema":{"type":"string"},"required":true,"description":"Identifier of the plan item selected by this path parameter."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/hub/today":{"get":{"operationId":"getV1HubToday","summary":"Get the cross-org today view","tags":["Hub"],"description":"## Purpose\n\nGet the cross-org today view.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn the signed-in person's Today view across every organization they can access for the required `date`. The response contains the accepted daily plan; its `unplanned`, `active`, or `cleared` state; a finite Now/After focus sequence; up to four project or initiative status stories; and up to three feasible momentum suggestions.\n\nEvery returned task, project, and initiative is filtered through the caller's current resource access. Due work stays in `needsAttention` until the caller explicitly accepts it into the daily plan. Docket ranks results deterministically and does not invent project facts.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string","description":"The calendar day (ISO `YYYY-MM-DD`) this cockpit covers — echoes the requested `date`."},"planState":{"$ref":"#/components/schemas/HubTodayPlanState","description":"Plan state for this record."},"brief":{"type":"object","properties":{"text":{"type":"string","description":"Athena's concise, deterministic reading of the day."},"href":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"A relevant in-app destination, or null."},"attentionCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Attention count."}},"required":["text","href","attentionCount"],"description":"Brief for this record."},"plan":{"type":"array","items":{"$ref":"#/components/schemas/HubTodayPlanItem"},"description":"Plan, in order."},"focus":{"$ref":"#/components/schemas/HubTodayFocus","description":"Focus for this record."},"statusCards":{"maxItems":4,"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/HubTodayProjectStatus"},{"$ref":"#/components/schemas/HubTodayInitiativeStatus"}]},"description":"Status cards, in order."},"suggestions":{"maxItems":3,"type":"array","items":{"$ref":"#/components/schemas/HubTodaySuggestion"},"description":"Suggestions, in order."},"calendar":{"type":"array","items":{"type":"object","properties":{"taskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The Task this timebox block represents."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The org the Task belongs to (org chip)."},"startsAt":{"type":"string","description":"ISO-8601 start of the timebox block."},"endsAt":{"type":"string","description":"ISO-8601 end of the timebox block."}},"required":["taskId","organizationId","startsAt","endsAt"]},"description":"Daily-plan items that carry a timebox window, rendered as blocks on the calendar pane. Only timeboxed items appear here."},"needsAttention":{"$ref":"#/components/schemas/HubNeedsAttention","description":"Needs attention for this record."}},"required":["date","planState","brief","plan","focus","statusCards","suggestions","calendar","needsAttention"],"description":"The caller's cross-org daily operating projection."},"example":{"date":"2026-09-19","planState":"unplanned","brief":{"text":"example","href":"example","attentionCount":0},"plan":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none","planItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","planStatus":"planned","sort":0,"position":0,"estimateMinutes":1,"timeboxStartsAt":"2026-09-19T12:00:00.000Z","timeboxEndsAt":"2026-09-19T12:00:00.000Z","blocked":false,"dependencyImpact":0,"reason":"example"}],"focus":{"now":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none","planItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","planStatus":"planned","sort":0,"position":0,"estimateMinutes":1,"timeboxStartsAt":"2026-09-19T12:00:00.000Z","timeboxEndsAt":"2026-09-19T12:00:00.000Z","blocked":false,"dependencyImpact":0,"reason":"example"},"after":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none","planItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","planStatus":"planned","sort":0,"position":0,"estimateMinutes":1,"timeboxStartsAt":"2026-09-19T12:00:00.000Z","timeboxEndsAt":"2026-09-19T12:00:00.000Z","blocked":false,"dependencyImpact":0,"reason":"example"}},"statusCards":[{"kind":"project","id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","health":"on_track","latestUpdate":{"excerpt":"example","createdAt":"2026-09-19T12:00:00.000Z"},"nextMilestone":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","targetDate":"2026-09-19"},"progress":{"completed":0,"total":0}}],"suggestions":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none","estimateMinutes":1,"dependencyImpact":0,"reason":"example"}],"calendar":[{"taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z"}],"needsAttention":{"approvals":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none"}],"blocked":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none"}],"dueToday":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","summary":"example","state":"example","stateType":"backlog","priority":"none"}],"inbox":0}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter527dfd31"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/hub/inbox":{"get":{"operationId":"getV1HubInbox","summary":"Get the cross-org inbox","tags":["Hub"],"description":"## Purpose\n\nGet the cross-org inbox.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn the caller's notifications across all of their organizations, newest first. Each item includes its originating `organizationId`. This operation has no filters; use `GET /v1/me/notifications` when you need to narrow the feed.\n\nRead-only; session-only, no capability. 401 when unauthenticated. To mutate read state use the `/v1/me/notifications/*` read/act endpoints. Related: `/hub/today` surfaces the unread *count* in `needsAttention.inbox`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/NotificationOut"},"description":"The caller's notifications across every org, newest first, each org-chipped. The same set as `GET /v1/me/notifications` with no filters."}},"required":["items"],"description":"The caller's cross-org notification inbox."},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","userId":"example","type":"mention","body":{"title":"example"},"createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/hub/activity":{"get":{"operationId":"getV1HubActivity","summary":"List cross-org activity","tags":["Hub"],"description":"## Purpose\n\nList cross-org activity.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn the caller's audit feed across every organization where they are an active member. Results are ordered by `createdAt` according to `order=asc|desc` and limited by `limit`. A caller with no organization memberships receives an empty list.\n\nWhen another page is available, the response includes an opaque `nextCursor`. Pass that value as `cursor` without modifying it. This read-only operation requires a Docket session but no workspace capability. It differs from `/hub/stream`, which contains personalized events that directly concern the caller.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AuditEventOut"},"description":"Audit events across the caller's orgs, ordered by the requested `order` (default newest first), each org-chipped."},"nextCursor":{"description":"Opaque forward cursor (the last event's id) for the next page; absent when there are no more events.","type":"string"},"total":{"description":"Optional total count of matching events, when computed; absent when not.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"],"description":"The caller's cross-org activity feed."},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","subjectType":"organization","subjectId":"example","type":"created","metadata":{},"createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter8204e902"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/SharedParameter39e8f1ac"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/hub/stream":{"get":{"operationId":"getV1HubStream","summary":"Get the cross-org activity stream","tags":["Hub"],"description":"## Purpose\n\nGet the cross-org activity stream.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn the complete event timeline across every workspace the caller belongs to. This is a context-wide history rather than a personalized attention queue: every event in the caller's active workspace set is eligible, whether or not it names the caller as a recipient. Each event retains its organization id so workspace boundaries remain explicit, and `actorIsViewer` identifies actions performed by the caller without name matching.\n\n`filter`, `system`, `kind`, and `entityKind` narrow the results. The response returns an opaque `nextCursor` only when another page exists; keep the same filters when continuing. `order=asc|desc` controls the sort direction. A caller with no workspace memberships receives an empty page. This operation requires a Docket session.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1OrgsByOrgIdStreamResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter8204e902"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/SharedParameter39e8f1ac"},{"$ref":"#/components/parameters/SharedParameter0c1cef05"},{"$ref":"#/components/parameters/SharedParameter6cdf68d4"},{"$ref":"#/components/parameters/SharedParameter1c984fd3"},{"$ref":"#/components/parameters/SharedParameter7b9ccd07"},{"$ref":"#/components/parameters/SharedParameter6ccc9463"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/hub/portfolio":{"get":{"operationId":"getV1HubPortfolio","summary":"Get the cross-org portfolio","tags":["Hub"],"description":"## Purpose\n\nGet the cross-org portfolio.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn the caller's portfolio timeline across organizations. Each organization contains program lanes, project bars, and project milestones. Projects without a program appear as `unassigned`. Use ISO `from` and `to` dates to set the window, or `initiativeId` to include only one initiative's projects.\n\nEvery timeline item retains its `organizationId`; data from separate organizations is never combined into one roll-up. This is a session-only read. Use `/hub/today` for the caller's day instead of the multi-week portfolio.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"swimlanes":{"type":"array","items":{"$ref":"#/components/schemas/HubPortfolioSwimlane"},"description":"One swimlane per org the caller belongs to (kept as separate tenant bands), each holding that org's program lanes and project bars."}},"required":["swimlanes"],"description":"The caller's cross-org portfolio timeline."},"example":{"swimlanes":[{"organization":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","slug":"example"},"programs":[{"program":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example"},"projects":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","milestones":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}]}]}],"unassigned":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","status":"example","milestones":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}]}]}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"query","name":"from","schema":{"$ref":"#/components/schemas/Shared824061ac"},"description":"Earliest date or instant to include, using the format documented below."},{"in":"query","name":"to","schema":{"$ref":"#/components/schemas/Shared824061ac"},"description":"Latest date or instant to include, using the format documented below."},{"in":"query","name":"initiativeId","schema":{"type":"string"},"description":"Identifier of the initiative selected by this query parameter."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/hub/search":{"get":{"operationId":"getV1HubSearch","summary":"Search across orgs","tags":["Hub"],"description":"## Purpose\n\nSearch across orgs.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nSearch work across the caller's active organization memberships and personal records. Each `SearchResult` includes its route, family, kind, snippet, source, subject, and filter facets. Results never include records the caller cannot currently access.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9e1062ab"},{"$ref":"#/components/parameters/SharedParametercffa9333"},{"$ref":"#/components/parameters/SharedParameter45c79f35"},{"$ref":"#/components/parameters/SharedParameter30536e75"},{"$ref":"#/components/parameters/SharedParameter04bf74f7"},{"$ref":"#/components/parameters/SharedParameterfdad6e85"},{"$ref":"#/components/parameters/SharedParameter835b4a11"},{"$ref":"#/components/parameters/SharedParameterf6bc46a3"},{"$ref":"#/components/parameters/SharedParametera8f7b61d"},{"$ref":"#/components/parameters/SharedParameter92c194b1"},{"$ref":"#/components/parameters/SharedParameter2cacfd3b"},{"$ref":"#/components/parameters/SharedParameter1d13caa5"},{"$ref":"#/components/parameters/SharedParameter3ddb0555"},{"$ref":"#/components/parameters/SharedParameter684fd7bf"},{"$ref":"#/components/parameters/SharedParameterc923f502"},{"$ref":"#/components/parameters/SharedParameter52d0c3ca"},{"$ref":"#/components/parameters/SharedParameter230fa47b"},{"$ref":"#/components/parameters/SharedParametere08020c4"},{"$ref":"#/components/parameters/SharedParameterfc7e7ec9"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/hub/highlights":{"get":{"operationId":"getV1HubHighlights","summary":"Get a narrated day","tags":["Hub"],"description":"## Purpose\n\nGet a narrated day.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn the caller's activity for one local day, grouped by subject into narrated episodes. Several events for the same subject on the same day become one episode. Each entry includes its sentence, whether the caller edited or kept it, and the source events.\n\n`sources` reports the state of each connected source, which distinguishes an unavailable source from a source with no activity. The day is built separately, so `status` may be `pending`, `empty`, or complete while individual narration is still `generating`. `date` defaults to the caller's current local day and cannot be in the future.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string","description":"Date for this record."},"timezone":{"type":"string","description":"Timezone for this record."},"status":{"type":"string","enum":["pending","reconciling","ready","empty","failed"],"description":"Current lifecycle state."},"generating":{"type":"boolean","description":"Generating for this record."},"eventCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Event count."},"reconciledAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Reconciled time as an ISO 8601 instant."},"highlights":{"type":"array","items":{"$ref":"#/components/schemas/HighlightOut"},"description":"Highlights, in order."},"sources":{"type":"array","items":{"$ref":"#/components/schemas/HighlightSourceStatus"},"description":"Sources, in order."}},"required":["date","timezone","status","generating","eventCount","reconciledAt","highlights","sources"],"description":"One person's narrated day."},"example":{"date":"example","timezone":"example","status":"pending","generating":false,"eventCount":0,"reconciledAt":"2026-09-19T12:00:00.000Z","highlights":[{"id":"example","episodeKey":"example","sort":0,"occurredAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","system":"docket","entityKind":"work_item","docketEntityId":"example","association":"pending","subjectTitle":"example","narration":{"state":"pending","text":"example","edited":false},"kept":false,"curatedAt":"2026-09-19T12:00:00.000Z","events":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"message","occurredAt":"2026-09-19T12:00:00.000Z","title":"example","summary":"example","permalink":"example","source":{"system":"docket","integrationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","externalUrl":"example"},"actor":{"source":"docket","externalId":"example","displayName":"example","avatarUrl":"example","docketActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"entity":{"kind":"work_item","source":"docket","externalId":"example","title":"example","url":"example","docketEntityId":"example"},"participants":[{"source":"docket","externalId":"example","displayName":"example","avatarUrl":"example","docketActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"detail":{"schema":"docket.state_change","fromState":"example","toState":"example"},"createdAt":"2026-09-19T12:00:00.000Z","actorIsViewer":false,"relevance":"mention","rendering":{"icon":"example","category":"example"}}]}],"sources":[{"system":"docket","state":"ok","lastReadAt":"2026-09-19T12:00:00.000Z","eventCount":0}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter223f6824"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/hub/highlights/{highlightId}":{"patch":{"operationId":"patchV1HubHighlightsByHighlightId","summary":"Change what a highlight says","tags":["Hub"],"description":"## Purpose\n\nChange what a highlight says.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nDrop a highlight from the day, restore it, or replace its sentence with the caller's own. One route covers all three because they are one act from the caller's side: deciding what their day says.\n\nThe activity log itself is append-only and is never touched here — only the narration and the keep decision move. Dropping keeps the entry as a record rather than deleting it, so the choice stays reversible. Sending `narration: null` reverts to the generated sentence; an empty string is rejected, since removing a line is what dropping is for.\n\nSession-only, no capability. A highlight belonging to another caller answers 404 rather than 403, so the route reveals nothing about days that are not the caller's.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"episodeKey":{"type":"string","description":"Episode key for this record."},"sort":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Sort for this record."},"occurredAt":{"type":"string","description":"Occurred time as an ISO 8601 instant."},"endedAt":{"type":"string","description":"Ended time as an ISO 8601 instant."},"system":{"type":"string","enum":["docket","linear","github","slack","discord","google_calendar","gmail","google_drive","outlook"],"description":"Allowed system value."},"entityKind":{"$ref":"#/components/schemas/Shared5e401ccf","description":"Entity kind for this record."},"docketEntityId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced docket entity."},"association":{"type":"string","enum":["pending","matched","unmatched"],"description":"Allowed association value."},"subjectTitle":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Subject title for this record."},"narration":{"$ref":"#/components/schemas/HighlightNarration","description":"Narration for this record."},"kept":{"type":"boolean","description":"Kept for this record."},"curatedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Curated time as an ISO 8601 instant."},"events":{"type":"array","items":{"$ref":"#/components/schemas/StreamEventOut"},"description":"Events, in order."}},"required":["id","episodeKey","sort","occurredAt","endedAt","system","entityKind","docketEntityId","association","subjectTitle","narration","kept","curatedAt","events"],"description":"One narrated episode of a day."},"example":{"id":"example","episodeKey":"example","sort":0,"occurredAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","system":"docket","entityKind":"work_item","docketEntityId":"example","association":"pending","subjectTitle":"example","narration":{"state":"pending","text":"example","edited":false},"kept":false,"curatedAt":"2026-09-19T12:00:00.000Z","events":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"message","occurredAt":"2026-09-19T12:00:00.000Z","title":"example","summary":"example","permalink":"example","source":{"system":"docket","integrationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","externalUrl":"example"},"actor":{"source":"docket","externalId":"example","displayName":"example","avatarUrl":"example","docketActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"entity":{"kind":"work_item","source":"docket","externalId":"example","title":"example","url":"example","docketEntityId":"example"},"participants":[{"source":"docket","externalId":"example","displayName":"example","avatarUrl":"example","docketActorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}],"detail":{"schema":"docket.state_change","fromState":"example","toState":"example"},"createdAt":"2026-09-19T12:00:00.000Z","actorIsViewer":false,"relevance":"mention","rendering":{"icon":"example","category":"example"}}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kept":{"description":"Whether this line is in the highlights.","type":"boolean"},"narration":{"description":"The rewritten sentence, or `null` to revert to the generated one.","anyOf":[{"type":"string"},{"type":"null"}]}},"description":"A change to one highlight's story."},"example":{}}},"description":"Fields used to change what a highlight says. Required fields and constraints appear in the schema below."},"parameters":[{"schema":{"type":"string"},"in":"path","name":"highlightId","required":true,"description":"Identifier of the highlight selected by this path parameter."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/connected-apps":{"get":{"operationId":"getV1MeConnectedApps","summary":"List connected apps","tags":["Me"],"description":"## Purpose\n\nList connected apps.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nList the third-party **OAuth 2.1 clients** the caller has authorized for the REST API or MCP — the \"connected apps\" the user can review and revoke in account settings. Each item identifies the registered client, the standing scopes the user approved, and when that approval was recorded. A client can hold separate resource-bound credentials for REST and MCP under this one approval.\n\nThe response contains only the caller's authorizations. Session-only, no capability; **401** when unauthenticated. `/me/identities` lists accounts the user connected to Docket, while this operation lists external apps that received access to Docket. Use `DELETE /me/connected-apps/:clientId` to revoke one.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"clientId":{"type":"string","description":"The OAuth client id of the authorized app — the handle passed to DELETE to revoke it."},"name":{"type":"string","description":"The app's display name, from its registered `oauthClient`."},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The app's icon URL, or null when it registered none."},"scopes":{"type":"array","items":{"type":"string"},"description":"The scope tokens the caller granted this app."},"consentedAt":{"type":"string","description":"ISO-8601 instant the caller granted (consented to) this app."}},"required":["clientId","name","icon","scopes","consentedAt"]},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"clientId":"example","name":"example","icon":"example","scopes":["example"],"consentedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/connected-apps/{clientId}":{"delete":{"operationId":"deleteV1MeConnectedAppsByClientId","summary":"Revoke a connected app","tags":["Me"],"description":"## Purpose\n\nRevoke a connected app.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRevoke the caller's REST and MCP authorization for `:clientId`. The app disappears from `GET /me/connected-apps`, refresh tokens stop working, and existing access tokens receive 401 on their next request even when their signed expiry is later. The client must complete authorization again to regain access.\n\nThis operation affects only the signed-in user's grants. Repeating it for an unknown or already revoked client still returns `{ \"revoked\": true }`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"revoked":{"type":"boolean","const":true,"description":"Always `true` — confirms the revocation completed (idempotent even if nothing was deleted)."}},"required":["revoked"]},"example":{"revoked":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"clientId","schema":{"type":"string","minLength":1},"required":true,"description":"Identifier of the client selected by this path parameter."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/calendar":{"get":{"operationId":"getV1MeCalendar","summary":"Get Google Calendar settings","tags":["Me"],"description":"## Purpose\n\nGet Google Calendar settings.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nList first-party Google Calendar linked accounts and selectable calendars for the signed-in user. This nested settings surface keeps account/calendar configuration out of the top-level Connections list.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeCalendarResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/calendar/calendars/{id}":{"patch":{"operationId":"patchV1MeCalendarCalendarsById","summary":"Update Google Calendar visibility","tags":["Me"],"description":"## Purpose\n\nUpdate Google Calendar visibility.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate whether one Google calendar appears in agenda contexts by default, then return the full calendar settings payload.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsece0ebf0c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"selected":{"description":"Whether the calendar appears in agenda contexts.","type":"boolean"},"visibleByDefault":{"description":"Whether the global default visibility includes the calendar.","type":"boolean"}},"description":"Update Google Calendar visibility settings."},"example":{}}},"description":"Fields used to update Google Calendar visibility. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/calendar/source-groups":{"post":{"operationId":"postV1MeCalendarSourceGroups","summary":"Combine calendar sources","tags":["Me"],"description":"## Purpose\n\nCombine calendar sources.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nConfirm that two or more active calendar sources represent one logical calendar and choose the preferred source for reads and writes.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeCalendarResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"layerIds":{"minItems":2,"type":"array","items":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a CalendarLayer — one renderable stream of calendar items."},"description":"Sources to combine."},"preferredLayerId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Source to use for reads and writes."}},"required":["layerIds","preferredLayerId"],"description":"Confirm a logical calendar group."},"example":{"layerIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV","01ARZ3NDEKTSV4RRFFQ69G5FAW"],"preferredLayerId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to combine calendar sources. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/calendar/source-groups/{id}":{"patch":{"operationId":"patchV1MeCalendarSourceGroupsById","summary":"Update a logical calendar","tags":["Me"],"description":"## Purpose\n\nUpdate a logical calendar.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate the preferred source or visibility of a logical calendar. The change applies to every active source in the group. Either all active sources change or none do.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsece0ebf0c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"preferredLayerId":{"description":"Source to use for reads and writes.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"selected":{"description":"Visibility for every group source.","type":"boolean"},"visibleByDefault":{"description":"Default visibility for every group source.","type":"boolean"}},"description":"Update one logical calendar."},"example":{}}},"description":"Fields used to update a logical calendar. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1MeCalendarSourceGroupsById","summary":"Separate calendar sources","tags":["Me"],"description":"## Purpose\n\nSeparate calendar sources.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove one confirmed logical grouping without deleting any calendar source.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse0833ac88"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/calendar/sources/{id}/subscription":{"delete":{"operationId":"deleteV1MeCalendarSourcesByIdSubscription","summary":"Remove a calendar source subscription","tags":["Me"],"description":"## Purpose\n\nRemove a calendar source subscription.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove one non-owned provider calendar from a linked account's source list. The provider must confirm removal before Docket soft-removes the local source and preserves its event metadata.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse0833ac88"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/calendar/layers":{"get":{"operationId":"getV1MeCalendarLayers","summary":"List calendar layers","tags":["Me"],"description":"## Purpose\n\nList calendar layers.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nList every calendar layer for the signed-in user — provider calendars, Docket-native blocks, task timeboxes, and availability — selected or not. Unlike the legacy calendar list, this includes non-provider layers.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CalendarLayerOut"},"description":"Every calendar layer for the signed-in user, selected or not."}},"required":["items"],"description":"List of calendar layers for the signed-in user."},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"docket","sourceKind":"provider_calendar","externalLayerId":"example","title":"example","description":"example","timezone":"example","color":"example","accessRole":"example","primary":false,"selected":false,"visibleByDefault":false,"editableCore":false,"lastSyncedAt":"2026-09-19T12:00:00.000Z","lastError":"example","watchExpiresAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/calendar/layers/{id}":{"patch":{"operationId":"patchV1MeCalendarLayersById","summary":"Update a calendar layer","tags":["Me"],"description":"## Purpose\n\nUpdate a calendar layer.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate a calendar layer's visibility (selected/visibleByDefault) for any owned layer. `title`/`color` are honored only for Docket-native layers (native blocks or availability with no backing connection) — a provider-backed layer rejects those fields.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Calendar layer id."},"connectionId":{"$ref":"#/components/schemas/Sharedb390988f","description":"Identifies the referenced connection."},"provider":{"anyOf":[{"type":"string","enum":["docket","google","microsoft"]},{"type":"null"}],"description":"Backing provider; null for Docket-native layers."},"sourceKind":{"$ref":"#/components/schemas/CalendarLayerSourceKind","description":"Source kind for this record."},"externalLayerId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider calendar id backing this layer; null for native layers."},"sourceIdentity":{"description":"Opaque logical-source identity; null for native or unmigrated layers.","anyOf":[{"$ref":"#/components/schemas/CalendarProviderIdentity"},{"type":"null"}]},"sourceRelationship":{"description":"How this account relates to the provider calendar source.","anyOf":[{"$ref":"#/components/schemas/CalendarSourceRelationship"},{"type":"null"}]},"sourceManagement":{"$ref":"#/components/schemas/CalendarSourceManagement","description":"Source management for this record."},"suggestedGroupKey":{"description":"Adapter-issued key for a likely logical-source group that needs confirmation.","anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string","description":"Layer display title."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Layer description, if any."},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Layer timezone id, when known."},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Layer color, usually hex."},"accessRole":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider access role for this layer, if applicable."},"primary":{"type":"boolean","description":"Whether this is the account's primary calendar layer."},"selected":{"type":"boolean","description":"Whether this layer is currently selected for rendering."},"visibleByDefault":{"type":"boolean","description":"Whether the global default visibility includes this layer."},"editableCore":{"type":"boolean","description":"Whether items on this layer support core-field edits (e.g. native layers)."},"lastSyncedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Most recent successful sync timestamp; null if never synced."},"lastError":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Most recent sync error, if any."},"watchExpiresAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provider push-notification channel expiry, if subscribed."},"createdAt":{"type":"string","description":"Layer creation timestamp."},"updatedAt":{"type":"string","description":"Layer update timestamp."}},"required":["id","connectionId","provider","sourceKind","externalLayerId","title","description","timezone","color","accessRole","primary","selected","visibleByDefault","editableCore","lastSyncedAt","lastError","watchExpiresAt","createdAt","updatedAt"],"description":"One renderable stream of calendar items (provider calendar, native blocks, etc)."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"docket","sourceKind":"provider_calendar","externalLayerId":"example","title":"example","description":"example","timezone":"example","color":"example","accessRole":"example","primary":false,"selected":false,"visibleByDefault":false,"editableCore":false,"lastSyncedAt":"2026-09-19T12:00:00.000Z","lastError":"example","watchExpiresAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"selected":{"description":"Whether the layer is selected for rendering.","type":"boolean"},"visibleByDefault":{"description":"Whether the global default visibility includes the layer.","type":"boolean"},"title":{"description":"New layer title. Only honored for native layers server-side.","type":"string","minLength":1},"color":{"description":"New layer color. Only honored for native layers server-side.","type":"string"}},"description":"Update a calendar layer's visibility or (for native layers) display settings."},"example":{}}},"description":"Fields used to update a calendar layer. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/calendar/shares/{organizationId}":{"get":{"operationId":"getV1MeCalendarSharesByOrganizationId","summary":"List calendar layers shared with a workspace","tags":["Me"],"description":"## Purpose\n\nList calendar layers shared with a workspace.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nList the caller's personal calendar layers currently exposed to one workspace in layer-id order. Pages default to 50 items, accept at most 100, and omit nextCursor at exhaustion.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeCalendarSharesByOrganizationIdResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"put":{"operationId":"putV1MeCalendarSharesByOrganizationId","summary":"Replace calendar layers shared with a workspace","tags":["Me"],"description":"## Purpose\n\nReplace calendar layers shared with a workspace.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAtomically replace the caller's complete personal-layer exposure set for one workspace. Every requested layer must belong to the caller. An empty `shares` array revokes all of the caller's exposures without affecting shares owned by other members.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeCalendarSharesByOrganizationIdResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"shares":{"type":"array","items":{"$ref":"#/components/schemas/CalendarLayerShareCreate"},"description":"Complete replacement set of layer exposures for the workspace."}},"required":["shares"],"description":"Replace all personal calendar layer exposures for one workspace."},"example":{"shares":[{"layerId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}}},"description":"Fields used to replace calendar layers shared with a workspace. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameterce4f5c49"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/calendar/sync":{"post":{"operationId":"postV1MeCalendarSync","summary":"Sync Google Calendar","tags":["Me"],"description":"## Purpose\n\nSync Google Calendar.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nSynchronize every linked calendar account, currently Google, and retry provider changes whose backoff period has elapsed. The response reports the completed account work and any failures.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"connections":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Linked accounts processed."},"calendars":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Calendars processed."},"eventsCreated":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Events inserted locally."},"eventsUpdated":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Events updated locally."},"eventsDeleted":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Events removed or archived locally."},"errors":{"type":"array","items":{"type":"string"},"description":"Non-fatal per-account or per-calendar sync errors."},"layers":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Calendar layers processed."},"itemsCreated":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Calendar items inserted locally."},"itemsUpdated":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Calendar items updated locally."},"itemsArchived":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Calendar items removed or archived locally."},"writesApplied":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Pending outbox writes successfully applied to the provider."},"writesPending":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Outbox writes still queued (not yet applied or failed)."},"conflicts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Calendar items left in an unresolved local/provider conflict state."}},"required":["connections","calendars","eventsCreated","eventsUpdated","eventsDeleted","errors","layers","itemsCreated","itemsUpdated","itemsArchived","writesApplied","writesPending","conflicts"],"description":"Calendar sync summary."},"example":{"connections":0,"calendars":0,"eventsCreated":0,"eventsUpdated":0,"eventsDeleted":0,"errors":["example"],"layers":0,"itemsCreated":0,"itemsUpdated":0,"itemsArchived":0,"writesApplied":0,"writesPending":0,"conflicts":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/calendar/events/{id}/create-task":{"post":{"operationId":"postV1MeCalendarEventsByIdCreateTask","summary":"Create a task from a Google Calendar event","tags":["Me"],"description":"## Purpose\n\nCreate a task from a Google Calendar event.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a native Docket task from a cached Google Calendar event and attach the event as task context. The task can target an explicit workspace/team or fall back to the caller default membership.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse74918695"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"description":"Target organization for the created task; omitted uses the caller personal/default workspace.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"teamId":{"description":"Target team for the task; omitted uses the default team.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"title":{"description":"Task title override; omitted derives from the event title.","type":"string","minLength":1},"note":{"description":"Optional note/comment for the created task.","type":"string"}},"description":"Create a Docket task from a calendar event."},"example":{}}},"description":"Fields used to create a task from a Google Calendar event. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/calendar/items":{"post":{"operationId":"postV1MeCalendarItems","summary":"Create a calendar item","tags":["Me"],"description":"## Purpose\n\nCreate a calendar item.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a Docket-owned event or timebox from an explicit `intent`, while retaining the legacy `kind: 'native_block'` request. Docket-owned destinations are committed directly. A writable provider layer uses the local-first provider outbox so the item remains visible and retryable through provider failures.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarItemOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"title":{"type":"string","minLength":1,"description":"Block title. Required, non-empty."},"description":{"description":"Optional description/body for the block.","type":"string"},"location":{"description":"Optional location for the block.","type":"string"},"workPlaceId":{"description":"Optional canonical saved-place binding.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"timezone":{"description":"Optional timezone id for the block.","type":"string"},"endTimezone":{"description":"Optional timed end timezone; omitted uses `timezone`.","type":"string"},"startsAt":{"description":"Timed start timestamp; provide together with `endsAt` for a timed block.","type":"string"},"endsAt":{"description":"Timed end timestamp; provide together with `startsAt` for a timed block.","type":"string"},"allDayStartDate":{"$ref":"#/components/schemas/Sharedc40325a4","description":"All day start date in YYYY-MM-DD format."},"allDayEndDate":{"$ref":"#/components/schemas/Shared3fb09e92","description":"All day end date in YYYY-MM-DD format."},"status":{"$ref":"#/components/schemas/CalendarItemStatus","description":"Current lifecycle state."},"layerId":{"description":"Target native layer id; omitted uses the caller's default native layer.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"kind":{"type":"string","const":"native_block","description":"Legacy native-block create discriminator."},"intent":{"not":{},"description":"Intent for this record."}},"required":["title","kind"]},{"type":"object","properties":{"title":{"type":"string","minLength":1,"description":"Block title. Required, non-empty."},"description":{"description":"Optional description/body for the block.","type":"string"},"location":{"description":"Optional location for the block.","type":"string"},"workPlaceId":{"description":"Optional canonical saved-place binding.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"timezone":{"description":"Optional timezone id for the block.","type":"string"},"endTimezone":{"description":"Optional timed end timezone; omitted uses `timezone`.","type":"string"},"startsAt":{"description":"Timed start timestamp; provide together with `endsAt` for a timed block.","type":"string"},"endsAt":{"description":"Timed end timestamp; provide together with `startsAt` for a timed block.","type":"string"},"allDayStartDate":{"$ref":"#/components/schemas/Sharedc40325a4","description":"All day start date in YYYY-MM-DD format."},"allDayEndDate":{"$ref":"#/components/schemas/Shared3fb09e92","description":"All day end date in YYYY-MM-DD format."},"status":{"$ref":"#/components/schemas/CalendarItemStatus","description":"Current lifecycle state."},"layerId":{"description":"Target native layer id; omitted uses the caller's default native layer.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"intent":{"$ref":"#/components/schemas/CalendarItemCreateIntent","description":"Intent for this record."},"kind":{"not":{},"description":"Selects the value variant."}},"required":["title","intent"]}],"description":"Create a Docket-native event or timebox while accepting the legacy native-block shape."},"example":{"title":"example","kind":"native_block"}}},"description":"Fields used to create a calendar item. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"get":{"operationId":"getV1MeCalendarItems","summary":"List calendar items in a range","tags":["Me"],"description":"## Purpose\n\nList calendar items in a range.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nList every calendar item overlapping `[start, end)` across the caller's selected layers, plus the layers that selection touches. `layerIds`/`kinds` are comma-separated optional filters, matching the `/v1/agenda` CSV convention.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"layers":{"type":"array","items":{"$ref":"#/components/schemas/CalendarLayerOut"},"description":"The selected layers touched by this range (same set `readCalendarLayers` would filter to)."},"items":{"type":"array","items":{"$ref":"#/components/schemas/CalendarItemOut"},"description":"Calendar items overlapping the queried range."}},"required":["layers","items"],"description":"Calendar items overlapping a queried range, plus the layers they belong to."},"example":{"layers":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"docket","sourceKind":"provider_calendar","externalLayerId":"example","title":"example","description":"example","timezone":"example","color":"example","accessRole":"example","primary":false,"selected":false,"visibleByDefault":false,"editableCore":false,"lastSyncedAt":"2026-09-19T12:00:00.000Z","lastError":"example","watchExpiresAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}],"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","layerId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"provider_event","provider":"docket","externalCalendarId":"example","externalEventId":"example","recurringEventId":"example","recurrenceInstanceKey":"example","status":"confirmed","title":"example","description":"example","location":"example","htmlLink":"https://api.clearthedocket.com/v1/example","startsAt":"2026-09-19T12:00:00.000Z","endsAt":"2026-09-19T12:00:00.000Z","allDayStartDate":"2026-09-19","allDayEndDate":"2026-09-19","timezone":"example","organizer":{},"attendees":[{}],"permissions":{"canEditCore":false,"canDelete":false,"readOnlyReason":"provider_scope"},"syncState":"clean","hasConflict":false,"updatedExternalAt":"2026-09-19T12:00:00.000Z","archivedAt":"2026-09-19T12:00:00.000Z","linkedTasks":[{"taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","role":"prep","sort":0,"note":"example","title":"example","state":"example","done":false}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/calendar/items/{id}":{"get":{"operationId":"getV1MeCalendarItemsById","summary":"Get a calendar item","tags":["Me"],"description":"## Purpose\n\nGet a calendar item.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nGet one calendar item with its resolved edit/delete permissions and viewer-filtered linked tasks. Resolves even when the item's layer is currently deselected (a deep link should still work). 404 when the item does not exist or is not owned by the caller.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarItemOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1MeCalendarItemsById","summary":"Update a calendar item","tags":["Me"],"description":"## Purpose\n\nUpdate a calendar item.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPatch a calendar item's core fields (title, description, location, timezone, time bounds). `native_block`, `native_event`, and `timebox` items apply directly; `provider_event` items apply locally and push to the provider (foreground attempt), returning a fresh `syncState`; `task_timebox`/`availability_block` items reject edits (422, derived views). An empty string for `description`/`location` clears the field. Changing the time shape (timed <-> all-day) requires the complete new shape's fields. 404 when the item does not exist or is not owned by the caller; 403 when a `provider_event` edit lacks the required scope/role/capability; 409 when the item has an unresolved conflict.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarItemOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"description":"New title (non-empty). Omit to leave unchanged.","type":"string","minLength":1},"description":{"description":"New description. An empty string clears it (mapped to NULL server-side). Omit to leave unchanged.","type":"string"},"location":{"description":"New location. An empty string clears it (mapped to NULL server-side). Omit to leave unchanged.","type":"string"},"workPlaceId":{"description":"New canonical saved-place binding; null clears it.","anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned saved place used in work-location schedules and evidence."},{"type":"null"}]},"timezone":{"description":"New timezone id. Omit to leave unchanged.","type":"string"},"endTimezone":{"description":"New timed end timezone; null clears the separate end-zone override.","anyOf":[{"type":"string"},{"type":"null"}]},"startsAt":{"description":"New timed start timestamp. Send together with `endsAt` to change the timed shape.","type":"string"},"endsAt":{"description":"New timed end timestamp. Send together with `startsAt` to change the timed shape.","type":"string"},"allDayStartDate":{"description":"New all-day start date. Send together with `allDayEndDate` to change the all-day shape.","type":"string","format":"date","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])))$","example":"2026-06-29"},"allDayEndDate":{"description":"New all-day exclusive end date. Send together with `allDayStartDate` to change the all-day shape.","type":"string","format":"date","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])))$","example":"2026-06-29"}},"description":"Patch a calendar item's core fields."},"example":{}}},"description":"Fields used to update a calendar item. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1MeCalendarItemsById","summary":"Delete a calendar item","tags":["Me"],"description":"## Purpose\n\nDelete a calendar item.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDelete a calendar item and return its representation as a tombstone. `native_block`, `native_event`, and `timebox` items hard-delete immediately (task links and relationships are removed by cascade). `provider_event` items push a delete to the provider (foreground attempt) and only archive locally once the provider confirms it; other outcomes leave the item visible with an updated `syncState`. `task_timebox`/`availability_block` items reject deletion (422, derived views). 404 when the item does not exist or is not owned by the caller; 403 when a `provider_event` delete lacks the required scope/role/capability; 409 when the item has an unresolved conflict.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse1c8adc9d"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/calendar/items/{id}/retry-write":{"post":{"operationId":"postV1MeCalendarItemsByIdRetryWrite","summary":"Retry a provider write with local changes","tags":["Me"],"description":"## Purpose\n\nRetry a provider write with local changes.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRetry a `provider_event` item's failed or conflicted outbox write, keeping the local (pending) changes rather than discarding them. When the item is in `conflict`, re-anchors the write to the provider snapshot captured at conflict time and reattempts in the foreground; without a usable snapshot, the write is marked permanently failed with a clear error. 404 when the item does not exist, is not owned by the caller, or has no retryable write; 409 when the item is not in a retryable state.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse1c8adc9d"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/calendar/items/{id}/relations":{"post":{"operationId":"postV1MeCalendarItemsByIdRelations","summary":"Relate two calendar items","tags":["Me"],"description":"## Purpose\n\nRelate two calendar items.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a directed `contained` or `related` association between two calendar items owned by the signed-in user. Self-relations fail validation, foreign/missing items are existence-hidden as 404, and duplicate source-target pairs return a structured 409 conflict.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarItemRelationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"targetItemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Calendar item the route item relates to."},"role":{"$ref":"#/components/schemas/CalendarItemRelationRole","description":"Role for this record."}},"required":["targetItemId"],"description":"Create a directed relationship from one calendar item to another."},"example":{"targetItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to relate two calendar items. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"get":{"operationId":"getV1MeCalendarItemsByIdRelations","summary":"List calendar item relationships","tags":["Me"],"description":"## Purpose\n\nList calendar item relationships.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nList directed calendar-item relationships in target-id and role order. Pages default to 50 items, accept at most 100, and omit nextCursor at exhaustion.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CalendarItemRelationOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"sourceItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","targetItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","role":"contained","createdByUserId":"example","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/calendar/items/{id}/relations/{relatedItemId}":{"delete":{"operationId":"deleteV1MeCalendarItemsByIdRelationsByRelatedItemId","summary":"Remove a calendar item relationship","tags":["Me"],"description":"## Purpose\n\nRemove a calendar item relationship.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove one directed calendar-item association and return the deleted relationship as a tombstone. Both items must be owned by the caller; a foreign item or missing relationship is existence-hidden as 404.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarItemRelationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"in":"path","name":"relatedItemId","schema":{"type":"string"},"required":true,"description":"Identifier of the related item selected by this path parameter."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/calendar/items/{id}/tasks":{"post":{"operationId":"postV1MeCalendarItemsByIdTasks","summary":"Link a task to a calendar item","tags":["Me"],"description":"## Purpose\n\nLink a task to a calendar item.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nLink an existing task to a calendar item (`mode: 'link'`), or create a new task and link it (`mode: 'create'`). The calendar item must be owned by the caller, and the caller must have an actor holding the `contribute` capability in the target org. `mode: 'link'` 404s when the task does not exist in that org or is not visible to the caller (existence-hiding), and 409s when the task is already linked to this item. `mode: 'create'` resolves the target team the same way the legacy `POST /events/:id/create-task` route does, deriving the title from the item's title when omitted.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"link":{"$ref":"#/components/schemas/CalendarItemTaskLinkOut","description":"Link for this record."},"task":{"$ref":"#/components/schemas/TaskOut","description":"Task for this record."}},"required":["link","task"],"description":"Result of linking a task to a calendar item."},"example":{"link":{"calendarItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","role":"prep","sort":0,"note":"example","createdBy":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z"},"task":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","teamId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","state":"example","priority":"none","autoCompletedBySubtasks":false,"provenance":{"source":"native"},"labels":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","color":"example"}],"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","const":"link","description":"Link an existing task to the calendar item."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Org owning the task to link. Must match the calendar item viewer's access."},"taskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Existing task id to link."},"role":{"$ref":"#/components/schemas/CalendarItemTaskRole","description":"Role for this record."},"note":{"description":"Optional note about the link.","type":"string"}},"required":["mode","organizationId","taskId"]},{"type":"object","properties":{"mode":{"type":"string","const":"create","description":"Create a new task and link it to the calendar item."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Org the new task is created in."},"teamId":{"description":"Team for the new task; omitted uses the default team.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"title":{"description":"Task title override; omitted derives from the calendar item title.","type":"string","minLength":1},"note":{"description":"Optional note about the link.","type":"string"},"role":{"$ref":"#/components/schemas/CalendarItemTaskRole","description":"Role for this record."}},"required":["mode","organizationId"]}],"description":"Link an existing task, or create and link a new one, to a calendar item."},"example":{"mode":"link","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to link a task to a calendar item. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/calendar/items/{id}/tasks/{taskId}":{"delete":{"operationId":"deleteV1MeCalendarItemsByIdTasksByTaskId","summary":"Detach a task from a calendar item","tags":["Me"],"description":"## Purpose\n\nDetach a task from a calendar item.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove the link between a calendar item and a task, returning the deleted link as a tombstone. The task itself is never deleted. 404 when the item is not owned by the caller or no such link exists; 403 when the caller's actor in the link's org lacks `contribute`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"calendarItemId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Linked calendar item id."},"taskId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Linked task id."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Owning org of the linked task."},"role":{"$ref":"#/components/schemas/CalendarItemTaskRole","description":"Role for this record."},"sort":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Sort order among tasks linked to the same calendar item."},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional note about the link."},"createdBy":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Actor who created the link."},"createdAt":{"type":"string","description":"Link creation timestamp."}},"required":["calendarItemId","taskId","organizationId","role","sort","note","createdBy","createdAt"],"description":"A link between a calendar item and a task."},"example":{"calendarItemId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","taskId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","role":"prep","sort":0,"note":"example","createdBy":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter375a526d"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/work-location":{"get":{"operationId":"getV1MeWorkLocation","summary":"Resolve current and expected work location","tags":["Work location"],"description":"## Purpose\n\nResolve current and expected work location.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn the caller's current and expected work locations at an RFC 3339 instant. Docket combines the saved schedule, manual overrides, device evidence, and linked-calendar delivery state. Provider data never overrides a newer Docket change.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"at":{"type":"string","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))$","description":"At for this record."},"current":{"type":"object","properties":{"place":{"anyOf":[{"$ref":"#/components/schemas/WorkPlaceSummary"},{"type":"null"}],"description":"Place for this record."},"confidence":{"type":"string","enum":["declared","observed","inferred","unknown"],"description":"Allowed confidence value."},"effectiveStart":{"$ref":"#/components/schemas/Sharedb43df23f","description":"Effective start for this record."},"effectiveEnd":{"$ref":"#/components/schemas/Sharedce029c3c","description":"Effective end for this record."},"observedAt":{"$ref":"#/components/schemas/Shared6f559493","description":"Observed time as an ISO 8601 instant."},"expiresAt":{"$ref":"#/components/schemas/Shared56046b71","description":"Expires time as an ISO 8601 instant."},"source":{"type":"string","enum":["manual","device","time_ledger","inferred_from_expected","unknown"],"description":"Allowed source value."}},"required":["place","confidence","effectiveStart","effectiveEnd","observedAt","expiresAt","source"],"additionalProperties":false,"description":"Current for this record."},"expected":{"type":"object","properties":{"place":{"anyOf":[{"$ref":"#/components/schemas/WorkPlaceSummary"},{"type":"null"}],"description":"Place for this record."},"confidence":{"type":"string","enum":["declared","observed","inferred","unknown"],"description":"Allowed confidence value."},"effectiveStart":{"$ref":"#/components/schemas/Sharedb43df23f","description":"Effective start for this record."},"effectiveEnd":{"$ref":"#/components/schemas/Sharedce029c3c","description":"Effective end for this record."},"observedAt":{"$ref":"#/components/schemas/Shared6f559493","description":"Observed time as an ISO 8601 instant."},"expiresAt":{"$ref":"#/components/schemas/Shared56046b71","description":"Expires time as an ISO 8601 instant."},"source":{"type":"string","enum":["schedule_plan","assertion","work_block","bridged_work_blocks","unknown"],"description":"Allowed source value."},"workState":{"type":"string","enum":["scheduled","mobile","undecided","not_working","unknown"],"description":"Allowed work state value."}},"required":["place","confidence","effectiveStart","effectiveEnd","observedAt","expiresAt","source","workState"],"additionalProperties":false,"description":"Expected for this record."}},"required":["at","current","expected"],"additionalProperties":false,"description":"Current and expected location at an instant."},"example":{"at":"2026-09-19T12:00:00.000Z","current":{"place":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"},"confidence":"declared","effectiveStart":"2026-09-19T12:00:00.000Z","effectiveEnd":"2026-09-19T12:00:00.000Z","observedAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z","source":"manual"},"expected":{"place":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"},"confidence":"declared","effectiveStart":"2026-09-19T12:00:00.000Z","effectiveEnd":"2026-09-19T12:00:00.000Z","observedAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z","source":"schedule_plan","workState":"scheduled"}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"query","name":"at","schema":{"$ref":"#/components/schemas/Shareddb94d84e"},"description":"At supplied in the query."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/work-location/range":{"get":{"operationId":"getV1MeWorkLocationRange","summary":"Resolve an expected-location range","tags":["Work location"],"description":"## Purpose\n\nResolve an expected-location range.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn ordered, non-overlapping expected-location segments across a half-open instant range, including explicitly unknown gaps.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"start":{"type":"string","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))$","description":"Start for this record."},"end":{"type":"string","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))$","description":"End for this record."},"segments":{"type":"array","items":{"type":"object","properties":{"place":{"anyOf":[{"$ref":"#/components/schemas/WorkPlaceSummary"},{"type":"null"}],"description":"Place for this record."},"confidence":{"type":"string","enum":["declared","observed","inferred","unknown"],"description":"Allowed confidence value."},"effectiveStart":{"type":"string","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))$","description":"Effective start for this record."},"effectiveEnd":{"type":"string","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))$","description":"Effective end for this record."},"observedAt":{"$ref":"#/components/schemas/Shared6f559493","description":"Observed time as an ISO 8601 instant."},"expiresAt":{"$ref":"#/components/schemas/Shared56046b71","description":"Expires time as an ISO 8601 instant."},"source":{"type":"string","enum":["schedule_plan","assertion","work_block","bridged_work_blocks","unknown"],"description":"Allowed source value."},"workState":{"type":"string","enum":["scheduled","mobile","undecided","not_working","unknown"],"description":"Allowed work state value."},"assertionId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned explicit work-location assertion or weekly series."},{"type":"null"}],"description":"Winning editable assertion, or null when the segment came from inferred evidence."},"occurrenceDate":{"anyOf":[{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},{"type":"null"}],"description":"Civil date of the winning assertion occurrence, or null for non-assertion evidence."},"planVersionId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of one effective-dated user-owned work-schedule plan version."},{"type":"null"}],"description":"Winning default-plan version, or null when the segment came from legacy evidence."},"scheduleExceptionId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of one user-owned full-day work-schedule replacement."},{"type":"null"}],"description":"Winning dated replacement, or null when the repeating plan generated the segment."}},"required":["place","confidence","effectiveStart","effectiveEnd","observedAt","expiresAt","source","workState","assertionId","occurrenceDate","planVersionId","scheduleExceptionId"],"additionalProperties":false},"description":"Segments, in order."}},"required":["start","end","segments"],"additionalProperties":false,"description":"Resolved expected-location range."},"example":{"start":"2026-09-19T12:00:00.000Z","end":"2026-09-19T12:00:00.000Z","segments":[{"place":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"},"confidence":"declared","effectiveStart":"2026-09-19T12:00:00.000Z","effectiveEnd":"2026-09-19T12:00:00.000Z","observedAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z","source":"schedule_plan","workState":"scheduled","assertionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","occurrenceDate":"2026-09-19","planVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","scheduleExceptionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter306adba5"},{"$ref":"#/components/parameters/SharedParameter0c60b45f"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/work-location/places":{"get":{"operationId":"getV1MeWorkLocationPlaces","summary":"List saved work places","tags":["Work location"],"description":"## Purpose\n\nList saved work places.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nList arbitrary regular places and the independent optional home designation. Places have no fixed home/office kind.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/WorkPlaceOut"},"description":"Items, in order."},"profile":{"$ref":"#/components/schemas/WorkLocationProfileOut","description":"Profile for this record."}},"required":["items","profile"],"additionalProperties":false,"description":"All active saved places and designations."},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","archivedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}],"profile":{"homePlaceId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"post":{"operationId":"postV1MeWorkLocationPlaces","summary":"Create a saved work place","tags":["Work location"],"description":"## Purpose\n\nCreate a saved work place.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nCreate an arbitrary named regular place. Provider classifications are account-aware mappings, not intrinsic place kinds.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1MeWorkLocationPlacesResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120,"description":"User-defined saved-place name."},"address":{"default":null,"anyOf":[{"type":"string","minLength":1,"maxLength":240},{"type":"null"}],"description":"Optional private owner-facing address; never provider-projected."},"geofence":{"default":null,"anyOf":[{"$ref":"#/components/schemas/WorkPlaceGeofence"},{"type":"null"}],"description":"Optional user-authorized geofence."},"providerMappings":{"$ref":"#/components/schemas/Shared2b632cd6","description":"Provider mappings for this record."},"sort":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Stable personal display order."}},"required":["name"],"additionalProperties":false,"description":"Input for creating a saved work place."},"example":{"name":"example"}}},"description":"Fields used to create a saved work place. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/work-location/places/geocoding/search":{"get":{"operationId":"getV1MeWorkLocationPlacesGeocodingSearch","summary":"Search saved-place addresses","tags":["Work location"],"description":"## Purpose\n\nSearch saved-place addresses.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn temporary Mapbox autocomplete candidates. A selected candidate must be permanently resolved before storage.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"maxItems":5,"type":"array","items":{"$ref":"#/components/schemas/WorkPlaceGeocodeCandidate"},"description":"Items, in order."},"attribution":{"type":"string","minLength":1,"maxLength":240,"description":"Attribution for this record."}},"required":["items","attribution"],"additionalProperties":false,"description":"Address-autocomplete results."},"example":{"items":[{"id":"example","address":"example","latitude":0,"longitude":0}],"attribution":"example"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"query","name":"query","schema":{"type":"string","minLength":3,"maxLength":240},"required":true,"description":"Text used to search or filter the result."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/work-location/places/geocoding/resolutions":{"post":{"operationId":"postV1MeWorkLocationPlacesGeocodingResolutions","summary":"Resolve a saved-place address","tags":["Work location"],"description":"## Purpose\n\nResolve a saved-place address.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nPermanently resolve the Mapbox feature selected from temporary search results.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponseac2903a7"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":512,"description":"The stable identifier for this resource."},"address":{"type":"string","minLength":1,"maxLength":240,"description":"Address for this record."}},"required":["id","address"],"additionalProperties":false,"description":"Permanent feature-resolution input."},"example":{"id":"example","address":"example"}}},"description":"Fields used to resolve a saved-place address. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/work-location/places/geocoding/reverse":{"post":{"operationId":"postV1MeWorkLocationPlacesGeocodingReverse","summary":"Suggest an address for a saved-place point","tags":["Work location"],"description":"## Purpose\n\nSuggest an address for a saved-place point.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nPermanently reverse-geocode a map or device point. The client offers the address before replacing saved text.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponseac2903a7"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"latitude":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude in degrees."},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude in degrees."}},"required":["latitude","longitude"],"additionalProperties":false,"description":"Permanent reverse-geocoding input."},"example":{"latitude":0,"longitude":0}}},"description":"Fields used to suggest an address for a saved-place point. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/work-location/places/{id}":{"patch":{"operationId":"patchV1MeWorkLocationPlacesById","summary":"Update a saved work place","tags":["Work location"],"description":"## Purpose\n\nUpdate a saved work place.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate a saved place and queue new projections for assertions whose rendered provider payload depends on it.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1MeWorkLocationPlacesResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120,"description":"User-defined saved-place name."},"address":{"anyOf":[{"type":"string","minLength":1,"maxLength":240},{"type":"null"}],"description":"Optional private owner-facing address; never provider-projected."},"geofence":{"anyOf":[{"$ref":"#/components/schemas/WorkPlaceGeofence"},{"type":"null"}],"description":"Optional user-authorized geofence."},"providerMappings":{"type":"array","items":{"$ref":"#/components/schemas/WorkPlaceProviderMapping"},"description":"Account-aware provider mappings; these do not classify the core place."},"sort":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Stable personal display order."}},"additionalProperties":false,"description":"A non-empty saved-place update."},"example":{}}},"description":"Fields used to update a saved work place. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1MeWorkLocationPlacesById","summary":"Retire a saved work place","tags":["Work location"],"description":"## Purpose\n\nRetire a saved work place.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRetire an owned place. Current and future schedule references and the independent home designation must be moved or cleared first.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParametercee49bbd"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/work-location/profile":{"put":{"operationId":"putV1MeWorkLocationProfile","summary":"Set work-location designations","tags":["Work location"],"description":"## Purpose\n\nSet work-location designations.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nSet or clear the singular home place independently of saved-place identity, then re-project affected assertions.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"type":"object","properties":{"profile":{"$ref":"#/components/schemas/WorkLocationProfileOut","description":"Profile for this record."},"projections":{"type":"array","items":{"$ref":"#/components/schemas/WorkLocationProjectionOut"},"description":"Projections, in order."}},"required":["profile","projections"],"additionalProperties":false,"description":"Profile and projection status."},"example":{"profile":{"homePlaceId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"projections":[{"connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"example","state":"pending","reason":"unsupported_account"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"homePlaceId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned saved place used in work-location schedules and evidence."},{"type":"null"}],"description":"Identifies the referenced home place."}},"required":["homePlaceId"],"additionalProperties":false,"description":"Personal home-place update."},"example":{"homePlaceId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to set work-location designations. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/work-location/changes":{"get":{"operationId":"getV1MeWorkLocationChanges","summary":"List unresolved work-schedule changes","tags":["Work location"],"description":"## Purpose\n\nList unresolved work-schedule changes.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn provider and migration changes that still need an owner decision. Recognized provider changes never appear here.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/WorkScheduleChangeOut"},"description":"Items, in order."}},"required":["items"],"additionalProperties":false,"description":"All unresolved work-schedule changes in oldest-first order."},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"example","accountLabel":"example","kind":"unmatched_place","payload":{},"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/work-location/changes/{id}":{"patch":{"operationId":"patchV1MeWorkLocationChangesById","summary":"Resolve one work-schedule change","tags":["Work location"],"description":"## Purpose\n\nResolve one work-schedule change.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nLink or ignore an unmatched provider label, preserve a newer Docket date, or accept the connected-account version of that date.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"required":true,"description":"ULID id of one provider or migration schedule change that still needs a decision."},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"action":{"type":"string","const":"link_place","description":"Action for this record."},"placeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned saved place used in work-location schedules and evidence."}},"required":["action","placeId"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"ignore","description":"Action for this record."}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"keep_docket","description":"Action for this record."}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"use_provider","description":"Action for this record."}},"required":["action"],"additionalProperties":false}]},"example":{"action":"link_place","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to resolve one work-schedule change. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/work-location/schedule":{"get":{"operationId":"getV1MeWorkLocationSchedule","summary":"List the default work schedule","tags":["Work location"],"description":"## Purpose\n\nList the default work schedule.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn effective-dated default plan versions and complete dated replacements for the caller-owned personal Hub.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"plans":{"type":"array","items":{"$ref":"#/components/schemas/WorkSchedulePlanOut"},"description":"Plans, in order."},"exceptions":{"type":"array","items":{"$ref":"#/components/schemas/WorkScheduleExceptionOut"},"description":"Exceptions, in order."}},"required":["plans","exceptions"],"additionalProperties":false,"description":"The complete owner-visible work schedule."},"example":{"plans":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","anchorDate":"2026-09-19","timezone":"example","effectiveFrom":"2026-09-19","effectiveUntil":"2026-09-19","cycleDays":[{"segments":[{"startMinute":0,"durationMinutes":1,"location":{"type":"saved_place","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}]}],"revision":1,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}],"exceptions":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","planVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","date":"2026-09-19","segments":[{"startMinute":0,"durationMinutes":1,"location":{"type":"saved_place","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}],"origin":"docket","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"put":{"operationId":"putV1MeWorkLocationSchedule","summary":"Start a new default work-schedule version","tags":["Work location"],"description":"## Purpose\n\nStart a new default work-schedule version.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a complete plan version from its effective date and close the preceding version without changing historical dates.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of one effective-dated user-owned work-schedule plan version."},"anchorDate":{"$ref":"#/components/schemas/Shared5f69fb7d","description":"Anchor date in YYYY-MM-DD format."},"timezone":{"type":"string","minLength":1,"description":"IANA timezone used for every wall-clock segment."},"effectiveFrom":{"$ref":"#/components/schemas/Shareda50f42fa","description":"Effective from for this record."},"effectiveUntil":{"$ref":"#/components/schemas/Shared949f5aa0","description":"Effective until for this record."},"cycleDays":{"$ref":"#/components/schemas/Shared79597039","description":"Cycle days for this record."},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Revision for this record."},"createdAt":{"$ref":"#/components/schemas/Shared5a69cae8","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["id","anchorDate","timezone","effectiveFrom","effectiveUntil","cycleDays","revision","createdAt","updatedAt"],"additionalProperties":false,"description":"One persisted work-schedule plan version."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","anchorDate":"2026-09-19","timezone":"example","effectiveFrom":"2026-09-19","effectiveUntil":"2026-09-19","cycleDays":[{"segments":[{"startMinute":0,"durationMinutes":1,"location":{"type":"saved_place","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}]}],"revision":1,"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"anchorDate":{"$ref":"#/components/schemas/Shared5f69fb7d","description":"Anchor date in YYYY-MM-DD format."},"timezone":{"type":"string","minLength":1,"description":"IANA timezone used for every wall-clock segment."},"effectiveFrom":{"$ref":"#/components/schemas/Shareda50f42fa","description":"Effective from for this record."},"effectiveUntil":{"$ref":"#/components/schemas/Shared949f5aa0","description":"Effective until for this record."},"cycleDays":{"$ref":"#/components/schemas/Shared79597039","description":"Cycle days for this record."}},"required":["anchorDate","timezone","effectiveFrom","effectiveUntil","cycleDays"],"additionalProperties":false,"description":"A complete default work-schedule version."},"example":{"anchorDate":"2026-09-19","timezone":"example","effectiveFrom":"2026-09-19","effectiveUntil":"2026-09-19","cycleDays":[{"segments":[{"startMinute":0,"durationMinutes":1,"location":{"type":"saved_place","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}]}]}}},"description":"Fields used to start a new default work-schedule version. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/work-location/schedule/dates/{date}":{"put":{"operationId":"putV1MeWorkLocationScheduleDatesByDate","summary":"Replace one date in the default work schedule","tags":["Work location"],"description":"## Purpose\n\nReplace one date in the default work schedule.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nReplace every generated work segment on one civil date, including an empty replacement for a day off.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of one user-owned full-day work-schedule replacement."},"planVersionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of one effective-dated user-owned work-schedule plan version."},"date":{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},"segments":{"maxItems":24,"type":"array","items":{"$ref":"#/components/schemas/WorkScheduleSegment"},"description":"Segments, in order."},"origin":{"type":"string","enum":["docket","provider"],"description":"Allowed origin value."},"createdAt":{"$ref":"#/components/schemas/Shared5a69cae8","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"$ref":"#/components/schemas/Sharedd86bae76","description":"The last change time as an ISO 8601 instant."}},"required":["id","planVersionId","date","segments","origin","createdAt","updatedAt"],"additionalProperties":false,"description":"One persisted complete replacement for a generated schedule date."},"example":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","planVersionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","date":"2026-09-19","segments":[{"startMinute":0,"durationMinutes":1,"location":{"type":"saved_place","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}],"origin":"docket","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter28e909d2"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/Shareddb889926","description":"Date for this record."},"segments":{"maxItems":24,"type":"array","items":{"$ref":"#/components/schemas/WorkScheduleSegment"},"description":"Segments, in order."}},"required":["date","segments"],"additionalProperties":false,"description":"A complete replacement for one generated schedule date."},"example":{"date":"2026-09-19","segments":[{"startMinute":0,"durationMinutes":1,"location":{"type":"saved_place","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}]}}},"description":"Fields used to replace one date in the default work schedule. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/work-location/assertions":{"get":{"operationId":"getV1MeWorkLocationAssertions","summary":"List explicit work-location assertions","tags":["Work location"],"description":"## Purpose\n\nList explicit work-location assertions.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn the signed-in person's one-off and weekly work-location assertions, including date-specific exceptions and each linked account's delivery state. Generated schedule segments are not included.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/WorkLocationAssertionOut"},"description":"Items, in order."}},"required":["items"],"additionalProperties":false,"description":"All active explicit assertions."},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","schedule":{"type":"one_off_all_day","date":"2026-09-19","timezone":"example"},"exceptions":[{"action":"cancel","date":"2026-09-19"}],"origin":"docket","originProvider":"example","originConnectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","revision":1,"archivedAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"post":{"operationId":"postV1MeWorkLocationAssertions","summary":"Create a work-location assertion","tags":["Work location"],"description":"## Purpose\n\nCreate a work-location assertion.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a one-off or weekly canonical assertion immediately; linked-provider delivery is eventually consistent and reported per account.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1MeWorkLocationAssertionsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"placeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned saved place used in work-location schedules and evidence."},"schedule":{"$ref":"#/components/schemas/WorkLocationSchedule","description":"Schedule for this record."}},"required":["placeId","schedule"],"additionalProperties":false,"description":"Explicit assertion creation input."},"example":{"placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","schedule":{"type":"one_off_all_day","date":"2026-09-19","timezone":"example"}}}},"description":"Fields used to create a work-location assertion. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/work-location/assertions/{id}":{"patch":{"operationId":"patchV1MeWorkLocationAssertionsById","summary":"Update a work-location assertion","tags":["Work location"],"description":"## Purpose\n\nUpdate a work-location assertion.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nReplace the supplied fields on one owned assertion. The response contains the current assertion and the delivery state for each linked calendar account. Calendar changes may finish after this response.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse24cae330"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"placeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned saved place used in work-location schedules and evidence."},"schedule":{"$ref":"#/components/schemas/WorkLocationSchedule","description":"Schedule for this record."}},"additionalProperties":false,"description":"A non-empty assertion update."},"example":{}}},"description":"Fields used to update a work-location assertion. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1MeWorkLocationAssertionsById","summary":"Delete a work-location assertion","tags":["Work location"],"description":"## Purpose\n\nDelete a work-location assertion.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nArchive the canonical assertion immediately and fan out provider deletes.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter2ece5966"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/work-location/assertions/{id}/occurrences/{date}":{"put":{"operationId":"putV1MeWorkLocationAssertionsByIdOccurrencesByDate","summary":"Cancel or replace one weekly occurrence","tags":["Work location"],"description":"## Purpose\n\nCancel or replace one weekly occurrence.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAdd a date-specific exception to a weekly assertion. The exception may cancel that occurrence or replace its location and time. The response reports the updated assertion and linked-calendar delivery state.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse24cae330"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Shared22653d88"},{"$ref":"#/components/schemas/Shared2074e2f9"}],"description":"A weekly occurrence exception."},"example":{"action":"cancel","date":"2026-09-19"}}},"description":"Fields used to cancel or replace one weekly occurrence. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1MeWorkLocationAssertionsByIdOccurrencesByDate","summary":"Restore one weekly occurrence","tags":["Work location"],"description":"## Purpose\n\nRestore one weekly occurrence.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove the date-specific exception from a weekly assertion so that date follows the recurring rule again. The response reports the updated assertion and linked-calendar delivery state.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1MeWorkLocationAssertionsResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter2ece5966"},{"$ref":"#/components/parameters/SharedParameter28e909d2"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/work-location/current":{"put":{"operationId":"putV1MeWorkLocationCurrent","summary":"Set a manual current-location override","tags":["Work location"],"description":"## Purpose\n\nSet a manual current-location override.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nSet a time-bounded manual current location. Omitted expiry defaults to the end of the Hub-local day and is not projected as Google schedule.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"placeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned saved place used in work-location schedules and evidence."},"expiresAt":{"description":"Override expiry; omitted defaults to the end of the Hub-local day.","type":"string","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))$"}},"required":["placeId"],"additionalProperties":false,"description":"Manual current-location declaration."},"example":{"placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to set a manual current-location override. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"delete":{"operationId":"deleteV1MeWorkLocationCurrent","summary":"Clear a manual current-location override","tags":["Work location"],"description":"## Purpose\n\nClear a manual current-location override.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nRemove the signed-in person's manual current-location override immediately. Current-location reads then fall back to schedule and device evidence. This operation does not change the work schedule or linked calendars.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/work-location/observations":{"post":{"operationId":"postV1MeWorkLocationObservations","summary":"Record matched foreground-device evidence","tags":["Work location"],"description":"## Purpose\n\nRecord matched foreground-device evidence.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nAccept only a user-owned saved-place id and reported accuracy. The strict body rejects coordinates structurally; raw observations never cross this boundary.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"placeId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of a user-owned saved place used in work-location schedules and evidence."},"accuracyMeters":{"type":"number","minimum":0,"maximum":10000,"description":"Accuracy meters for this record."}},"required":["placeId","accuracyMeters"],"additionalProperties":false,"description":"A coordinate-free foreground-device place observation."},"example":{"placeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","accuracyMeters":0}}},"description":"Fields used to record matched foreground-device evidence. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/work-location/sync-state":{"get":{"operationId":"getV1MeWorkLocationSyncState","summary":"Get linked-account work-location sync state","tags":["Work location"],"description":"## Purpose\n\nGet linked-account work-location sync state.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn provider capability, bootstrap, queued delivery, unsupported, and action-required state independently for every linked account.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"ready":{"type":"boolean","description":"Whether canonical work-location reads can replace legacy provider context."},"accounts":{"type":"array","items":{"$ref":"#/components/schemas/WorkLocationSyncAccountOut"},"description":"Accounts, in order."}},"required":["ready","accounts"],"additionalProperties":false,"description":"Work-location sync status for every account."},"example":{"ready":false,"accounts":[{"connectionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","provider":"example","accountLabel":"example","state":"pending","reason":"unsupported_account","capabilities":{"scheduledIntervals":false,"partialDays":false,"weeklyRecurrence":false,"currentPresence":false,"providerPlaceIds":false,"inboundChanges":false,"writes":false},"bootstrapCompletedAt":"2026-09-19T12:00:00.000Z","lastSucceededAt":"2026-09-19T12:00:00.000Z","pendingWrites":0}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/identities":{"get":{"operationId":"getV1MeIdentities","summary":"List linked identities","tags":["Me"],"description":"## Purpose\n\nList linked identities.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nList the Google, GitHub, and Linear accounts the caller linked to Docket. A linked identity belongs to the person. An organization integration separately chooses one of those identities and the external resources to synchronize.\n\nEach item includes the provider's stable `accountId`, granted `scopes`, link time, and `connectionCount`, which is the number of organization integrations that depend on it. `email`, `name`, and `picture` are optional because not every provider or token supplies them. Use `GET /v1/me/connected-apps` to list third-party apps that the caller authorized to access Docket.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/IdentityOut"},"description":"The external accounts the caller has linked to their Docket identity. Empty when they have linked none."},"googleOAuth":{"description":"Whether this authenticated user may start Google OAuth in this deployment.","type":"object","properties":{"available":{"type":"boolean","description":"Available for this record."},"stage":{"type":"string","enum":["testing","public"],"description":"Allowed stage value."}},"required":["available","stage"]}},"required":["items"],"description":"The user's linked external identities."},"example":{"items":[{"accountId":"example","provider":"google","email":"developer@example.com","name":"example","picture":"example","scopes":["example"],"linkedAt":"2026-09-19T12:00:00.000Z","connectionCount":0}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/identities/external-agent-links":{"post":{"operationId":"postV1MeIdentitiesExternalAgentLinks","summary":"Complete an external Athena identity continuation","tags":["Me"],"description":"## Purpose\n\nComplete an external Athena identity continuation.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nConsume one signed external-agent authentication continuation after the caller links the exact provider account that opened the Athena session. The continuation binds the provider, external actor, and waiting session. Docket also requires the caller to be an active actor in the session's workspace before it resumes the session and queues one run generation. Replays by the same actor are idempotent.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean","const":true,"description":"Current lifecycle state."},"sessionId":{"type":"string","description":"Identifies the referenced session."}},"required":["status","sessionId"]},"example":{"status":true,"sessionId":"example"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":1,"description":"Token for this record."}},"required":["token"]},"example":{"token":"example"}}},"description":"Fields used to complete an external Athena identity continuation. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/identities/{provider}/{accountId}":{"delete":{"operationId":"deleteV1MeIdentitiesByProviderByAccountId","summary":"Unlink one external identity","tags":["Me"],"description":"## Purpose\n\nUnlink one external identity.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nUnlink exactly one provider identity from the caller. The operation is blocked with **409 `identity_in_use`** while any org-scoped Docket connection is bound to this identity; disconnect or rebind those connections first. It also preserves account reachability: removing the caller's last linked sign-in account is blocked unless they have a passkey. Because this changes sign-in credentials, the caller must first complete passkey step-up and present a session created within the last five minutes (**401 `reauth_required`** otherwise).\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean","const":true,"description":"Current lifecycle state."}},"required":["status"],"description":"Confirmation that an identity was unlinked."},"example":{"status":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"provider","schema":{"type":"string","enum":["google","github","linear","notion"]},"required":true,"description":"The external social provider an identity is linked from: `google` (OIDC — supplies email/name/picture), `github`, `linear`, or `notion`. Mirrors the configured Better Auth `socialProviders` and gates which connectors are available."},{"in":"path","name":"accountId","schema":{"type":"string","minLength":1},"required":true,"description":"Identifier of the account selected by this path parameter."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/passkeys":{"get":{"operationId":"getV1MePasskeys","summary":"List passkeys","tags":["Me"],"description":"## Purpose\n\nList passkeys.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nList safe summaries of the signed-in user's passkeys. Credential ids, public keys, and counters are never returned.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Shared0f8ba9fa"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"example","name":"example","deviceType":"example","backedUp":false,"transports":["example"],"aaguid":"example","createdAt":"2026-09-19T12:00:00.000Z","lastUsedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/passkeys/{id}":{"patch":{"operationId":"patchV1MePasskeysById","summary":"Rename a passkey","tags":["Me"],"description":"## Purpose\n\nRename a passkey.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nRename exactly one passkey owned by the signed-in user.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shared0f8ba9fa"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100,"description":"Human-readable name."}},"required":["name"]},"example":{"name":"example"}}},"description":"Fields used to rename a passkey. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1MePasskeysById","summary":"Delete a passkey","tags":["Me"],"description":"## Purpose\n\nDelete a passkey.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDelete one owned passkey while preserving account reachability. The credential id is returned only after deletion so a native credential provider can invalidate its stale entry.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean","const":true,"description":"Current lifecycle state."},"credentialId":{"type":"string","description":"Identifies the referenced credential."}},"required":["status","credentialId"]},"example":{"status":true,"credentialId":"example"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter6488cb47"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/notifications/preferences":{"get":{"operationId":"getV1MeNotificationsPreferences","summary":"Get notification preferences","tags":["Notifications"],"description":"## Purpose\n\nGet notification preferences.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn the caller's notification preferences. Missing category and channel choices appear with their defaults. Security and account categories remain locked.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeNotificationsPreferencesResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"patch":{"operationId":"patchV1MeNotificationsPreferences","summary":"Update notification preferences","tags":["Notifications"],"description":"## Purpose\n\nUpdate notification preferences.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nPatch mutable category/channel preferences, quiet hours, timezone, and org-scoped overrides for the signed-in user.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeNotificationsPreferencesResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"timezone":{"type":"string","minLength":1,"description":"Timezone for this record."},"quietHours":{"$ref":"#/components/schemas/NotificationQuietHours","description":"Quiet hours for this record."},"categories":{"$ref":"#/components/schemas/Shared8e66927a","description":"Categories for this record."},"organizations":{"$ref":"#/components/schemas/Shared714582ef","description":"Organizations for this record."}},"description":"Patch the caller notification preferences."},"example":{}}},"description":"Fields used to update notification preferences. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/notifications":{"get":{"operationId":"getV1MeNotifications","summary":"List notifications","tags":["Notifications"],"description":"## Purpose\n\nList notifications.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nList the signed-in user notifications across every organization they belong to, newest first. Optional filters only narrow within the caller-owned inbox.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/NotificationOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","userId":"example","type":"mention","body":{"title":"example"},"createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"query","name":"unreadOnly","schema":{"type":"string"},"description":"When true, return only unread (`readAt IS NULL`) notifications. Arrives as a query string (`\"true\"`/`\"false\"`/`\"1\"`/`\"0\"`) and is coerced to a boolean. Omitted = include read and unread."},{"in":"query","name":"organizationId","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"description":"Narrow the inbox to a single originating org. Only narrows *within* the caller's own notifications — it cannot widen scope to another user or to an org the caller isn't a member of. Omitted = all orgs."},{"in":"query","name":"type","schema":{"type":"string","enum":["mention","assignment","approval_request","status_change","comment","invitation","agent_session","connector_sync_failed","connector_needs_reauth","automation","service_announcement","phone_call","email"]},"description":"Narrow the inbox to a single notification kind (see NotificationType). Omitted = all kinds."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/notifications/count":{"get":{"operationId":"getV1MeNotificationsCount","summary":"Get notification counts","tags":["Notifications"],"description":"## Purpose\n\nGet notification counts.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn unread and pending approval counts for the signed-in user notification inbox.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"unread":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Total count of unread notifications across every org the caller belongs to. Drives the rail unread badge. >= 0.","example":7},"pendingApprovals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Count of unread notifications whose type is `approval_request` — the actionable approval queue. A subset of `unread`. >= 0.","example":2}},"required":["unread","pendingApprovals"],"description":"Cross-org unread attention counts."},"example":{"unread":0,"pendingApprovals":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/notifications/read-all":{"post":{"operationId":"postV1MeNotificationsReadAll","summary":"Mark notifications read","tags":["Notifications"],"description":"## Purpose\n\nMark notifications read.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nBulk-mark unread caller-owned notifications read, optionally narrowed by organization or type.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"updated":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many previously-unread notifications were transitioned to read by this call. 0 when there was nothing unread (the operation is idempotent). >= 0.","example":5}},"required":["updated"],"description":"Count of notifications marked read."},"example":{"updated":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"description":"Scope the bulk mark-read to a single org. AND-combined with `type`. Omitted = mark the caller's entire inbox read.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"type":{"description":"Scope the bulk mark-read to a single notification kind. AND-combined with `organizationId`. Omitted = all kinds.","type":"string","enum":["mention","assignment","approval_request","status_change","comment","invitation","agent_session","connector_sync_failed","connector_needs_reauth","automation","service_announcement","phone_call","email"]}},"description":"Bulk mark-all-read filters."},"example":{}}},"description":"Fields used to mark notifications read. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/notifications/{id}":{"get":{"operationId":"getV1MeNotificationsById","summary":"Get a notification","tags":["Notifications"],"description":"## Purpose\n\nGet a notification.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn one caller-owned notification. Missing or another-user notifications are hidden behind 404.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/notifications/{id}/read":{"post":{"operationId":"postV1MeNotificationsByIdRead","summary":"Mark a notification read","tags":["Notifications"],"description":"## Purpose\n\nMark a notification read.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nMark one caller-owned notification read. Missing or another-user notifications are hidden behind 404.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse114dc08b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/notifications/{id}/act":{"post":{"operationId":"postV1MeNotificationsByIdAct","summary":"Act on a notification","tags":["Notifications"],"description":"## Purpose\n\nAct on a notification.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nApply a low-risk inline action to one caller-owned notification. Acting on a notification marks it as read.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse114dc08b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string","minLength":1,"description":"Names the inline action the client invoked from the inbox (e.g. `acknowledge`, `approve`). Conveys client intent for the transition; it is not persisted — acting simply marks the notification read.","example":"acknowledge"}},"required":["action"],"description":"One-tap inbox act body."},"example":{"action":"example"}}},"description":"Fields used to act on a notification. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/contact-points":{"get":{"operationId":"getV1MeContactPoints","summary":"List notification contact points","tags":["Me"],"description":"## Purpose\n\nList notification contact points.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nList the caller's email, phone, and push-token contact points. If the primary account email is missing from the list, Docket adds it as an active contact point before returning the response.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ContactPointOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","userId":"example","type":"email","value":"developer@example.com","status":"pending","primary":false,"verifiedAt":"2026-09-19T12:00:00.000Z","disabledAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1MeContactPoints","summary":"Create a notification contact point","tags":["Me"],"description":"## Purpose\n\nCreate a notification contact point.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a pending caller-owned destination for notification delivery. Phone contact points are verified before SMS delivery can use them.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactPointOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["email","phone","push_token"],"description":"Selects the value type."},"value":{"type":"string","minLength":1,"description":"Stored or returned value."},"purpose":{"type":"string","enum":["sms_notifications","email_notifications","push_notifications"],"description":"Allowed purpose value."}},"required":["type","value"],"description":"Create a notification contact point."},"example":{"type":"email","value":"example"}}},"description":"Fields used to create a notification contact point. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/contact-points/{id}/verify":{"post":{"operationId":"postV1MeContactPointsByIdVerify","summary":"Verify a contact point","tags":["Me"],"description":"## Purpose\n\nVerify a contact point.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nVerify one pending caller-owned contact point with its short-lived verification code.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsed1206744"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":32,"description":"Code for this record."}},"required":["code"],"description":"Verify a pending contact point."},"example":{"code":"example"}}},"description":"Fields used to verify a contact point. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/contact-points/{id}/make-primary":{"post":{"operationId":"postV1MeContactPointsByIdMakePrimary","summary":"Make a contact point primary","tags":["Me"],"description":"## Purpose\n\nMake a contact point primary.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nMake one active verified caller-owned contact point primary within its destination type.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsed1206744"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/contact-points/{id}":{"delete":{"operationId":"deleteV1MeContactPointsById","summary":"Disable a contact point","tags":["Me"],"description":"## Purpose\n\nDisable a contact point.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDisable one caller-owned contact point without deleting delivery history that may reference it.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsed1206744"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/phone-numbers":{"get":{"operationId":"getV1MePhoneNumbers","summary":"List bound phone numbers","tags":["Me"],"description":"## Purpose\n\nList bound phone numbers.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nList the phone numbers bound to the account, always redacted. A number still awaiting its code carries that code’s remaining lifetime, tries, and resend time, so a half-finished verification can be resumed from any session.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"athenaNumber":{"anyOf":[{"type":"string","pattern":"^\\+[1-9]\\d{6,14}$"},{"type":"null"}],"description":"Athena number for this record."},"verification":{"type":"object","properties":{"available":{"type":"boolean","description":"Available for this record."},"reason":{"anyOf":[{"type":"string","enum":["rollout_restricted","temporarily_unavailable"]},{"type":"null"}],"description":"Reason for this record."}},"required":["available","reason"],"description":"Verification for this record."},"items":{"type":"array","items":{"$ref":"#/components/schemas/PhoneNumberOut"},"description":"Items, in order."},"nextCursor":{"description":"Opaque cursor for the next page, absent at exhaustion.","type":"string"}},"required":["athenaNumber","verification","items"]},"example":{"athenaNumber":"+12025550123","verification":{"available":false,"reason":"rollout_restricted"},"items":[{"id":"example","masked":"example","dialCode":"example","country":"example","status":"pending","callingEnabled":false,"verifiedAt":"2026-09-19T12:00:00.000Z","lastCalledAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","challenge":{"state":"awaiting_code","expiresAt":"2026-09-19T12:00:00.000Z","attemptsRemaining":0,"resendAvailableAt":"2026-09-19T12:00:00.000Z","deliveryFailed":false}}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1MePhoneNumbers","summary":"Bind a phone number and send its verification code","tags":["Me"],"description":"## Purpose\n\nBind a phone number and send its verification code.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nRecord a phone number as pending and text a one-time code to it. The number cannot be used until the code comes back.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsef23c4da0"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":2,"description":"Country for this record."},"dialCode":{"type":"string","minLength":1,"maxLength":4,"description":"Dial code for this record."},"nationalNumber":{"type":"string","minLength":1,"maxLength":24,"description":"National number for this record."}},"required":["country","dialCode","nationalNumber"],"description":"Bind a phone number by country and national number."},"example":{"country":"xx","dialCode":"x","nationalNumber":"example"}}},"description":"Fields used to bind a phone number and send its verification code. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/phone-numbers/{id}/call":{"post":{"operationId":"postV1MePhoneNumbersByIdCall","summary":"Ask Athena to call the verified number","tags":["Me"],"description":"## Purpose\n\nAsk Athena to call the verified number.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nCreate an authenticated callback to the stored verified number. The destination cannot be supplied by the request.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"authorizationId":{"type":"string","description":"Identifies the referenced authorization."},"state":{"type":"string","enum":["dialing","failed"],"description":"Current lifecycle state."},"expiresAt":{"type":"string","description":"Expires time as an ISO 8601 instant."}},"required":["authorizationId","state","expiresAt"],"description":"State of an authenticated Athena callback."},"example":{"authorizationId":"example","state":"dialing","expiresAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/phone-numbers/{id}/resend":{"post":{"operationId":"postV1MePhoneNumbersByIdResend","summary":"Send another verification code","tags":["Me"],"description":"## Purpose\n\nSend another verification code.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRetire the outstanding code and text a fresh one. Rate limited per number; the response states when another send is allowed.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsef23c4da0"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/phone-numbers/{id}/verify":{"post":{"operationId":"postV1MePhoneNumbersByIdVerify","summary":"Verify a phone number with its one-time code","tags":["Me"],"description":"## Purpose\n\nVerify a phone number with its one-time code.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nProve ownership of a pending number. Wrong codes are counted and the challenge is destroyed once the attempt budget is spent.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse74eedd93"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","pattern":"^\\d{6}$","description":"Code for this record."}},"required":["code"],"description":"The one-time code sent by SMS."},"example":{"code":"123456"}}},"description":"Fields used to verify a phone number with its one-time code. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/phone-numbers/{id}/calling":{"post":{"operationId":"postV1MePhoneNumbersByIdCalling","summary":"Turn calling on or off for a verified number","tags":["Me"],"description":"## Purpose\n\nTurn calling on or off for a verified number.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPause or resume Athena answering calls from this number without discarding the proof of ownership.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse74eedd93"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether this behavior is enabled."}},"required":["enabled"]},"example":{"enabled":false}}},"description":"Fields used to turn calling on or off for a verified number. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/phone-numbers/{id}":{"delete":{"operationId":"deleteV1MePhoneNumbersById","summary":"Remove a phone number","tags":["Me"],"description":"## Purpose\n\nRemove a phone number.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nUnbind a number from the account. Calls from it stop reaching Athena immediately.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse74eedd93"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/voice":{"post":{"operationId":"postV1MeAthenaVoice","summary":"Start a voice session on the caller’s conversation","tags":["Athena"],"description":"## Purpose\n\nStart a voice session on the caller’s conversation.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nOpen a live voice session and mint the short-lived credential the browser uses for its own audio link. Returns the caller’s one canonical conversation id — voice never starts a second conversation.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"conversationId":{"type":"string","description":"Identifies the referenced conversation."},"channel":{"type":"string","enum":["web","phone"],"description":"Allowed channel value."},"state":{"type":"string","enum":["idle","listening","thinking","speaking","ended"],"description":"Current lifecycle state."},"credential":{"anyOf":[{"$ref":"#/components/schemas/VoiceProviderCredential"},{"type":"null"}],"description":"Credential for this record."},"greeting":{"type":"string","description":"Greeting for this record."},"tools":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Human-readable name."},"description":{"type":"string","description":"Longer plain-language description."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Parameters for this record."}},"required":["name","description","parameters"]},"description":"Tools, in order."},"startedAt":{"type":"string","description":"Started time as an ISO 8601 instant."},"endedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ended time as an ISO 8601 instant."}},"required":["id","conversationId","channel","state","credential","greeting","tools","startedAt","endedAt"],"description":"A live Athena voice session."},"example":{"id":"example","conversationId":"example","channel":"web","state":"idle","credential":{"transport":"webrtc","provider":"example","model":"example","url":"https://api.clearthedocket.com/v1/example","clientSecret":"example","expiresAt":"2026-09-19T12:00:00.000Z"},"greeting":"example","tools":[{"name":"example","description":"example","parameters":{}}],"startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"workspaceId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced workspace."}},"description":"Start a browser voice session."},"example":{}}},"description":"Fields used to start a voice session on the caller’s conversation. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/voice/transcript":{"get":{"operationId":"getV1MeAthenaVoiceTranscript","summary":"Read the recent conversation a voice session continues","tags":["Athena"],"description":"## Purpose\n\nRead the recent conversation a voice session continues.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nThe most recent lines of the caller’s one Athena conversation, from every channel, so entering voice continues the conversation on screen instead of starting a blank one.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/VoiceTurnOut"},"description":"Items, in order."}},"required":["items"]},"example":{"items":[{"id":"example","role":"user","text":"example","channel":"web","interrupted":false,"createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/voice/{id}/summary":{"get":{"operationId":"getV1MeAthenaVoiceByIdSummary","summary":"Review changes from a phone call","tags":["Athena"],"description":"## Purpose\n\nReview changes from a phone call.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn only the signed-in caller’s phone session and its reversible task changes.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"voiceSessionId":{"type":"string","description":"Identifies the referenced voice session."},"conversationId":{"type":"string","description":"Identifies the referenced conversation."},"startedAt":{"type":"string","description":"Started time as an ISO 8601 instant."},"endedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ended time as an ISO 8601 instant."},"changes":{"type":"array","items":{"type":"object","properties":{"changeSetId":{"type":"string","description":"Identifies the referenced change set."},"summary":{"type":"string","description":"Short plain-language summary."},"tool":{"type":"string","enum":["create_task","complete_task"],"description":"Allowed tool value."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"undoneAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Undone time as an ISO 8601 instant."},"undoAvailable":{"type":"boolean","description":"Undo available for this record."}},"required":["changeSetId","summary","tool","createdAt","undoneAt","undoAvailable"]},"description":"Changes, in order."}},"required":["voiceSessionId","conversationId","startedAt","endedAt","changes"]},"example":{"voiceSessionId":"example","conversationId":"example","startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","changes":[{"changeSetId":"example","summary":"example","tool":"create_task","createdAt":"2026-09-19T12:00:00.000Z","undoneAt":"2026-09-19T12:00:00.000Z","undoAvailable":false}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/voice/{id}/changes/{changeSetId}/undo":{"post":{"operationId":"postV1MeAthenaVoiceByIdChangesByChangeSetIdUndo","summary":"Undo one phone call change","tags":["Athena"],"description":"## Purpose\n\nUndo one phone call change.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReverse one caller-owned phone change only when no later edit changed the affected task.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse29b1e2d4"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameterb8e2791f"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/voice/{id}/events":{"post":{"operationId":"postV1MeAthenaVoiceByIdEvents","summary":"Relay realtime events into the session engine","tags":["Athena"],"description":"## Purpose\n\nRelay realtime events into the session engine.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nFeed the browser’s realtime events — transcripts, speech boundaries, tool calls, interruptions — into the shared voice session engine, and receive the commands the client must obey.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"state":{"type":"string","enum":["idle","listening","thinking","speaking","ended"],"description":"Current lifecycle state."},"commands":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"speak","description":"Selects the value type."},"text":{"type":"string","description":"Text for this record."},"last":{"type":"boolean","description":"Last for this record."},"interruptible":{"type":"boolean","description":"Interruptible for this record."}},"required":["type","text","last","interruptible"]},{"type":"object","properties":{"type":{"type":"string","const":"stop.audio","description":"Selects the value type."}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"tool.result","description":"Selects the value type."},"callId":{"type":"string","description":"Identifies the referenced call."},"ok":{"type":"boolean","description":"Ok for this record."},"output":{"type":"string","description":"Output for this record."}},"required":["type","callId","ok","output"]},{"type":"object","properties":{"type":{"type":"string","const":"end","description":"Selects the value type."},"reason":{"type":"string","enum":["user_ended","caller_hung_up","transport_closed","phone_access_revoked","plan_required","error"],"description":"Allowed reason value."}},"required":["type","reason"]}]},"description":"Commands, in order."},"turns":{"type":"array","items":{"$ref":"#/components/schemas/VoiceTurnOut"},"description":"Turns, in order."},"actions":{"type":"array","items":{"$ref":"#/components/schemas/VoiceActionOut"},"description":"Actions, in order."},"trace":{"type":"array","items":{"$ref":"#/components/schemas/VoiceTraceEntry"},"description":"Trace, in order."}},"required":["state","commands","turns","actions","trace"],"description":"Engine output for one relayed batch of transport events."},"example":{"state":"idle","commands":[{"type":"speak","text":"example","last":false,"interruptible":false}],"turns":[{"id":"example","role":"user","text":"example","channel":"web","interrupted":false,"createdAt":"2026-09-19T12:00:00.000Z"}],"actions":[{"id":"example","tool":"example","summary":"example","status":"running","startedAt":"2026-09-19T12:00:00.000Z","completedAt":"2026-09-19T12:00:00.000Z"}],"trace":[{"at":"example","seq":0,"kind":"state","detail":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"events":{"minItems":1,"maxItems":64,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"user.transcript","description":"Selects the value type."},"text":{"type":"string","description":"Text for this record."},"final":{"type":"boolean","description":"Final for this record."}},"required":["type","text","final"]},{"type":"object","properties":{"type":{"type":"string","const":"assistant.transcript.delta","description":"Selects the value type."},"text":{"type":"string","description":"Text for this record."}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","const":"assistant.audio.start","description":"Selects the value type."}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"assistant.audio.end","description":"Selects the value type."}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"user.interrupted","description":"Selects the value type."},"spokenText":{"type":"string","description":"Spoken text for this record."},"elapsedMs":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Elapsed ms for this record."}},"required":["type","spokenText","elapsedMs"]},{"type":"object","properties":{"type":{"type":"string","const":"tool.call","description":"Selects the value type."},"callId":{"type":"string","description":"Identifies the referenced call."},"name":{"type":"string","description":"Human-readable name."},"arguments":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Arguments for this record."}},"required":["type","callId","name","arguments"]},{"type":"object","properties":{"type":{"type":"string","const":"dtmf","description":"Selects the value type."},"digit":{"type":"string","description":"Digit for this record."}},"required":["type","digit"]},{"type":"object","properties":{"type":{"type":"string","const":"session.end","description":"Selects the value type."},"reason":{"type":"string","enum":["user_ended","caller_hung_up","transport_closed","phone_access_revoked","plan_required","error"],"description":"Allowed reason value."}},"required":["type","reason"]}]},"description":"Events, in order."}},"required":["events"],"description":"Transport events to feed the session engine."},"example":{"events":[{"type":"user.transcript","text":"example","final":false}]}}},"description":"Fields used to relay realtime events into the session engine. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/athena/voice/{id}":{"delete":{"operationId":"deleteV1MeAthenaVoiceById","summary":"End a voice session","tags":["Athena"],"description":"## Purpose\n\nEnd a voice session.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nClose the live session and stamp the conversation with how it ended.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"ended":{"type":"boolean","description":"Ended for this record."}},"required":["ended"]},"example":{"ended":false}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/account/profile":{"get":{"operationId":"getV1MeAccountProfile","summary":"Get profile settings","tags":["Me"],"description":"## Purpose\n\nGet profile settings.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn the signed-in person's editable name, email, and profile image.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAccountProfileResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"patch":{"operationId":"patchV1MeAccountProfile","summary":"Update profile settings","tags":["Me"],"description":"## Purpose\n\nUpdate profile settings.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nUpdate the signed-in person's name or profile image. Docket stores an uploaded image before returning the new profile. Set the image to null to remove it.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAccountProfileResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120,"description":"Human-readable name."},"image":{"anyOf":[{"$ref":"#/components/schemas/Shared331ee649"},{"type":"null"}],"description":"Image for this record."}},"description":"Editable caller-owned profile settings."},"example":{}}},"description":"Fields used to update profile settings. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/account":{"get":{"operationId":"getV1MeAccount","summary":"Get account status","tags":["Me"],"description":"## Purpose\n\nGet account status.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn the caller's complete **account end-of-life status** in one read — the data behind the personal-workspace *Export data* and *Danger zone* settings. Reports the deletion state (`active` vs `pending_deletion`) with its `deletionRequestedAt`/`deleteAfterAt` timestamps, the set of **ownership blockers** (shared orgs the caller is the sole active owner of, which must be transferred or deleted before the account can be removed), and the caller's latest data export (status + download link when ready, else null).\n\nComputed by scanning the caller's Hub deletion fields, recomputing ownership blockers, and loading the latest export — all in parallel. Read-only; session-only, no capability (no step-up needed just to view status). **401** when unauthenticated. Related: `DELETE /me/account` (schedule deletion), `POST /me/account/reactivation` (cancel it), `GET /me/account/exports`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAccountResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"delete":{"operationId":"deleteV1MeAccount","summary":"Schedule account deletion","tags":["Me"],"description":"## Purpose\n\nSchedule account deletion.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nSchedule the caller's account for deletion after a 14-day recovery period and return the updated account status. `deleteAfterAt` identifies the purge time. Until then, `GET /me/account` shows the schedule and `POST /me/account/reactivation` cancels it.\n\nThe request requires a session created within the last five minutes. An older session returns 401 `reauth_required`; complete passkey verification and retry. Docket returns 409 `deletion_blocked` when the caller is the only active owner of a shared organization. Transfer ownership or delete each organization listed in the account status before retrying.\n\nOn success, Docket marks the account as `pending_deletion`, queues a fresh account export, and sends a confirmation email. The later purge permanently removes the account.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse2293bb9b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/account/reactivation":{"post":{"operationId":"postV1MeAccountReactivation","summary":"Cancel account deletion","tags":["Me"],"description":"## Purpose\n\nCancel account deletion.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nRecover an account that is scheduled for deletion — the inverse of `DELETE /me/account`. Modelled as creating a *reactivation* on the account resource. **Side effects:** clears the Hub's `pending_deletion` state (returning it to `active`, clearing `deletionRequestedAt`/`deleteAfterAt` so the cron purge will not run) and emails a deletion-canceled confirmation. Returns the refreshed account status.\n\nOnly effective during the grace window, before the cron sweep has purged the account. Unlike scheduling, cancellation does **not** require a fresh/step-up session — recovering access should be low-friction — but it does require an authenticated session (no capability). **401** when unauthenticated. Related: `DELETE /me/account`, `GET /me/account`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse2293bb9b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/account/exports/options":{"get":{"operationId":"getV1MeAccountExportsOptions","summary":"Get account export options","tags":["Me"],"description":"## Purpose\n\nGet account export options.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn the authenticated user's delivery email and current workspace memberships for the selective personal-data export form. The server is authoritative for selectable workspace ids; the create endpoint validates them again before queuing an archive.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"deliveryEmail":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","description":"Email address used for archive-ready notifications."},"workspaces":{"type":"array","items":{"$ref":"#/components/schemas/AccountExportWorkspace"},"description":"Current selectable workspaces."}},"required":["deliveryEmail","workspaces"],"description":"Selectable data-export options."},"example":{"deliveryEmail":"developer@example.com","workspaces":[{"id":"example","name":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/account/exports":{"get":{"operationId":"getV1MeAccountExports","summary":"List account exports","tags":["Me"],"description":"## Purpose\n\nList account exports.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nList the caller's **personal-data export** jobs, newest first. Each export is an asynchronous job that bundles the user's data into a downloadable ZIP archive; the list shows each job's lifecycle status (`pending`/`ready`/`failed`/`expired`), request/ready/expiry timestamps, and a `downloadUrl` that is populated only once the archive is `ready` (and stops being offered after it expires).\n\nUser-scoped to `session.user.id`; read-only; session-only, no capability. **401** when unauthenticated. Related: `POST /me/account/exports` to request one, `GET /me/account/exports/:exportId` for a single job, and the binary download at `GET /me/account/exports/:exportId/file`.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AccountExportOut"},"description":"The caller's export jobs ordered newest-first by `requestedAt`. Empty when they have never requested an export."}},"required":["items"],"description":"The user's personal-data exports, newest first."},"example":{"items":[{"id":"example","status":"pending","origin":"manual","scope":{"categories":["account"],"workspaces":[{"id":"example","name":"example"}],"allWorkspaces":false},"requestedAt":"2026-09-19T12:00:00.000Z","readyAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z","downloadUrl":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"post":{"operationId":"postV1MeAccountExports","summary":"Request an account export","tags":["Me"],"description":"## Purpose\n\nRequest an account export.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nRequest a personal-data export for the selected account, personal, and workspace categories. Docket returns an existing pending manual export with 200 instead of creating another one. When no manual export is pending, Docket creates a job and returns 201. In both cases, `Location` points to `/v1/me/account/exports/:exportId`.\n\nThe job begins as `pending` and later becomes `ready` with a download URL or `failed`. Poll the URL in `Location` for status, then download the ready file through `GET /v1/me/account/exports/:exportId/file`. Scheduling account deletion also requests an export automatically.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountExportOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"categories":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Shared61b9c479"},"description":"Categories, in order."},"workspaceIds":{"type":"array","items":{"type":"string"},"description":"Workspace ids, in order."}},"required":["categories","workspaceIds"],"description":"Requested categories and workspaces for a new archive."},"example":{"categories":["account"],"workspaceIds":["example"]}}},"description":"Fields used to request an account export. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/account/exports/{exportId}":{"get":{"operationId":"getV1MeAccountExportsByExportId","summary":"Get an account export","tags":["Me"],"description":"## Purpose\n\nGet an account export.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nFetch a single personal-data export job by `:exportId` — used to poll a queued export until it becomes `ready` (at which point `downloadUrl`/`readyAt`/`expiresAt` are populated). The lookup is constrained to `(id, userId = session.user.id)`, so a caller can only ever read their own export; an id that doesn't exist or isn't theirs returns **404 Not Found** (existence-hiding).\n\nRead-only; session-only, no capability. **401** when unauthenticated. The JSON returned here describes the job; the actual archive bytes are streamed by the separate binary sub-resource `GET /me/account/exports/:exportId/file`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountExportOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"exportId","required":true,"description":"Identifier of the export selected by this path parameter."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena":{"get":{"operationId":"getV1MeAthena","summary":"Get the personal Athena overview","tags":["Athena"],"description":"## Purpose\n\nGet the personal Athena overview.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn only the authenticated user’s Athena work as independently bounded Needs you, Working, and Finished pages with exact all-history counts, lane-specific continuation cursors, and the current persistent chat. Pass `workspaceId` to narrow the lanes and counts to work started in one workspace.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAthenaResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter061b7510"},{"$ref":"#/components/parameters/SharedParameterbb318af3"},{"$ref":"#/components/parameters/SharedParameter362e67f7"},{"$ref":"#/components/parameters/SharedParameterdb2b80f5"},{"$ref":"#/components/parameters/SharedParameter66507941"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/pulse":{"get":{"operationId":"getV1MeAthenaPulse","summary":"Get compact personal Athena counts","tags":["Athena"],"description":"## Purpose\n\nGet compact personal Athena counts.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn only Needs you and Working counts for the ambient closed-dock pulse without loading private session history or activity.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"needsYou":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Sessions awaiting owner input."},"working":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Pending or actively running sessions."}},"required":["needsYou","working"],"additionalProperties":false,"description":"Compact personal Athena pulse counts."},"example":{"needsYou":0,"working":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/changes/{changeSetId}/undo":{"post":{"operationId":"postV1MeAthenaChangesByChangeSetIdUndo","summary":"Undo one Athena change","tags":["Athena"],"description":"## Purpose\n\nUndo one Athena change.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReverse one change made in a caller-owned Athena session or confirmed from a caller-owned planning draft, but only when no later change touched the same fields or relationships. Pass the `changeSetId` returned by `POST /v1/me/plans/{id}/commit`. Undoing a plan commit returns its created nodes to `draft`, so `GET /v1/me/plans/{id}` shows them ready to confirm again. A change set owned by another user, unrelated to a session or plan, or already undone returns 404.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse29b1e2d4"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameterb8e2791f"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/chat":{"get":{"operationId":"getV1MeAthenaChat","summary":"Get the current personal chat","tags":["Athena"],"description":"## Purpose\n\nGet the current personal chat.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nReturn the caller’s newest persistent Athena chat with a bounded newest activity window ordered oldest-first, lazily creating the first private chat when none exists. Use the activity cursor for older history and the newest activity id as Last-Event-ID for incremental SSE.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsefbb0c535"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter45c79f35"},{"$ref":"#/components/parameters/SharedParameterbe810a21"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/chat/segments":{"get":{"operationId":"getV1MeAthenaChatSegments","summary":"List the conversation’s topics","tags":["Athena"],"description":"## Purpose\n\nList the conversation’s topics.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn the automatically derived topic segments of the caller’s one Athena conversation, oldest first. Segments are computed from the conversation itself — there is no “new topic” action — and each carries the activity id to jump to.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"string","description":"Identifies the referenced session."},"revision":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Revision for this record."},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"ordinal":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Ordinal for this record."},"title":{"type":"string","description":"Human-readable title."},"keywords":{"type":"array","items":{"type":"string"},"description":"Keywords, in order."},"startActivityId":{"type":"string","description":"Identifies the referenced start activity."},"endActivityId":{"type":"string","description":"Identifies the referenced end activity."},"startedAt":{"type":"string","description":"Started time as an ISO 8601 instant."},"endedAt":{"type":"string","description":"Ended time as an ISO 8601 instant."},"messageCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Message count."},"boundaryScore":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Boundary score for this record."}},"required":["id","ordinal","title","keywords","startActivityId","endActivityId","startedAt","endedAt","messageCount","boundaryScore"]},"description":"Items, in order."}},"required":["sessionId","revision","items"]},"example":{"sessionId":"example","revision":0,"items":[{"id":"example","ordinal":0,"title":"example","keywords":["example"],"startActivityId":"example","endActivityId":"example","startedAt":"2026-09-19T12:00:00.000Z","endedAt":"2026-09-19T12:00:00.000Z","messageCount":0,"boundaryScore":0}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/chat/chapters":{"get":{"operationId":"getV1MeAthenaChatChapters","summary":"List saved conversation places","tags":["Athena"],"description":"## Purpose\n\nList saved conversation places.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn the caller’s named places in the current Athena conversation.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"string","description":"Identifies the referenced session."},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"title":{"type":"string","description":"Human-readable title."},"startActivityId":{"type":"string","description":"Identifies the referenced start activity."},"endActivityId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced end activity."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"updatedAt":{"type":"string","description":"The last change time as an ISO 8601 instant."}},"required":["id","title","startActivityId","endActivityId","createdAt","updatedAt"]},"description":"Items, in order."}},"required":["sessionId","items"]},"example":{"sessionId":"example","items":[{"id":"example","title":"example","startActivityId":"example","endActivityId":"example","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"post":{"operationId":"postV1MeAthenaChatChapters","summary":"Save a starting point in the conversation","tags":["Athena"],"description":"## Purpose\n\nSave a starting point in the conversation.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nSave one owner-only named place at a visible message in the current conversation.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1MeAthenaChatChaptersResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"startActivityId":{"type":"string","minLength":1,"description":"Identifies the referenced start activity."},"title":{"type":"string","minLength":1,"maxLength":80,"description":"Human-readable title."}},"required":["startActivityId","title"]},"example":{"startActivityId":"example","title":"example"}}},"description":"Fields used to save a starting point in the conversation. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/athena/chat/chapters/{chapterId}":{"put":{"operationId":"putV1MeAthenaChatChaptersByChapterId","summary":"Mark where a saved place finishes","tags":["Athena"],"description":"## Purpose\n\nMark where a saved place finishes.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nFinish the caller’s open saved place at a later message.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1MeAthenaChatChaptersResponse201"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"endActivityId":{"type":"string","minLength":1,"description":"Identifies the referenced end activity."}},"required":["endActivityId"]},"example":{"endActivityId":"example"}}},"description":"Fields used to mark where a saved place finishes. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1MeAthenaChatChaptersByChapterId","summary":"Remove a saved conversation place","tags":["Athena"],"description":"## Purpose\n\nRemove a saved conversation place.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove the caller’s saved markers without deleting conversation activity.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Deleted for this record."}},"required":["deleted"]},"example":{"deleted":false}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameterfc53c129"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/athena/chat/search":{"get":{"operationId":"getV1MeAthenaChatSearch","summary":"Search the conversation","tags":["Athena"],"description":"## Purpose\n\nSearch the conversation.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nSearch every Athena conversation the caller owns by keyword, by inclusive date range, or by both. Every message containing a query term is returned with the matched character ranges; a query that matches nothing returns an empty result rather than a partial one.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"activityId":{"type":"string","description":"Identifies the referenced activity."},"sessionId":{"type":"string","description":"Identifies the referenced session."},"author":{"type":"string","enum":["user","athena"],"description":"Allowed author value."},"text":{"type":"string","description":"Text for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"highlights":{"type":"array","items":{"type":"object","properties":{"start":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Start for this record."},"end":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"End for this record."}},"required":["start","end"]},"description":"Highlights, in order."},"lexical":{"type":"boolean","description":"Lexical for this record."}},"required":["activityId","sessionId","author","text","createdAt","highlights","lexical"]},"description":"Items, in order."},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Total for this record."},"semantic":{"type":"boolean","description":"Semantic for this record."},"terms":{"type":"array","items":{"type":"string"},"description":"Terms, in order."}},"required":["items","total","semantic","terms"]},"example":{"items":[{"activityId":"example","sessionId":"example","author":"user","text":"example","createdAt":"2026-09-19T12:00:00.000Z","highlights":[{"start":0,"end":0}],"lexical":false}],"total":0,"semantic":false,"terms":["example"]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9e1062ab"},{"in":"query","name":"from","schema":{"$ref":"#/components/schemas/Shared70a93fb8"},"description":"Earliest date or instant to include, using the format documented below."},{"in":"query","name":"to","schema":{"$ref":"#/components/schemas/Shared70a93fb8"},"description":"Latest date or instant to include, using the format documented below."},{"$ref":"#/components/parameters/SharedParametercffa9333"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/agents/stream":{"get":{"operationId":"streamPersonalAgentUpdates","summary":"Stream every running agent’s updates (SSE)","tags":["Athena"],"description":"## Purpose\n\nDeliver the merged progress feed for every agent owned by the caller.\n\n## Inputs and constraints\n\n- The numeric sequence is process-local, so every Last-Event-ID value is rejected.\n\n## Result and side effects\n\n- Replays up to 2,000 updates retained by this process and then emits new updates.\n- Each frame identifies the agent session, task, milestone, and progress state.\n\n## Access and permissions\n\nA first-party Docket session is required. OAuth access tokens are not accepted.\n\nNo workspace capability is required.\n\n## Failures and recovery\n\n- `unauthorized` (HTTP 401) — Docket could not find a valid session for this request.\n- `validation_error` (HTTP 422) — One or more fields could not be accepted.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Merged agent updates as Server-Sent Events.","content":{"text/event-stream":{"schema":{"type":"string"},"examples":{"agent_started":{"summary":"One process-local agent_started update for an agent owned by the caller.","value":"event: agent_started\ndata: {\"sequence\":1,\"sessionId\":\"session_01\",\"parentSessionId\":null,\"taskId\":null,\"agentName\":\"Athena\",\"milestone\":\"Example agent_started\",\"progress\":null,\"reasonCode\":null,\"at\":\"2026-09-13T12:00:00.000Z\"}\n\n"},"agent_progress":{"summary":"One process-local agent_progress update for an agent owned by the caller.","value":"event: agent_progress\ndata: {\"sequence\":2,\"sessionId\":\"session_01\",\"parentSessionId\":null,\"taskId\":null,\"agentName\":\"Athena\",\"milestone\":\"Example agent_progress\",\"progress\":null,\"reasonCode\":null,\"at\":\"2026-09-13T12:00:00.000Z\"}\n\n"},"agent_blocked":{"summary":"One process-local agent_blocked update for an agent owned by the caller.","value":"event: agent_blocked\ndata: {\"sequence\":3,\"sessionId\":\"session_01\",\"parentSessionId\":null,\"taskId\":null,\"agentName\":\"Athena\",\"milestone\":\"Example agent_blocked\",\"progress\":null,\"reasonCode\":\"example_reason\",\"at\":\"2026-09-13T12:00:00.000Z\"}\n\n"},"agent_completed":{"summary":"One process-local agent_completed update for an agent owned by the caller.","value":"event: agent_completed\ndata: {\"sequence\":4,\"sessionId\":\"session_01\",\"parentSessionId\":null,\"taskId\":null,\"agentName\":\"Athena\",\"milestone\":\"Example agent_completed\",\"progress\":100,\"reasonCode\":null,\"at\":\"2026-09-13T12:00:00.000Z\"}\n\n"},"agent_failed":{"summary":"One process-local agent_failed update for an agent owned by the caller.","value":"event: agent_failed\ndata: {\"sequence\":5,\"sessionId\":\"session_01\",\"parentSessionId\":null,\"taskId\":null,\"agentName\":\"Athena\",\"milestone\":\"Example agent_failed\",\"progress\":null,\"reasonCode\":\"example_reason\",\"at\":\"2026-09-13T12:00:00.000Z\"}\n\n"}},"x-docket-events":[{"name":"agent_started","description":"One process-local agent_started update for an agent owned by the caller.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"sequence":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"sessionId":{"type":"string"},"parentSessionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}]},"agentName":{"type":"string"},"milestone":{"type":"string"},"progress":{"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"null"}]},"reasonCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"at":{"type":"string","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))$"}},"required":["sequence","sessionId","parentSessionId","taskId","agentName","milestone","progress","reasonCode","at"],"additionalProperties":false,"description":"One merged Athena agent progress update."},"example":"event: agent_started\ndata: {\"sequence\":1,\"sessionId\":\"session_01\",\"parentSessionId\":null,\"taskId\":null,\"agentName\":\"Athena\",\"milestone\":\"Example agent_started\",\"progress\":null,\"reasonCode\":null,\"at\":\"2026-09-13T12:00:00.000Z\"}\n\n"},{"name":"agent_progress","description":"One process-local agent_progress update for an agent owned by the caller.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"sequence":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"sessionId":{"type":"string"},"parentSessionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}]},"agentName":{"type":"string"},"milestone":{"type":"string"},"progress":{"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"null"}]},"reasonCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"at":{"type":"string","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))$"}},"required":["sequence","sessionId","parentSessionId","taskId","agentName","milestone","progress","reasonCode","at"],"additionalProperties":false,"description":"One merged Athena agent progress update."},"example":"event: agent_progress\ndata: {\"sequence\":2,\"sessionId\":\"session_01\",\"parentSessionId\":null,\"taskId\":null,\"agentName\":\"Athena\",\"milestone\":\"Example agent_progress\",\"progress\":null,\"reasonCode\":null,\"at\":\"2026-09-13T12:00:00.000Z\"}\n\n"},{"name":"agent_blocked","description":"One process-local agent_blocked update for an agent owned by the caller.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"sequence":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"sessionId":{"type":"string"},"parentSessionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}]},"agentName":{"type":"string"},"milestone":{"type":"string"},"progress":{"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"null"}]},"reasonCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"at":{"type":"string","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))$"}},"required":["sequence","sessionId","parentSessionId","taskId","agentName","milestone","progress","reasonCode","at"],"additionalProperties":false,"description":"One merged Athena agent progress update."},"example":"event: agent_blocked\ndata: {\"sequence\":3,\"sessionId\":\"session_01\",\"parentSessionId\":null,\"taskId\":null,\"agentName\":\"Athena\",\"milestone\":\"Example agent_blocked\",\"progress\":null,\"reasonCode\":\"example_reason\",\"at\":\"2026-09-13T12:00:00.000Z\"}\n\n"},{"name":"agent_completed","description":"One process-local agent_completed update for an agent owned by the caller.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"sequence":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"sessionId":{"type":"string"},"parentSessionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}]},"agentName":{"type":"string"},"milestone":{"type":"string"},"progress":{"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"null"}]},"reasonCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"at":{"type":"string","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))$"}},"required":["sequence","sessionId","parentSessionId","taskId","agentName","milestone","progress","reasonCode","at"],"additionalProperties":false,"description":"One merged Athena agent progress update."},"example":"event: agent_completed\ndata: {\"sequence\":4,\"sessionId\":\"session_01\",\"parentSessionId\":null,\"taskId\":null,\"agentName\":\"Athena\",\"milestone\":\"Example agent_completed\",\"progress\":100,\"reasonCode\":null,\"at\":\"2026-09-13T12:00:00.000Z\"}\n\n"},{"name":"agent_failed","description":"One process-local agent_failed update for an agent owned by the caller.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"sequence":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"sessionId":{"type":"string"},"parentSessionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}]},"agentName":{"type":"string"},"milestone":{"type":"string"},"progress":{"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"null"}]},"reasonCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"at":{"type":"string","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))$"}},"required":["sequence","sessionId","parentSessionId","taskId","agentName","milestone","progress","reasonCode","at"],"additionalProperties":false,"description":"One merged Athena agent progress update."},"example":"event: agent_failed\ndata: {\"sequence\":5,\"sessionId\":\"session_01\",\"parentSessionId\":null,\"taskId\":null,\"agentName\":\"Athena\",\"milestone\":\"Example agent_failed\",\"progress\":null,\"reasonCode\":\"example_reason\",\"at\":\"2026-09-13T12:00:00.000Z\"}\n\n"}]}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"x-docket-access":{"kind":"session-only"},"x-docket-errors":["unauthorized","validation_error"],"x-docket-conditional-read":false,"x-docket-conditional-write":false,"x-docket-idempotency":false,"x-docket-related-operations":[],"x-docket-stream-resume":{"kind":"none","description":"Reconnect without Last-Event-ID after the process or connection changes."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/chat/new":{"post":{"operationId":"postV1MeAthenaChatNew","summary":"Start a fresh personal chat","tags":["Athena"],"description":"## Purpose\n\nStart a fresh personal chat.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a fresh current Athena chat while preserving every older private chat and its history for owner-only session reads.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"$ref":"#/components/responses/SharedResponse7340ad9d"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"context":{"$ref":"#/components/schemas/AthenaInvocationContext","description":"Context for this record."}},"additionalProperties":false,"description":"Start a fresh personal Athena chat."},"example":{}}},"description":"Fields used to start a fresh personal chat. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/chat/messages":{"post":{"operationId":"postV1MeAthenaChatMessages","summary":"Message the current personal chat","tags":["Athena"],"description":"## Purpose\n\nMessage the current personal chat.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nAppend a private user message to the current chat, validate optional invocation focus, and synchronously drive the existing in-process Athena runner.\n\n`200` - Docket completed the action and returned its result.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse69bc3cd5"},"202":{"$ref":"#/components/responses/SharedResponse593f0b8c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1MeAthenaChatMessagesRequest"}}},"description":"Fields used to message the current personal chat. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/sessions":{"get":{"operationId":"getV1MeAthenaSessions","summary":"List grouped personal Athena work","tags":["Athena"],"description":"## Purpose\n\nList grouped personal Athena work.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nList caller-owned Athena sessions as independently paginated product lanes with exact all-history counts; lane-bound cursors cannot be reused across Needs you, Working, and Finished, and registered agents or other users never appear. Pass `workspaceId` to narrow the lanes and counts to work started in one workspace.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAthenaResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter061b7510"},{"$ref":"#/components/parameters/SharedParameterbb318af3"},{"$ref":"#/components/parameters/SharedParameter362e67f7"},{"$ref":"#/components/parameters/SharedParameterdb2b80f5"},{"$ref":"#/components/parameters/SharedParameter66507941"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1MeAthenaSessions","summary":"Create personal Athena work","tags":["Athena"],"description":"## Purpose\n\nCreate personal Athena work.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nValidate optional workspace/source invocation context, default context-free work to the caller's Personal workspace, create caller-owned episodic work, and settle it through the existing runner.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"$ref":"#/components/responses/SharedResponse7340ad9d"},"202":{"$ref":"#/components/responses/SharedResponse593f0b8c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"description":"The user-authored objective for this personal work."},"context":{"$ref":"#/components/schemas/AthenaInvocationContext","description":"Context for this record."}},"required":["prompt"],"additionalProperties":false,"description":"Create personal Athena work."},"example":{"prompt":"example"}}},"description":"Fields used to create personal Athena work. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/athena/sessions/{id}":{"get":{"operationId":"getV1MeAthenaSessionsById","summary":"Get personal Athena work","tags":["Athena"],"description":"## Purpose\n\nGet personal Athena work.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nReturn one caller-owned Athena session and a bounded newest application-visible work-log window ordered oldest-first. Follow activityNextCursor for older windows, then use the newest loaded activity id as Last-Event-ID for incremental SSE; ownership mismatches are hidden as not found.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsefbb0c535"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter45c79f35"},{"$ref":"#/components/parameters/SharedParameterbe810a21"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/sessions/{id}/messages":{"post":{"operationId":"postV1MeAthenaSessionsByIdMessages","summary":"Steer personal Athena work","tags":["Athena"],"description":"## Purpose\n\nSteer personal Athena work.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAppend an owner-authored steering message, resume eligible work through the durable transcript, and return the freshly settled private detail. Canceled work rejects with an application-owned conflict before activity or transcript mutation.\n\n`200` - Docket completed the action and returned its result.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse69bc3cd5"},"202":{"$ref":"#/components/responses/SharedResponse593f0b8c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1MeAthenaChatMessagesRequest"}}},"description":"Fields used to steer personal Athena work. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/athena/sessions/{id}/run":{"post":{"operationId":"postV1MeAthenaSessionsByIdRun","summary":"Run personal Athena work","tags":["Athena"],"description":"## Purpose\n\nRun personal Athena work.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nSynchronously drive caller-owned pending or running Athena work through the current in-process runner and return its freshly settled detail.\n\n`200` - Docket completed the action and returned its result.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse69bc3cd5"},"202":{"$ref":"#/components/responses/SharedResponse593f0b8c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{}},"example":{}}},"description":"Fields used to run personal Athena work. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/athena/sessions/{id}/activity":{"get":{"operationId":"getV1MeAthenaSessionsByIdActivity","summary":"List personal Athena activity","tags":["Athena"],"description":"## Purpose\n\nList personal Athena activity.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nReturn a bounded newest JSON work-log window for one caller-owned Athena session, ordered oldest-first within the page. Follow nextCursor backward for older windows, then pass the newest loaded activity id as Last-Event-ID to the sibling stream route for incremental live delivery.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse4ec5f124"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter45c79f35"},{"$ref":"#/components/parameters/SharedParameterbe810a21"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/sessions/{id}/stream":{"get":{"operationId":"streamPersonalAthenaSessionActivity","summary":"Stream personal Athena activity (SSE)","tags":["Athena"],"description":"## Purpose\n\nReplay and live-tail the activity of one caller-owned Athena session.\n\n## Inputs and constraints\n\n- Older history remains available through the paginated JSON activity operation.\n- An unknown or expired Last-Event-ID fails before the stream opens.\n\n## Result and side effects\n\n- A new connection receives the newest 100 persisted activities before live updates.\n- A recognized Last-Event-ID resumes strictly after that persisted activity.\n\n## Access and permissions\n\nA first-party Docket session is required. OAuth access tokens are not accepted.\n\nNo workspace capability is required.\n\n## Failures and recovery\n\n- `unauthorized` (HTTP 401) — Docket could not find a valid session for this request.\n- `not_found` (HTTP 404) — The address may be wrong, or the item may no longer be available.\n- `validation_error` (HTTP 422) — One or more fields could not be accepted.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Personal session activity as a resumable Server-Sent Events stream.","content":{"text/event-stream":{"schema":{"type":"string"},"examples":{"thought":{"summary":"One persisted thought activity from the agent session.","value":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: thought\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"thought\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},"action":{"summary":"One persisted action activity from the agent session.","value":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: action\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"type\":\"action\",\"body\":{\"action\":{\"kind\":\"capture\",\"summary\":\"Create the task\"}},\"approvalStatus\":\"proposed\",\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},"response":{"summary":"One persisted response activity from the agent session.","value":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: response\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"response\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},"elicitation":{"summary":"One persisted elicitation activity from the agent session.","value":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: elicitation\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"elicitation\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},"error":{"summary":"One persisted error activity from the agent session.","value":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: error\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"error\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"}},"x-docket-events":[{"name":"thought","description":"One persisted thought activity from the agent session.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The activity entry id — also the SSE event id on `GET /:id/stream`, usable as `Last-Event-ID` to resume."},"sessionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The session this entry belongs to."},"organizationId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},{"type":"null"}],"description":"The workspace an action targets, or null for workspace-neutral personal activity."},"type":{"type":"string","enum":["thought","action","response","elicitation","error"],"description":"The kind of entry (thought/action/response/elicitation/error)."},"body":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The type-specific payload: `{ text }` for thought/response/elicitation/error, or `{ action: { kind, summary, diff? } }` for an `action` entry describing the proposed mutation."},"approvalStatus":{"description":"For `action` entries, the gate state (proposed/approved/rejected/applied); null/absent for non-action entries, which are never gated.","anyOf":[{"type":"string","enum":["proposed","approved","rejected","applied","failed"],"description":"Where a gated `action` sits in the approval gate: `proposed` (awaiting a human decision — parks the session in `awaiting_approval`); `approved` (a human cleared it — transient before apply, used by the session-level shortcut); `rejected` (a human vetoed it — never applies); `applied` (approved AND its effect has been applied — the gate's terminal success state, set by the activity-scoped approve route); `failed` (approved and attempted, but the tool reported an error — nothing changed; the action's `result` carries the error)."},{"type":"null"}]},"createdAt":{"type":"string","description":"ISO-8601 timestamp the entry was appended — the stream sort key (ascending)."}},"required":["id","sessionId","organizationId","type","body","createdAt"],"additionalProperties":false,"description":"An entry in a session's Activity stream."},"example":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: thought\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"thought\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},{"name":"action","description":"One persisted action activity from the agent session.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The activity entry id — also the SSE event id on `GET /:id/stream`, usable as `Last-Event-ID` to resume."},"sessionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The session this entry belongs to."},"organizationId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},{"type":"null"}],"description":"The workspace an action targets, or null for workspace-neutral personal activity."},"type":{"type":"string","enum":["thought","action","response","elicitation","error"],"description":"The kind of entry (thought/action/response/elicitation/error)."},"body":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The type-specific payload: `{ text }` for thought/response/elicitation/error, or `{ action: { kind, summary, diff? } }` for an `action` entry describing the proposed mutation."},"approvalStatus":{"description":"For `action` entries, the gate state (proposed/approved/rejected/applied); null/absent for non-action entries, which are never gated.","anyOf":[{"type":"string","enum":["proposed","approved","rejected","applied","failed"],"description":"Where a gated `action` sits in the approval gate: `proposed` (awaiting a human decision — parks the session in `awaiting_approval`); `approved` (a human cleared it — transient before apply, used by the session-level shortcut); `rejected` (a human vetoed it — never applies); `applied` (approved AND its effect has been applied — the gate's terminal success state, set by the activity-scoped approve route); `failed` (approved and attempted, but the tool reported an error — nothing changed; the action's `result` carries the error)."},{"type":"null"}]},"createdAt":{"type":"string","description":"ISO-8601 timestamp the entry was appended — the stream sort key (ascending)."}},"required":["id","sessionId","organizationId","type","body","createdAt"],"additionalProperties":false,"description":"An entry in a session's Activity stream."},"example":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: action\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"type\":\"action\",\"body\":{\"action\":{\"kind\":\"capture\",\"summary\":\"Create the task\"}},\"approvalStatus\":\"proposed\",\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},{"name":"response","description":"One persisted response activity from the agent session.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The activity entry id — also the SSE event id on `GET /:id/stream`, usable as `Last-Event-ID` to resume."},"sessionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The session this entry belongs to."},"organizationId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},{"type":"null"}],"description":"The workspace an action targets, or null for workspace-neutral personal activity."},"type":{"type":"string","enum":["thought","action","response","elicitation","error"],"description":"The kind of entry (thought/action/response/elicitation/error)."},"body":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The type-specific payload: `{ text }` for thought/response/elicitation/error, or `{ action: { kind, summary, diff? } }` for an `action` entry describing the proposed mutation."},"approvalStatus":{"description":"For `action` entries, the gate state (proposed/approved/rejected/applied); null/absent for non-action entries, which are never gated.","anyOf":[{"type":"string","enum":["proposed","approved","rejected","applied","failed"],"description":"Where a gated `action` sits in the approval gate: `proposed` (awaiting a human decision — parks the session in `awaiting_approval`); `approved` (a human cleared it — transient before apply, used by the session-level shortcut); `rejected` (a human vetoed it — never applies); `applied` (approved AND its effect has been applied — the gate's terminal success state, set by the activity-scoped approve route); `failed` (approved and attempted, but the tool reported an error — nothing changed; the action's `result` carries the error)."},{"type":"null"}]},"createdAt":{"type":"string","description":"ISO-8601 timestamp the entry was appended — the stream sort key (ascending)."}},"required":["id","sessionId","organizationId","type","body","createdAt"],"additionalProperties":false,"description":"An entry in a session's Activity stream."},"example":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: response\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"response\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},{"name":"elicitation","description":"One persisted elicitation activity from the agent session.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The activity entry id — also the SSE event id on `GET /:id/stream`, usable as `Last-Event-ID` to resume."},"sessionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The session this entry belongs to."},"organizationId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},{"type":"null"}],"description":"The workspace an action targets, or null for workspace-neutral personal activity."},"type":{"type":"string","enum":["thought","action","response","elicitation","error"],"description":"The kind of entry (thought/action/response/elicitation/error)."},"body":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The type-specific payload: `{ text }` for thought/response/elicitation/error, or `{ action: { kind, summary, diff? } }` for an `action` entry describing the proposed mutation."},"approvalStatus":{"description":"For `action` entries, the gate state (proposed/approved/rejected/applied); null/absent for non-action entries, which are never gated.","anyOf":[{"type":"string","enum":["proposed","approved","rejected","applied","failed"],"description":"Where a gated `action` sits in the approval gate: `proposed` (awaiting a human decision — parks the session in `awaiting_approval`); `approved` (a human cleared it — transient before apply, used by the session-level shortcut); `rejected` (a human vetoed it — never applies); `applied` (approved AND its effect has been applied — the gate's terminal success state, set by the activity-scoped approve route); `failed` (approved and attempted, but the tool reported an error — nothing changed; the action's `result` carries the error)."},{"type":"null"}]},"createdAt":{"type":"string","description":"ISO-8601 timestamp the entry was appended — the stream sort key (ascending)."}},"required":["id","sessionId","organizationId","type","body","createdAt"],"additionalProperties":false,"description":"An entry in a session's Activity stream."},"example":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: elicitation\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"elicitation\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"},{"name":"error","description":"One persisted error activity from the agent session.","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The activity entry id — also the SSE event id on `GET /:id/stream`, usable as `Last-Event-ID` to resume."},"sessionId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The session this entry belongs to."},"organizationId":{"anyOf":[{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},{"type":"null"}],"description":"The workspace an action targets, or null for workspace-neutral personal activity."},"type":{"type":"string","enum":["thought","action","response","elicitation","error"],"description":"The kind of entry (thought/action/response/elicitation/error)."},"body":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The type-specific payload: `{ text }` for thought/response/elicitation/error, or `{ action: { kind, summary, diff? } }` for an `action` entry describing the proposed mutation."},"approvalStatus":{"description":"For `action` entries, the gate state (proposed/approved/rejected/applied); null/absent for non-action entries, which are never gated.","anyOf":[{"type":"string","enum":["proposed","approved","rejected","applied","failed"],"description":"Where a gated `action` sits in the approval gate: `proposed` (awaiting a human decision — parks the session in `awaiting_approval`); `approved` (a human cleared it — transient before apply, used by the session-level shortcut); `rejected` (a human vetoed it — never applies); `applied` (approved AND its effect has been applied — the gate's terminal success state, set by the activity-scoped approve route); `failed` (approved and attempted, but the tool reported an error — nothing changed; the action's `result` carries the error)."},{"type":"null"}]},"createdAt":{"type":"string","description":"ISO-8601 timestamp the entry was appended — the stream sort key (ascending)."}},"required":["id","sessionId","organizationId","type","body","createdAt"],"additionalProperties":false,"description":"An entry in a session's Activity stream."},"example":"id: 01ARZ3NDEKTSV4RRFFQ69G5FAX\nevent: error\ndata: {\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"sessionId\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"organizationId\":null,\"type\":\"error\",\"body\":{\"text\":\"Example activity\"},\"approvalStatus\":null,\"createdAt\":\"2026-09-13T12:00:00.000Z\"}\n\n"}]}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"name":"Last-Event-ID","in":"header","required":false,"description":"Resume after the exact persisted activity id previously received. Replay window: The newest 100 activities when the header is omitted.","schema":{"type":"string"}},{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"x-docket-access":{"kind":"session-only"},"x-docket-errors":["unauthorized","not_found","validation_error"],"x-docket-conditional-read":false,"x-docket-conditional-write":false,"x-docket-idempotency":false,"x-docket-related-operations":[],"x-docket-stream-resume":{"kind":"last-event-id","header":"Last-Event-ID","replayWindow":"The newest 100 activities when the header is omitted.","description":"Resume after the exact persisted activity id previously received."},"security":[{"sessionCookie":[]}]}},"/v1/me/athena/sessions/{id}/proposals":{"get":{"operationId":"getV1MeAthenaSessionsByIdProposals","summary":"List personal Athena proposals","tags":["Athena"],"description":"## Purpose\n\nList personal Athena proposals.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nList still-pending proposal groups in stable proposal-group-id order. Pages default to 50 groups, accept at most 100, and omit nextCursor at exhaustion. The session must belong to the caller.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponseb53a4b92"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/sessions/{id}/activity/{activityId}/proposal":{"patch":{"operationId":"patchV1MeAthenaSessionsByIdActivityByActivityIdProposal","summary":"Edit a personal Athena proposal","tags":["Athena"],"description":"## Purpose\n\nEdit a personal Athena proposal.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nReplace the stored input of one caller-owned still-pending proposal; approval later executes exactly the edited tool input.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse83ac9245"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameterd151d895"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchV1OrgsByOrgIdSessionsByIdActivityByActivityIdProposalRequest"}}},"description":"Fields used to edit a personal Athena proposal. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/athena/sessions/{id}/activity/{activityId}/decision":{"put":{"operationId":"putV1MeAthenaSessionsByIdActivityByActivityIdDecision","summary":"Decide a personal Athena action","tags":["Athena"],"description":"## Purpose\n\nDecide a personal Athena action.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nRecord the owner’s decision on one gated action in their private session, and return the decided activity. `decision: \"approved\"` clears the approval-policy gate — the owner needs no assign capability here, and the stored tool still reauthorizes them before it applies. `decision: \"rejected\"` leaves the stored mutation unapplied. Pass `scope: \"all_in_session\"` to decide every pending action at once. Only the authenticated owner may decide; the session is private, so another user’s request is 404 rather than 403. Answers 202 when the durable runner takes the work.\n\n`200` - Docket stored the change and returned the current representation.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse83ac9245"},"202":{"$ref":"#/components/responses/SharedResponse7696c58a"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameterd151d895"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"decision":{"$ref":"#/components/schemas/ApprovalDecision","description":"Decision for this record."},"scope":{"type":"string","enum":["this","all_in_session"],"description":"Allowed scope value."}},"required":["decision"]},"example":{"decision":"approved"}}},"description":"Fields used to decide a personal Athena action. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/athena/sessions/{id}/activity/{activityId}/reply":{"post":{"operationId":"postV1MeAthenaSessionsByIdActivityByActivityIdReply","summary":"Reply to a personal Athena question","tags":["Athena"],"description":"## Purpose\n\nReply to a personal Athena question.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAppend the owner’s answer to one elicitation, resume durable execution when possible, and return the new application-visible response activity.\n\n`200` - Docket completed the action and returned its result.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponseedd31343"},"202":{"$ref":"#/components/responses/SharedResponse7696c58a"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameterd151d895"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1MeAthenaChatMessagesRequest"}}},"description":"Fields used to reply to a personal Athena question. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/athena/sessions/{id}/proposals/{groupId}/decision":{"put":{"operationId":"putV1MeAthenaSessionsByIdProposalsByGroupIdDecision","summary":"Decide a personal proposal group","tags":["Athena"],"description":"## Purpose\n\nDecide a personal proposal group.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nRecord one decision across every pending action in a caller-owned proposal group — or the subset named by `activityIds` — and return the freshly settled private work. `decision: \"approved\"` reauthorizes each stored tool against the owner’s current permissions before applying it; `decision: \"rejected\"` applies none of them. Only the authenticated owner may decide. Answers 202 when the durable runner takes the work rather than finishing inline.\n\n`200` - Docket stored the change and returned the current representation.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAthenaChatResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"202":{"$ref":"#/components/responses/SharedResponse593f0b8c"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParametera34af5ed"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PutV1OrgsByOrgIdSessionsByIdProposalsByGroupIdDecisionRequest"}}},"description":"Fields used to decide a personal proposal group. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/athena/sessions/{id}/pause":{"post":{"operationId":"postV1MeAthenaSessionsByIdPause","summary":"Pause personal Athena work","tags":["Athena"],"description":"## Purpose\n\nPause personal Athena work.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nPause only caller-owned running Athena work into an awaiting-input state and return the updated private summary.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsef9e81eab"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/sessions/{id}/resume":{"post":{"operationId":"postV1MeAthenaSessionsByIdResume","summary":"Resume personal Athena work","tags":["Athena"],"description":"## Purpose\n\nResume personal Athena work.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nResume only caller-owned Athena work that is awaiting input and return its updated private product summary.\n\n`200` - Docket completed the action and returned its result.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsef9e81eab"},"202":{"$ref":"#/components/responses/SharedResponse448c7552"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/sessions/{id}/cancel":{"post":{"operationId":"postV1MeAthenaSessionsByIdCancel","summary":"Cancel personal Athena work","tags":["Athena"],"description":"## Purpose\n\nCancel personal Athena work.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nInterrupt caller-owned Athena work and everything it dispatched: every spawned agent beneath it is stopped, its live run generation canceled, and the interrupt watermark stamped so nothing keeps running or writing afterwards.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsef9e81eab"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/sessions/{id}/decision":{"put":{"operationId":"putV1MeAthenaSessionsByIdDecision","summary":"Decide the latest personal action","tags":["Athena"],"description":"## Purpose\n\nDecide the latest personal action.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nApprove or reject the private session’s latest pending action without naming its activity ID. Approval checks the owner’s current permissions before applying the action and then continues the session. Rejection cancels the session without applying the action. Only the authenticated owner may decide. Use `PUT /sessions/{id}/activity/{activityId}/decision` when the client must identify the exact action or choose a wider scope. Docket returns 202 with a monitor URL when execution continues asynchronously.\n\n`200` - Docket stored the change and returned the current representation.\n\n`202` - Docket accepted the work for processing. Follow the monitor URL in Location until it reaches a terminal state.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AthenaSessionSummaryOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"202":{"$ref":"#/components/responses/SharedResponse448c7552"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shared9f088645"}}},"description":"Fields used to decide the latest personal action. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/elicitations":{"get":{"operationId":"getV1MeElicitations","summary":"List the questions Athena is waiting on","tags":["Athena"],"description":"## Purpose\n\nList the questions Athena is waiting on.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nEvery elicitation addressed to the caller, pending ones first and oldest deadline first, each with the task it exists to implement.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Elicitation"},"description":"Items, in order."}},"required":["items"],"description":"Open elicitations addressed to the caller."},"example":{"items":[{"id":"example","sessionId":"example","task":{"id":"example","title":"example","href":"example"},"question":"example","actionSummary":"example","spec":{"kind":"predicate","field":"workTypeId","operator":"is","operand":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"status":"pending","timeoutPolicy":"derivable","timeSensitive":false,"expiresAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","settledAt":"2026-09-19T12:00:00.000Z","resolver":"user","answer":null,"autoResolveReason":"example","live":false}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/elicitations/presence":{"get":{"operationId":"getV1MeElicitationsPresence","summary":"Read whether the caller is being treated as present","tags":["Athena"],"description":"## Purpose\n\nRead whether the caller is being treated as present.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nWhether a question raised right now would be considered live for the caller, and when they were last seen watching.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeElicitationsPresenceResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"post":{"operationId":"postV1MeElicitationsPresence","summary":"Record that the caller is watching Athena","tags":["Athena"],"description":"## Purpose\n\nRecord that the caller is watching Athena.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nA heartbeat from an open, focused Athena surface. Questions raised while it is fresh are treated as live and answered in place; questions raised after it lapses are pushed instead.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeElicitationsPresenceResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"focused":{"type":"boolean","description":"Focused for this record."}},"required":["focused"],"description":"A heartbeat recording whether the caller is watching Athena right now."},"example":{"focused":false}}},"description":"Fields used to record that the caller is watching Athena. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/elicitations/{id}":{"get":{"operationId":"getV1MeElicitationsById","summary":"Read one question","tags":["Athena"],"description":"## Purpose\n\nRead one question.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nOne elicitation addressed to the caller, with the task it exists to implement.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Elicitation"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/elicitations/{id}/answer":{"post":{"operationId":"postV1MeElicitationsByIdAnswer","summary":"Answer one question","tags":["Athena"],"description":"## Purpose\n\nAnswer one question.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nValidate the submitted value against the question’s declared schema, record it as typed data, hand it to the waiting agent, and resume the work. An invalid answer is refused with field-level reasons and the question stays open.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Elicitation"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"description":"Stored or returned value."}},"required":["value"],"description":"An answer to one elicitation."},"example":{"value":null}}},"description":"Fields used to answer one question. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/elicitations/sweep":{"post":{"operationId":"postV1MeElicitationsSweep","summary":"Settle every question past its deadline","tags":["Athena"],"description":"## Purpose\n\nSettle every question past its deadline.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nRuns the deadline sweep for the caller’s own questions and the rest of the queue: a question with a declared, defensible default is answered by Athena with her reasoning recorded; every other overdue question is parked with nothing mutated.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"autoResolved":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Auto resolved for this record."},"parked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Parked for this record."}},"required":["autoResolved","parked"],"description":"How one elicitation deadline sweep settled the questions it found."},"example":{"autoResolved":0,"parked":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/web-push/config":{"get":{"operationId":"getV1MeWebPushConfig","summary":"Read the browser push application server key","tags":["Athena"],"description":"## Purpose\n\nRead the browser push application server key.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nThe VAPID public key a browser must pass to PushManager.subscribe. Null when this deployment has no push identity configured, which is how the client knows to hide the enable control instead of offering one that cannot work.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"publicKey":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Public key for this record."}},"required":["publicKey"],"description":"The application server key a browser needs to subscribe to push."},"example":{"publicKey":"example"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/web-push/subscription":{"get":{"operationId":"getV1MeWebPushSubscription","summary":"Read whether the caller has a push subscription","tags":["Athena"],"description":"## Purpose\n\nRead whether the caller has a push subscription.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nWhether any active browser push subscription is registered for the caller.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sharede16f8eed"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"post":{"operationId":"postV1MeWebPushSubscription","summary":"Register a browser push subscription","tags":["Athena"],"description":"## Purpose\n\nRegister a browser push subscription.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nStore the subscription a browser returned from PushManager.subscribe so time-sensitive questions can reach the caller with their own options as action buttons. Re-registering the same endpoint reactivates it rather than duplicating it.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse44e0a1fd"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"endpoint":{"type":"string","format":"uri","description":"Endpoint for this record."},"expirationTime":{"default":null,"anyOf":[{"type":"number"},{"type":"null"}],"description":"Expiration time for this record."},"keys":{"type":"object","properties":{"p256dh":{"type":"string","minLength":1,"description":"P256dh for this record."},"auth":{"type":"string","minLength":1,"description":"Auth for this record."}},"required":["p256dh","auth"],"description":"Keys for this record."}},"required":["endpoint","keys"],"description":"A browser push subscription, as returned by PushManager.subscribe."},"example":{"endpoint":"https://api.clearthedocket.com/v1/example","keys":{"p256dh":"example","auth":"example"}}}},"description":"Fields used to register a browser push subscription. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"delete":{"operationId":"deleteV1MeWebPushSubscription","summary":"Remove the caller’s browser push subscriptions","tags":["Athena"],"description":"## Purpose\n\nRemove the caller’s browser push subscriptions.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nDisable every registered browser push subscription for the caller. Used when the person turns notifications off, or when the browser reports the subscription has changed.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse44e0a1fd"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/recovery-codes":{"get":{"operationId":"getV1MeRecoveryCodes","summary":"Get recovery-codes status","tags":["Me"],"description":"## Purpose\n\nGet recovery-codes status.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReport the caller's two-factor **recovery-code (backup-code)** status for the Security settings surface: whether a set of codes has been generated (`enabled`), how many unused codes remain (`remaining` — codes are consumed one per recovery), and when they were last (re)generated (`generatedAt`). Derived server-side from the `twoFactor` plugin.\n\n**The codes themselves are never returned here** — only their count crosses the boundary; the decrypted codes stay inside `@docket/auth` and are shown exactly once at generation time. When no codes exist, `remaining` is 0 and `generatedAt` is null. Read-only; session-only, no capability and no step-up (viewing the count is low-risk). **401** when unauthenticated. Related: `POST /me/recovery-codes` to (re)generate.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the user has a generated set of recovery codes. False before they have ever generated any."},"remaining":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many unused recovery codes remain (codes are consumed one per recovery). 0 when `enabled` is false.","example":8},"generatedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO-8601 instant the codes were last (re)generated, or null when `enabled` is false."}},"required":["enabled","remaining","generatedAt"],"description":"The user's account-recovery (backup) code status."},"example":{"enabled":false,"remaining":0,"generatedAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"post":{"operationId":"postV1MeRecoveryCodes","summary":"Generate recovery codes","tags":["Me"],"description":"## Purpose\n\nGenerate recovery codes.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nGenerate a new set of two-factor recovery codes and return the plaintext codes once. Save them from this response; later reads return only the remaining count. Generating a new set invalidates every previous recovery code, updates `generatedAt`, and sends a security notice to the account holder.\n\nThe request requires a passkey session created within the last five minutes. An older session returns 401 `reauth_required`; complete passkey verification and retry. A signed-out user must use the account-recovery flow instead.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"codes":{"type":"array","items":{"type":"string"},"description":"The freshly generated plaintext recovery (backup) codes, returned exactly once. Display them for the user to save — they are never retrievable again, and generating replaces any prior set.","example":["a1b2-c3d4","e5f6-g7h8"]}},"required":["codes"],"description":"Freshly generated recovery codes (shown once)."},"example":{"codes":["example"]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/sessions":{"get":{"operationId":"getV1MeSessions","summary":"List active sessions","tags":["Me"],"description":"## Purpose\n\nList active sessions.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nList every active session (signed-in device/browser) on the caller's account, most recently active first, for the Settings → Security device list. Each entry reports whether it's `current` (the session this very request is authenticated with), its `ipAddress`/`userAgent` when Better Auth recorded them, and when it was created/last refreshed. **The bearer token itself is never returned** — only the opaque `id`, which `POST /me/sessions/:id/revoke` resolves server-side. Session-only, no capability. **401** when unauthenticated. Related: `/me/identities` (linked external accounts, a different concept) and the passkey-management endpoints (credentials that mint a session, not a session itself).\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SessionOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"example","current":false,"ipAddress":"example","userAgent":"example","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/sessions/{id}/revoke":{"post":{"operationId":"postV1MeSessionsByIdRevoke","summary":"Revoke a session","tags":["Me"],"description":"## Purpose\n\nRevoke a session.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRevoke one of the caller's OTHER active sessions by its opaque `id` — e.g. \"sign out that old laptop\" from the device list. **Cannot revoke the session making this request**: that is what sign-out is for, and doing it here would sever the connection mid-request without a clean redirect. `id` must belong to the caller (never another user's session, regardless of guesses). Session-only, no capability. **404** if the id doesn't resolve to one of the caller's sessions; **409** `current_session` if it is the caller's own; **401** when unauthenticated.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The session id — an opaque handle used to revoke it, never the bearer token."},"current":{"type":"boolean","description":"Whether this is the session the caller is making this request with."},"ipAddress":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The IP address the session was created from, or null when not recorded."},"userAgent":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The raw User-Agent header from sign-in, or null when not recorded."},"createdAt":{"type":"string","description":"ISO-8601 instant the session was created (signed in)."},"updatedAt":{"type":"string","description":"ISO-8601 instant the session was last refreshed."},"expiresAt":{"type":"string","description":"ISO-8601 instant the session expires unless refreshed again."}},"required":["id","current","ipAddress","userAgent","createdAt","updatedAt","expiresAt"],"description":"A signed-in device/browser session."},"example":{"id":"example","current":false,"ipAddress":"example","userAgent":"example","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/sessions/revoke-others":{"post":{"operationId":"postV1MeSessionsRevokeOthers","summary":"Revoke every other session","tags":["Me"],"description":"## Purpose\n\nRevoke every other session.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nRevoke every one of the caller's sessions EXCEPT the one making this request — \"sign out everywhere else\". Useful after noticing an unfamiliar device in the list, or as routine hygiene. Returns the caller's remaining sessions (just the current one) so the client can refresh its list from the response. Session-only, no capability. **401** when unauthenticated.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SessionOut"},"description":"The caller’s active sessions (every signed-in device/browser), current first."}},"required":["items"],"description":"The caller's active sessions."},"example":{"items":[{"id":"example","current":false,"ipAddress":"example","userAgent":"example","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/plans":{"get":{"operationId":"getV1MePlans","summary":"List plans","tags":["Me"],"description":"## Purpose\n\nList plans.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nList the caller's planning drafts that are not archived, most recently edited first. A plan is a personal, durable document built on the planning canvas with Athena: an initiative at the root, projects under it, and tasks inside them, each node either still a draft or already confirmed into a real object. Session-only. **401** when unauthenticated. Returns `PlanDraftListOut`.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PlanDraftOut"},"description":"Items, in order."}},"required":["items"],"description":"The caller’s plans."},"example":{"items":[{"id":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sessionId":"example","rootInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","status":"active","revision":0,"document":{"nodes":[{"ref":"example","kind":"initiative","parentRef":"example","initiativeRefs":["example"],"initiativeIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"fields":{"title":"example"},"templateId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","status":"draft","objectId":"example"}],"edges":[{"fromRef":"example","toRef":"example","kind":"blocks"}]},"objects":{},"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"post":{"operationId":"postV1MePlans","summary":"Start a plan","tags":["Me"],"description":"## Purpose\n\nStart a plan.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nStart a planning draft in a workspace the caller belongs to, or reopen the caller's active draft rooted on the same initiative when `initiativeId` names one that already has a plan. A rooted plan starts with that initiative as a confirmed root node; an unrooted plan starts empty. **404** when the caller is not a member of `organizationId` or the initiative is not in it. Returns the `PlanDraftOut`, with **201** even when an existing plan was reopened.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanDraftOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The workspace the plan writes into."},"initiativeId":{"description":"An existing initiative to plan under.","type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"title":{"description":"The plan title.","type":"string","minLength":1,"maxLength":200}},"required":["organizationId"],"description":"Start or reopen a planning draft."},"example":{"organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to start a plan. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/plans/{id}":{"get":{"operationId":"getV1MePlansById","summary":"Get a plan","tags":["Me"],"description":"## Purpose\n\nGet a plan.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRead one of the caller's plans with its full document and current `revision`. Confirmed nodes are hydrated under `objects`, keyed by node ref, with the live name, status, health, link, and archived flag of the real record. **404** for an unknown id or another user's plan. Returns `PlanDraftOut`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanDraftOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1MePlansById","summary":"Edit a plan","tags":["Me"],"description":"## Purpose\n\nEdit a plan.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nApply a batch of operations to the plan document against the `revision` the batch was written for. The batch applies whole or not at all. **412** (`precondition_failed`) when the plan has moved past that revision — re-read the plan and replay the batch. **422** when an operation is invalid; `fieldErrors` names the operation and path, for example `ops.2.parentRef`. **404** for an unknown, archived, or foreign plan. Returns the updated `PlanDraftOut`.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanDraftOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"revision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The revision the ops were written against."},"ops":{"minItems":1,"maxItems":200,"type":"array","items":{"$ref":"#/components/schemas/PlanOp"},"description":"Ops, in order."}},"required":["revision","ops"],"description":"A batch of draft operations against one revision."},"example":{"revision":0,"ops":[{"op":"set_title","title":"example"}]}}},"description":"Fields used to edit a plan. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/plans/{id}/roster":{"get":{"operationId":"getV1MePlansByIdRoster","summary":"List who a plan may assign","tags":["Me"],"description":"## Purpose\n\nList who a plan may assign.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nThe people and teams in the plan's workspace that its nodes may be assigned to. `people` are the workspace's active members, each with the `teamIds` they belong to; `teams` are its live teams. Use an `actorId` as a node's `assigneeId`, `leadId`, or `ownerId`, and a team `id` as its `teamId`. **404** for an unknown or foreign plan. Returns `PlanRoster`.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"people":{"type":"array","items":{"$ref":"#/components/schemas/PlanRosterPerson"},"description":"People, in order."},"teams":{"type":"array","items":{"$ref":"#/components/schemas/PlanRosterTeam"},"description":"Teams, in order."}},"required":["people","teams"],"description":"The people and teams a plan may assign work to."},"example":{"people":[{"actorId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example","teamIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}],"teams":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","name":"example"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/plans/{id}/commit":{"post":{"operationId":"postV1MePlansByIdCommit","summary":"Confirm plan nodes","tags":["Me"],"description":"## Purpose\n\nConfirm plan nodes.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nCreate the selected draft plan nodes as workspace resources. Docket automatically includes required parent nodes, so a task is not created without its project and a nested task becomes a subtask in the same project. When a resource with the same name already exists in the same location, Docket links the plan node to it instead of creating a duplicate.\n\nAll selected resources are created together or no resources are created. The caller needs `contribute` access in the plan's workspace when committing. The response includes the updated plan, the resource created or matched for each node, `createdCounts`, and a change-set ID that can be sent to `POST /v1/me/athena/changes/{changeSetId}/undo`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"plan":{"$ref":"#/components/schemas/PlanDraftOut","description":"Plan for this record."},"placed":{"type":"array","items":{"type":"object","properties":{"ref":{"type":"string","description":"Ref for this record."},"kind":{"type":"string","enum":["initiative","program","project","task"],"description":"What the node becomes when confirmed."},"id":{"type":"string","description":"The stable identifier for this resource."},"created":{"type":"boolean","description":"False when an existing object of that name was matched."}},"required":["ref","kind","id","created"]},"description":"Placed, in order."},"createdCounts":{"$ref":"#/components/schemas/PlanCommitCounts","description":"Created counts for this record."},"changeSetId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced change set."}},"required":["plan","placed","createdCounts","changeSetId"],"description":"The result of confirming part of a plan."},"example":{"plan":{"id":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","sessionId":"example","rootInitiativeId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","status":"active","revision":0,"document":{"nodes":[{"ref":"example","kind":"initiative","parentRef":"example","initiativeRefs":["example"],"initiativeIds":["01ARZ3NDEKTSV4RRFFQ69G5FAV"],"fields":{"title":"example"},"templateId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","status":"draft","objectId":"example"}],"edges":[{"fromRef":"example","toRef":"example","kind":"blocks"}]},"objects":{},"createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"},"placed":[{"ref":"example","kind":"initiative","id":"example","created":false}],"createdCounts":{"initiatives":0,"projects":0,"tasks":0,"subtasks":0},"changeSetId":"example"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"refs":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"string"},"description":"Refs, in order."}},"required":["refs"],"description":"The draft nodes to create for real."},"example":{"refs":["example"]}}},"description":"Fields used to confirm plan nodes. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]}},"/v1/me/plans/{id}/archive":{"post":{"operationId":"postV1MePlansByIdArchive","summary":"Archive a plan","tags":["Me"],"description":"## Purpose\n\nArchive a plan.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nArchive a plan without creating anything. Nodes already confirmed stay in the workspace; draft nodes are kept on the archived document for reference. Idempotent. **404** for an unknown or foreign plan. Returns the archived `PlanDraftOut`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanDraftOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/drafts":{"get":{"operationId":"getV1MeDrafts","summary":"List drafts","tags":["Me"],"description":"## Purpose\n\nList drafts.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nList the caller's saved composer drafts that have not expired, most recently saved first. A draft is the unsent state of a create composer (task, project, initiative, program, or team), kept so the form can be picked back up later. Filter with `kind` to one composer and `organizationId` to one workspace; both are optional and combine. Session-only. **401** when unauthenticated. Returns `ComposerDraftListOut`.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ComposerDraftOut"},"description":"Drafts, most recently saved first."}},"required":["items"],"description":"The caller’s composer drafts."},"example":{"items":[{"id":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"task","revision":0,"payload":{"kind":"task"},"title":"example","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z","expiresAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"query","name":"kind","schema":{"type":"string","enum":["task","project","initiative","program","team"]},"description":"Only drafts for this composer."},{"in":"query","name":"organizationId","schema":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$"},"description":"Only drafts for this workspace."}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1MeDrafts","summary":"Save a draft","tags":["Me"],"description":"## Purpose\n\nSave a draft.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nSave a new composer draft in a workspace the caller belongs to. `kind` names the composer and must equal `payload.kind`; every payload field is optional so a form can be saved at any point. The draft starts at revision 0 and expires 183 days after its last save. **404** when the caller is not a member of `organizationId`. **422** when `kind` and `payload.kind` disagree. Returns the `ComposerDraftOut` with **201**.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComposerDraftOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"The workspace the composer will create into."},"kind":{"type":"string","enum":["task","project","initiative","program","team"],"description":"Which composer the draft belongs to. Must equal `payload.kind`; a mismatch is rejected with 422. Immutable after creation."},"payload":{"$ref":"#/components/schemas/ComposerDraftPayload","description":"Payload for this record."}},"required":["organizationId","kind","payload"],"description":"Save a new composer draft."},"example":{"organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","kind":"task","payload":{"kind":"task"}}}},"description":"Fields used to save a draft. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/drafts/{id}":{"get":{"operationId":"getV1MeDraftsById","summary":"Get a draft","tags":["Me"],"description":"## Purpose\n\nGet a draft.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRead one of the caller's drafts with its payload and current `revision`. **404** for an unknown or expired id, or another user's draft. Returns `ComposerDraftOut`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComposerDraftOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1MeDraftsById","summary":"Save a draft again","tags":["Me"],"description":"## Purpose\n\nSave a draft again.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nReplace the draft's payload against the `revision` it was read at, bump the revision, and renew the expiry. **412** (`precondition_failed`) when the draft has moved past that revision — re-read the draft and save again from its current revision. **422** when `payload.kind` differs from the draft's kind. **404** for an unknown, expired, or foreign draft. Returns the updated `ComposerDraftOut`.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComposerDraftOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"revision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The revision the payload was written against."},"payload":{"$ref":"#/components/schemas/ComposerDraftPayload","description":"Payload for this record."}},"required":["revision","payload"],"description":"Save a composer draft against one revision."},"example":{"revision":0,"payload":{"kind":"task"}}}},"description":"Fields used to save a draft again. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1MeDraftsById","summary":"Discard a draft","tags":["Me"],"description":"## Purpose\n\nDiscard a draft.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove one of the caller's drafts. Nothing else is affected: a draft never became a real record. **404** for an unknown, expired, or foreign draft. Answers **204** with no body.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/device-notification-sources/{deviceId}":{"get":{"operationId":"getV1MeDeviceNotificationSourcesByDeviceId","summary":"Get a notification device","tags":["Me"],"description":"## Purpose\n\nGet a notification device.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRead one of the caller's registered devices: its label, retention, consent time, and when it last registered or uploaded. Session-only. **401** when unauthenticated. **404** when the caller has not registered `deviceId`. Returns the `DeviceNotificationSourceOut`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeDeviceNotificationSourcesByDeviceIdResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"put":{"operationId":"putV1MeDeviceNotificationSourcesByDeviceId","summary":"Register a notification device","tags":["Me"],"description":"## Purpose\n\nRegister a notification device.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nRegister one of the caller's devices as a source of synced notifications, or update its label, retention, and consent time. `deviceId` is the install's random ULID; the caller and the device id together identify a source, so one install used by two accounts is two sources. Call it before the first upload and whenever retention changes. `retentionDays` (1..3650) sets how long the server keeps what this device uploads from now on. Session-only. **401** when unauthenticated. **422** when the body or `deviceId` is malformed. Returns the `DeviceNotificationSourceOut`.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeDeviceNotificationSourcesByDeviceIdResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"platform":{"$ref":"#/components/schemas/DeviceNotificationPlatform","description":"Platform for this record."},"label":{"type":"string","minLength":1,"maxLength":4000,"description":"A friendly device name, such as the phone model."},"retentionDays":{"type":"integer","minimum":1,"maximum":3650,"description":"How long the device keeps entries, in days (1..3650). The server keeps its copy as long."},"syncConsentedAt":{"type":"integer","minimum":0,"maximum":253402300799999,"description":"When the person turned sync on, Unix ms."}},"required":["platform","label","retentionDays","syncConsentedAt"],"description":"Register a notification source."},"example":{"platform":"android","label":"example","retentionDays":1,"syncConsentedAt":0}}},"description":"Fields used to register a notification device. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameterb089c06e"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/device-notifications/batches":{"post":{"operationId":"postV1MeDeviceNotificationsBatches","summary":"Upload synced notifications","tags":["Me"],"description":"## Purpose\n\nUpload synced notifications.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nUpload a batch of notifications and removals captured on a registered device. At most 100 notifications (each a `DeviceNotificationIn`, with at most 50 lines and 100 messages) and 200 removals (each a `DeviceNotificationRemovalIn`); every text field is at most 4,000 characters and every time is Unix milliseconds. Each item is validated on its own and answered in request order with one status: `stored`, `duplicate` (already stored, or repeated in the batch), `deleted` (a delete of everything or of its app happened at or after its capture), `expired` (captured longer ago than the device's retention), `orphaned` (a removal whose notification is not stored), or `invalid`. Messages are stored once per person by `identity`. Uploading also deletes the caller's expired entries. Session-only. **401** when unauthenticated. **404** when `deviceId` is not registered for the caller — register it and retry. **413** when the body exceeds 8 MiB — halve the batch. **422** when the batch shape itself is malformed. **429** with `Retry-After` after 240 batches in an hour. Returns `DeviceNotificationBatchOut`.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"notifications":{"type":"array","items":{"$ref":"#/components/schemas/DeviceNotificationItemResult"},"description":"Notifications, in order."},"removals":{"type":"array","items":{"$ref":"#/components/schemas/DeviceNotificationItemResult"},"description":"Removals, in order."}},"required":["notifications","removals"],"description":"Per-item upload results."},"example":{"notifications":[{"id":"example","status":"stored"}],"removals":[{"id":"example","status":"stored"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"deviceId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"The registered source uploading this batch."},"notifications":{"description":"At most 100 notifications.","maxItems":100,"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/DeviceNotificationIn"},{"$ref":"#/components/schemas/DeviceNotificationUnreadableItem"}]}},"removals":{"description":"At most 200 removals.","maxItems":200,"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/DeviceNotificationRemovalIn"},{"$ref":"#/components/schemas/DeviceNotificationUnreadableItem"}]}}},"required":["deviceId"],"description":"One notification upload batch."},"example":{"deviceId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to upload synced notifications. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/device-notifications/deletions":{"get":{"operationId":"getV1MeDeviceNotificationsDeletions","summary":"Read notification deletions","tags":["Me"],"description":"## Purpose\n\nRead notification deletions.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nRead the deletions the caller made on the server, from any device or the web. `deletedBefore` covers every app and `apps` covers one app each; a phone deletes its local entries captured at or before those times so a delete anywhere removes the copy everywhere. Session-only. **401** when unauthenticated. Returns `DeviceNotificationDeletionsOut`.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"deletedBefore":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Everything captured at or before this was deleted, Unix ms; null if never."},"apps":{"type":"array","items":{"$ref":"#/components/schemas/DeviceNotificationAppDeletion"},"description":"Apps, in order."}},"required":["deletedBefore","apps"],"description":"Server-side deletions."},"example":{"deletedBefore":0,"apps":[{"appId":"example","deletedBefore":0}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/device-notifications":{"delete":{"operationId":"deleteV1MeDeviceNotifications","summary":"Delete synced notifications","tags":["Me"],"description":"## Purpose\n\nDelete synced notifications.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nDelete what the caller has synced from every device, or only one app's entries with `appId`, together with their messages and removals. Only entries captured at or before the deletion time are deleted: `before` (Unix ms) when given — the time the person asked, so a delete a phone queued offline and sends late spares what it captured since — clamped to now, otherwise now. Records that time so later uploads of entries captured at or before it are answered `deleted`, and phones apply it through the deletions read. A scope's deletion time never moves backwards. **422** for a malformed `before`. Session-only. **401** when unauthenticated. Returns `DeviceNotificationDeleteOut` with the number of notifications deleted.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Notifications deleted."}},"required":["deleted"],"description":"The result of a delete."},"example":{"deleted":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"query","name":"appId","schema":{"type":"string","minLength":1,"maxLength":4000},"description":"Delete only this app’s entries. Omit to delete all."},{"in":"query","name":"before","schema":{"type":"number"},"description":"When the person asked to delete, Unix ms. Entries captured at or before it are deleted; a phone sending a queued delete late passes the time it was made so entries captured since survive. Clamped to now; omit to delete up to now."}],"security":[{"sessionCookie":[]}]},"get":{"operationId":"getV1MeDeviceNotifications","summary":"List synced notifications","tags":["Me"],"description":"## Purpose\n\nList synced notifications.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nList the caller's synced notifications, newest capture first, each with the messages first stored with it and its removal. Filter to one app with `appId`. Keyset-paginated: pass `nextCursor` back as `cursor`; `limit` is 1..200 (default 50). Expired entries are left out. Session-only. **401** when unauthenticated. **422** for a malformed cursor or limit. Returns `DeviceNotificationListOut`.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DeviceNotificationOut"},"description":"Newest capture first."},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Pass as `cursor` for the next page; null at the end."}},"required":["items","nextCursor"],"description":"A page of synced notifications."},"example":{"items":[{"id":"example","deviceId":"example","platform":"android","extractorVersion":0,"appId":"example","appName":"example","sourceKey":"example","threadId":"example","threadTitle":"example","kind":"message","postedAt":0,"capturedAt":0,"title":"example","subtitle":"example","body":"example","lines":["example"],"redacted":false,"scrubbed":false,"backfilled":false,"contentHash":"example","android":{"channelId":"example","category":"example","whenAt":0,"shortcutId":"example"},"messages":[{"id":"example","threadId":"example","sender":"example","sentAt":0,"text":"example","identity":"example"}],"removal":{"id":"example","removedAt":0,"reason":"opened","platformReason":0},"receivedAt":0,"expiresAt":0}],"nextCursor":"example"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"query","name":"appId","schema":{"type":"string","minLength":1,"maxLength":4000},"description":"Only this app’s entries."},{"in":"query","name":"cursor","schema":{"type":"string"},"description":"`nextCursor` from the previous page."},{"in":"query","name":"limit","schema":{"default":50,"type":"integer","minimum":1,"maximum":200},"description":"Page size, 1..200 (default 50)."}],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/inbound":{"post":{"operationId":"postV1MeInbound","summary":"Receive personal app/device events","tags":["Me"],"description":"## Purpose\n\nReceive personal app/device events.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nSchema version 1. Up to 100 captures and 200 removals. Ordered per-event durable receipts; unsupported event types are invalid. Session-only; source ownership is checked. 404 unregistered source, 413 oversized body, 422 unsupported batch version or shape, 429 upload quota.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/DeviceNotificationItemResult"},"description":"Events, in order."}},"required":["events"]},"example":{"events":[{"id":"example","status":"stored"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"schemaVersion":{"type":"number","const":1,"description":"Schema version for this record."},"sourceId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"The install’s random ULID. Never derived from hardware."},"events":{"maxItems":300,"type":"array","items":{"anyOf":[{"oneOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"The stable identifier for this resource."},"type":{"type":"string","const":"platform.notification.captured","description":"Selects the value type."},"occurredAt":{"type":"integer","minimum":0,"maximum":253402300799999,"description":"When the phone stored it; retention runs from here."},"payload":{"$ref":"#/components/schemas/DeviceNotificationIn","description":"Payload for this record."}},"required":["id","type","occurredAt","payload"]},{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$","description":"The stable identifier for this resource."},"type":{"type":"string","const":"platform.notification.removed","description":"Selects the value type."},"occurredAt":{"type":"integer","minimum":0,"maximum":253402300799999,"description":"Occurred time as an ISO 8601 instant."},"payload":{"$ref":"#/components/schemas/DeviceNotificationRemovalIn","description":"Payload for this record."}},"required":["id","type","occurredAt","payload"]}]},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":64,"description":"The stable identifier for this resource."}},"required":["id"],"additionalProperties":{}}]},"description":"Events, in order."}},"required":["schemaVersion","sourceId","events"]},"example":{"schemaVersion":1,"sourceId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","events":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","type":"platform.notification.captured","occurredAt":0,"payload":{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","platform":"android","extractorVersion":1,"appId":"example","appName":"example","sourceKey":"example","kind":"message","postedAt":0,"capturedAt":0,"redacted":false,"scrubbed":false,"backfilled":false,"contentHash":"example"}}]}}},"description":"Fields used to receive personal app/device events. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/device-notifications/triage-settings":{"get":{"operationId":"getV1MeDeviceNotificationsTriageSettings","summary":"Read notification triage consent","tags":["Me"],"responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeDeviceNotificationsTriageSettingsResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nRead notification triage consent.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","parameters":[]},"put":{"operationId":"putV1MeDeviceNotificationsTriageSettings","summary":"Set notification triage consent","tags":["Me"],"responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeDeviceNotificationsTriageSettingsResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether this behavior is enabled."}},"required":["enabled"],"additionalProperties":false},"example":{"enabled":false}}},"description":"Fields used to set notification triage consent. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nSet notification triage consent.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/athena/connections":{"get":{"operationId":"getV1MeAthenaConnections","summary":"List personal Athena connections","tags":["Athena"],"description":"## Purpose\n\nList personal Athena connections.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nList remote MCP connections owned by the authenticated user in createdAt ASC, id ASC order. Pages default to 50 items, accept at most 100, and omit nextCursor at exhaustion.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PersonalMcpConnectionOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","url":"https://api.clearthedocket.com/v1/example","name":"example","alias":"field_name","authMode":"oauth","status":"pending","toolCount":0,"lastError":"example","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1MeAthenaConnections","summary":"Connect a personal MCP server","tags":["Athena"],"description":"## Purpose\n\nConnect a personal MCP server.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a remote MCP connection owned only by the authenticated user. The visible name is required and returned on every response; credentials are AES-256-GCM encrypted and never returned.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalMcpConnectionOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Absolute URL for this resource."},"name":{"type":"string","minLength":1,"maxLength":80,"description":"Human-readable name."},"alias":{"type":"string","pattern":"^[a-z][a-z0-9_]{1,20}$","description":"Lowercase tool prefix used as `<alias>__<tool>` inside Athena."},"authMode":{"default":"oauth","type":"string","enum":["oauth","bearer","none"],"description":"Allowed auth mode value."},"bearerToken":{"type":"string","minLength":1,"description":"Bearer token for this record."}},"required":["url","name","alias"]},"example":{"url":"https://api.clearthedocket.com/v1/example","name":"example","alias":"field_name"}}},"description":"Fields used to connect a personal MCP server. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/athena/connections/preview":{"post":{"operationId":"postV1MeAthenaConnectionsPreview","summary":"Discover a personal MCP server name","tags":["Athena"],"description":"## Purpose\n\nDiscover a personal MCP server name.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nInitialize a remote MCP server without storing it and return its advertised visible name. The caller may edit this name before connecting.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsea0f6a2e0"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Absolute URL for this resource."}},"required":["url"]},"example":{"url":"https://api.clearthedocket.com/v1/example"}}},"description":"Fields used to discover a personal MCP server name. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/connections/{id}":{"patch":{"operationId":"patchV1MeAthenaConnectionsById","summary":"Edit a personal MCP connection","tags":["Athena"],"description":"## Purpose\n\nEdit a personal MCP connection.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nEdit the visible name or model-facing tool prefix of one connection owned by the authenticated user. The URL, authentication mode, and encrypted credential are unchanged.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalMcpConnectionOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"Human-readable name."},"alias":{"type":"string","pattern":"^[a-z][a-z0-9_]{1,20}$","description":"Lowercase tool prefix used as `<alias>__<tool>` inside Athena."}}},"example":{}}},"description":"Fields used to edit a personal MCP connection. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1MeAthenaConnectionsById","summary":"Delete a personal MCP connection","tags":["Athena"],"description":"## Purpose\n\nDelete a personal MCP connection.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDelete an owner-matched personal connection and cascade-delete its encrypted credential. Future Athena toolboxes for the owner stop loading its remote tools immediately.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsee1d5261b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/athena/connections/{id}/authorize":{"post":{"operationId":"postV1MeAthenaConnectionsByIdAuthorize","summary":"Authorize a personal MCP connection","tags":["Athena"],"description":"## Purpose\n\nAuthorize a personal MCP connection.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nStart OAuth approval for an owner-matched personal MCP connection. Encrypted PKCE and discovery state is bound to the connection and user until the signed callback completes.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsec9650f3b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/connections/{id}/reconnect":{"post":{"operationId":"postV1MeAthenaConnectionsByIdReconnect","summary":"Reconnect a personal MCP server","tags":["Athena"],"description":"## Purpose\n\nReconnect a personal MCP server.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRun a fresh tools/list health check with this owner’s stored credential. Another user receives not found, and connection health is earned only after the remote round trip succeeds.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalMcpConnectionOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/assignments":{"get":{"operationId":"getV1MeAthenaAssignments","summary":"List personal Athena assignments","tags":["Athena"],"description":"## Purpose\n\nList personal Athena assignments.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nList only the authenticated user’s Athena delegations in createdAt ASC, id ASC order. Pages default to 50 items, accept at most 100, and omit nextCursor at exhaustion.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AthenaAssignmentOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","entityType":"initiative","entityId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","objective":"example","status":"active","activeSessionId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","pausedReason":"example","createdAt":"2026-09-19T12:00:00.000Z","updatedAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1MeAthenaAssignments","summary":"Assign personal Athena to work","tags":["Athena"],"description":"## Purpose\n\nAssign personal Athena to work.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nCreate a private, user-owned delegation for an initiative, project, or task. The server rechecks the owner’s current contribute access, preserves the human owner/lead/assignee, creates a personal notice, and starts an owner-attributed durable Athena run.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AthenaAssignmentOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"ULID id of an Organization — a tenant workspace; the top-level boundary every other entity belongs to."},"entityType":{"type":"string","enum":["initiative","project","task"],"description":"Allowed entity type value."},"entityId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"A 26-char Crockford base-32 ULID matching `^[0-9A-HJKMNP-TV-Z]{26}$`.","example":"01ARZ3NDEKTSV4RRFFQ69G5FAV"},"objective":{"type":"string","minLength":1,"maxLength":4000,"description":"Objective for this record."}},"required":["organizationId","entityType","entityId","objective"]},"example":{"organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","entityType":"initiative","entityId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","objective":"example"}}},"description":"Fields used to assign personal Athena to work. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/athena/assignments/{id}":{"get":{"operationId":"getV1MeAthenaAssignmentsById","summary":"Get a personal Athena assignment","tags":["Athena"],"description":"## Purpose\n\nGet a personal Athena assignment.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn one private Athena delegation only when it belongs to the authenticated user. Workspace peers cannot read its objective, progress linkage, or trigger state.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AthenaAssignmentOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"patch":{"operationId":"patchV1MeAthenaAssignmentsById","summary":"Pause or resume a personal Athena assignment","tags":["Athena"],"description":"## Purpose\n\nPause or resume a personal Athena assignment.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nChange the lifecycle of an owner-matched delegation. Pausing or completing it also disables its triggers; resuming never restores authority or silently re-enables old triggers.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AthenaAssignmentOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["active","paused","completed"],"description":"Current lifecycle state."}},"required":["status"]},"example":{"status":"active"}}},"description":"Fields used to pause or resume a personal Athena assignment. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1MeAthenaAssignmentsById","summary":"Remove a personal Athena assignment","tags":["Athena"],"description":"## Purpose\n\nRemove a personal Athena assignment.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nDelete one owner-matched delegation and cascade its assignment-scoped triggers. Shared Docket work and its human owner, lead, or assignee are never changed.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsee1d5261b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/athena/assignments/{id}/triggers":{"get":{"operationId":"getV1MeAthenaAssignmentsByIdTriggers","summary":"List assignment triggers","tags":["Athena"],"description":"## Purpose\n\nList assignment triggers.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nList event and scheduled triggers for one assignment in createdAt ASC, id ASC order. Pages default to 50 items, accept at most 100, and omit nextCursor at exhaustion.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AthenaTriggerOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"01ARZ3NDEKTSV4RRFFQ69G5FAV","assignmentId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","type":"event","eventKinds":["message"],"scheduleMinutes":0,"cooldownMinutes":0,"enabled":false,"lastTriggeredAt":"2026-09-19T12:00:00.000Z","nextRunAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1MeAthenaAssignmentsByIdTriggers","summary":"Add an assignment trigger","tags":["Athena"],"description":"## Purpose\n\nAdd an assignment trigger.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAdd an event or recurring trigger scoped to this assignment’s live entity subtree. Scheduled cadence and every cooldown are at least five minutes.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AthenaTriggerOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"event","description":"Selects the value type."},"eventKinds":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/Shared72f75420"},"description":"Event kinds, in order."},"cooldownMinutes":{"default":5,"type":"integer","minimum":5,"maximum":9007199254740991,"description":"Cooldown minutes for this record."}},"required":["type","eventKinds"]},{"type":"object","properties":{"type":{"type":"string","const":"scheduled","description":"Selects the value type."},"scheduleMinutes":{"type":"integer","minimum":5,"maximum":9007199254740991,"description":"Schedule minutes for this record."},"cooldownMinutes":{"default":5,"type":"integer","minimum":5,"maximum":9007199254740991,"description":"Cooldown minutes for this record."}},"required":["type","scheduleMinutes"]}]},"example":{"type":"event","eventKinds":["message"]}}},"description":"Fields used to add an assignment trigger. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/athena/assignments/{id}/triggers/{triggerId}":{"patch":{"operationId":"patchV1MeAthenaAssignmentsByIdTriggersByTriggerId","summary":"Pause or resume an assignment trigger","tags":["Athena"],"description":"## Purpose\n\nPause or resume an assignment trigger.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nPause or resume a trigger only through its authenticated owner and assignment. Resuming does not bypass the owner access check performed when the trigger fires.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AthenaTriggerOut"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether this behavior is enabled."}},"required":["enabled"]},"example":{"enabled":false}}},"description":"Fields used to pause or resume an assignment trigger. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"delete":{"operationId":"deleteV1MeAthenaAssignmentsByIdTriggersByTriggerId","summary":"Remove an assignment trigger","tags":["Athena"],"description":"## Purpose\n\nRemove an assignment trigger.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove one trigger only when the authenticated user owns both the assignment and trigger. Another user receives an existence-hiding 404 response.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponsee1d5261b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter358bb339"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/athena/lattice":{"get":{"operationId":"getV1MeAthenaLattice","summary":"Read the Lattice connection","tags":["Athena"],"description":"## Purpose\n\nRead the Lattice connection.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReport whether this deployment offers Lattice, whether the authenticated user has authorized Lovelace, and which of their devices Athena’s model turns run on. Never returns a token.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAthenaLatticeResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"patch":{"operationId":"patchV1MeAthenaLattice","summary":"Switch the Lattice backend on or off","tags":["Athena"],"description":"## Purpose\n\nSwitch the Lattice backend on or off.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nTurn the connected Lattice backend on or off without discarding the grant or the device choice. Switching off returns Athena to the routed default backend.\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAthenaLatticeResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether Athena’s turns run on the device."}},"required":["enabled"],"description":"Switch the Lattice backend on or off."},"example":{"enabled":false}}},"description":"Fields used to switch the Lattice backend on or off. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[]},"delete":{"operationId":"deleteV1MeAthenaLattice","summary":"Disconnect Lovelace","tags":["Athena"],"description":"## Purpose\n\nDisconnect Lovelace.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nDelete the stored grant and device choice while retaining the connection identity for delegation history. Athena returns to the routed default backend immediately. This does not revoke the grant inside Lovelace — the user does that from their Lovelace account.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse31caef77"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/athena/lattice/authorize":{"post":{"operationId":"postV1MeAthenaLatticeAuthorize","summary":"Start the Lovelace authorization","tags":["Athena"],"description":"## Purpose\n\nStart the Lovelace authorization.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nBegin one OAuth 2.1 authorization-code + PKCE attempt and return both redirect and FedCM inputs. The verifier is sealed in a short-lived attempt; any active grant remains untouched.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"authorizationUrl":{"type":"string","description":"Lovelace’s consent screen for this authorization."},"attemptId":{"type":"string","description":"Opaque one-use Docket authorization attempt id."},"expiresAt":{"type":"string","description":"ISO-8601 expiry for this authorization attempt."},"fedcm":{"type":"object","properties":{"configUrl":{"type":"string","description":"Lovelace’s FedCM provider configuration URL."},"clientId":{"type":"string","description":"Docket’s registered public Lovelace client id."},"params":{"type":"object","properties":{"purpose":{"type":"string","const":"oauth_authorization","description":"Purpose for this record."},"redirect_uri":{"type":"string","description":"Redirect uri for this record."},"resource":{"type":"string","description":"Resource for this record."},"scope":{"type":"string","description":"Scope for this record."},"state":{"type":"string","description":"Current lifecycle state."},"code_challenge":{"type":"string","description":"Code challenge for this record."},"code_challenge_method":{"type":"string","const":"S256","description":"Code challenge method for this record."}},"required":["purpose","redirect_uri","resource","scope","state","code_challenge","code_challenge_method"],"description":"OAuth request values passed through FedCM’s Parameters API."}},"required":["configUrl","clientId","params"],"description":"Inputs for an active native FedCM ceremony."}},"required":["authorizationUrl","attemptId","expiresAt","fedcm"],"description":"One authorization attempt represented for redirect and native FedCM."},"example":{"authorizationUrl":"example","attemptId":"example","expiresAt":"2026-09-19T12:00:00.000Z","fedcm":{"configUrl":"example","clientId":"example","params":{"purpose":"oauth_authorization","redirect_uri":"example","resource":"example","scope":"example","state":"example","code_challenge":"example","code_challenge_method":"S256"}}}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/lattice/authorize/code":{"post":{"operationId":"postV1MeAthenaLatticeAuthorizeCode","summary":"Complete the Lovelace authorization","tags":["Athena"],"description":"## Purpose\n\nComplete the Lovelace authorization.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nExchange the one-time code returned by an active FedCM ceremony against the owner-bound PKCE attempt and install the grant only after its scopes are verified.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["connected","declined","error","scopes"],"description":"Current lifecycle state."}},"required":["status"],"description":"Lattice authorization outcome."},"example":{"status":"connected"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"attemptId":{"type":"string","minLength":1,"description":"Attempt returned by the start endpoint."},"authorizationCode":{"type":"string","minLength":1,"description":"One-time code returned by Lovelace."}},"required":["attemptId","authorizationCode"],"description":"Complete a FedCM authorization."},"example":{"attemptId":"example","authorizationCode":"example"}}},"description":"Fields used to complete the Lovelace authorization. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/lattice/devices":{"get":{"operationId":"getV1MeAthenaLatticeDevices","summary":"List the user’s Lattice devices","tags":["Athena"],"description":"## Purpose\n\nList the user’s Lattice devices.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nList every personal Lattice runtime the authorized Lovelace account owns, with live reachability. Revoked devices are included so a previously chosen device never silently vanishes from the picker. A gateway that cannot be read returns an empty list plus a stable reason rather than an error.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"devices":{"type":"array","items":{"$ref":"#/components/schemas/LatticeDeviceOut"},"description":"Every device on the authorized account."},"unavailableReason":{"anyOf":[{"$ref":"#/components/schemas/Sharedc94d4a71"},{"type":"null"}],"description":"Why the list could not be read; null on success."}},"required":["devices","unavailableReason"],"description":"The user’s Lattice devices."},"example":{"devices":[{"id":"example","name":"example","status":"unpaired","ready":false,"lastSeenAt":"2026-09-19T12:00:00.000Z","executionBackend":"example","selected":false}],"unavailableReason":"not_connected"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/lattice/device":{"post":{"operationId":"postV1MeAthenaLatticeDevice","summary":"Point Athena at one device","tags":["Athena"],"description":"## Purpose\n\nPoint Athena at one device.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nChoose which of the user’s Lattice devices runs Athena’s model turns, and switch the backend on. The device must currently exist on the authorized account; otherwise the connection is returned unchanged with an actionable reason.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse31caef77"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"deviceId":{"type":"string","minLength":1,"description":"The device to run Athena’s model turns on."},"enabled":{"description":"Whether to switch Athena onto it immediately. Defaults to true.","type":"boolean"}},"required":["deviceId"],"description":"Point Athena at one device."},"example":{"deviceId":"example"}}},"description":"Fields used to point Athena at one device. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/mail/channel":{"get":{"operationId":"getV1MeAthenaMailChannel","summary":"Get native email channel settings","tags":["Athena"],"responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAthenaMailChannelResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nGet native email channel settings.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","parameters":[]},"put":{"operationId":"putV1MeAthenaMailChannel","summary":"Configure native owner email channel","tags":["Athena"],"responses":{"200":{"description":"Docket stored the change and returned the current representation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetV1MeAthenaMailChannelResponse200"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether this behavior is enabled."},"ownerRepliesEnabled":{"type":"boolean","description":"Owner replies enabled for this record."},"organizationId":{"$ref":"#/components/schemas/Shared9471a220","description":"Identifies the referenced organization."}},"required":["enabled","ownerRepliesEnabled","organizationId"]},"example":{"enabled":false,"ownerRepliesEnabled":false,"organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to configure native owner email channel. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nConfigure native owner email channel.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\n`200` - Docket stored the change and returned the current representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","parameters":[]},"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/athena/mail/channel/attachments/{messageId}/{attachmentId}":{"get":{"operationId":"getV1MeAthenaMailChannelAttachmentsByMessageIdByAttachmentId","summary":"Download a private received email attachment","tags":["Athena"],"description":"## Purpose\n\nDownload a private received email attachment.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nStreams validated inert text as an owner-only download. Current channel consent is required. Bytes are never rendered inline or exposed through a public storage URL.\n\n`200` - Private validated file bytes, downloaded rather than rendered inline.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Private validated file bytes, downloaded rather than rendered inline.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"},"example":"example.txt"}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"messageId","schema":{"type":"string","minLength":1},"required":true,"description":"Identifier of the message selected by this path parameter."},{"in":"path","name":"attachmentId","schema":{"type":"string","minLength":1},"required":true,"description":"Identifier of the attachment selected by this path parameter."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/mail/channel/outbox":{"get":{"operationId":"getV1MeAthenaMailChannelOutbox","summary":"List native email delivery outcomes","tags":["Athena"],"responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The stable identifier for this resource."},"inboundMessageId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced inbound message."},"sessionId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifies the referenced session."},"toAddress":{"type":"string","description":"To address for this record."},"subject":{"type":"string","description":"Subject for this record."},"status":{"type":"string","enum":["queued","sending","sent","delivered","bounced","failed","uncertain","canceled"],"description":"Current lifecycle state."},"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Error code for this record."},"createdAt":{"type":"string","description":"The record creation time as an ISO 8601 instant."},"sentAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Sent time as an ISO 8601 instant."}},"required":["id","inboundMessageId","sessionId","toAddress","subject","status","errorCode","createdAt","sentAt"]},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"id":"example","inboundMessageId":"example","sessionId":"example","toAddress":"example","subject":"example","status":"queued","errorCode":"example","createdAt":"2026-09-19T12:00:00.000Z","sentAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"description":"## Purpose\n\nList native email delivery outcomes.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/mail/address":{"get":{"operationId":"getV1MeAthenaMailAddress","summary":"Get the caller's Athena inbox address","tags":["Athena"],"description":"## Purpose\n\nGet the caller's Athena inbox address.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nReturn the address people can email to reach the caller's Athena, creating it on first read. When inbound mail is unavailable, the response reports `configured: false` and a null address instead of returning an address that cannot receive mail.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The full inbox address, or null when no receiving domain is configured."},"host":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The configured receiving domain, or null when there is none."},"configured":{"type":"boolean","description":"Whether Athena can receive mail right now (a receiving domain is configured)."}},"required":["address","host","configured"],"description":"The caller's Athena inbox address."},"example":{"address":"example","host":"example","configured":false}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/mail":{"get":{"operationId":"getV1MeAthenaMail","summary":"List messages Athena received","tags":["Athena"],"description":"## Purpose\n\nList messages Athena received.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nList messages received at the caller's Athena address in `receivedAt DESC, id DESC` order. Pages default to 50 items, accept at most 100, and omit `nextCursor` at exhaustion. Each item includes its attachment count.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse210bbb0b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/mail/attached":{"get":{"operationId":"getV1MeAthenaMailAttached","summary":"List the Athena messages attached to one entity","tags":["Athena"],"description":"## Purpose\n\nList the Athena messages attached to one entity.\n\n## Inputs and constraints\n\nSupply the query parameters documented below.\n\n## Result and side effects\n\nList received messages attached to one task, project, or initiative in receivedAt DESC, id DESC order. Pages default to 50 items, accept at most 100, and omit nextCursor at exhaustion. Reuse a cursor only with the same entity filters.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse210bbb0b"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"},{"in":"query","name":"subjectType","schema":{"type":"string","enum":["task","initiative","project"]},"required":true,"description":"Subject type supplied in the query."},{"in":"query","name":"subjectId","schema":{"type":"string","minLength":1},"required":true,"description":"Identifier of the subject selected by this query parameter."},{"in":"query","name":"organizationId","schema":{"type":"string","minLength":1},"required":true,"description":"Identifier of the organization selected by this query parameter."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/mail/{id}":{"get":{"operationId":"getV1MeAthenaMailById","summary":"Get one message Athena received","tags":["Athena"],"description":"## Purpose\n\nGet one message Athena received.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn one received message in full, including its HTML body when it had one. Scoped to the caller: another person’s message id reads as not found.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Stable opaque id — the value attachments reference."},"kind":{"type":"string","enum":["athena_email"],"description":"Which kind of context object this is."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Workspace the object is filed in."},"title":{"type":"string","description":"Human title (a received message uses its subject)."},"snippet":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Short preview of the content; null when there is none."},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Plain-text content; null when it was not captured."},"contentStatus":{"type":"string","enum":["complete","metadata-only"],"description":"Whether the content was captured at all."},"source":{"$ref":"#/components/schemas/ContextObjectSource","description":"Source for this record."},"occurredAt":{"type":"string","description":"ISO-8601 instant the object came into being (a message: when it was received)."},"createdAt":{"type":"string","description":"ISO-8601 instant Docket stored it."},"permalink":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"In-app link to the object; null when it has none."},"fromAddress":{"type":"string","description":"The sender's address."},"fromName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The sender's display name, when the header had one."},"toAddress":{"type":"string","description":"The Athena address the message was accepted for."},"bodyHtml":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"HTML body, when the message had one."},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/AthenaMailAttachmentOut"},"description":"Files that arrived with the message."},"streamEventId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Id of this message’s entry in the universal inbox stream; null until fan-out."},"attachedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many Docket entities this message is currently attached to."}},"required":["id","kind","organizationId","title","snippet","content","contentStatus","source","occurredAt","createdAt","permalink","fromAddress","fromName","toAddress","bodyHtml","attachments","streamEventId","attachedCount"],"description":"A message Athena received natively, as an attachable context object."},"example":{"id":"example","kind":"athena_email","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","title":"example","snippet":"example","content":"example","contentStatus":"complete","source":{"system":"example","provider":"example","reference":"example","label":"example"},"occurredAt":"2026-09-19T12:00:00.000Z","createdAt":"2026-09-19T12:00:00.000Z","permalink":"example","fromAddress":"example","fromName":"example","toAddress":"example","bodyHtml":"example","attachments":[{"id":"example","filename":"example","contentType":"example"}],"streamEventId":"example","attachedCount":0}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/mail/{id}/attachments":{"get":{"operationId":"getV1MeAthenaMailByIdAttachments","summary":"List what a received message is attached to","tags":["Athena"],"description":"## Purpose\n\nList what a received message is attached to.\n\n## Inputs and constraints\n\nSupply the path and query parameters documented below.\n\n## Result and side effects\n\nList the Docket entities a received message is attached to in createdAt ASC, attachmentId ASC order. Pages default to 50 items, accept at most 100, and omit nextCursor at exhaustion.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AthenaMailAttachmentTargetOut"},"description":"The items on this page, in the requested order."},"nextCursor":{"description":"Opaque cursor to fetch the next page; pass it back as the request `cursor`. Absent when this is the last page (the result set is exhausted).","type":"string"},"total":{"description":"Total count across all pages, when the endpoint computes it; may be omitted.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items"]},"example":{"items":[{"attachmentId":"example","subjectType":"task","subjectId":"example","subjectTitle":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z"}]}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter9eaeb9cf"},{"$ref":"#/components/parameters/SharedParameter7fdf77ed"}],"security":[{"sessionCookie":[]}]},"post":{"operationId":"postV1MeAthenaMailByIdAttachments","summary":"Attach a received message to a Docket entity","tags":["Athena"],"description":"## Purpose\n\nAttach a received message to a Docket entity.\n\n## Inputs and constraints\n\nSupply the path parameters documented below. The required request body uses `application/json`.\n\n## Result and side effects\n\nAttach a received message to a task, project, or initiative. The entity’s attachment list then shows the sender and subject and links back to the inbox message. The caller must be an active member of the target workspace, and the target must exist there. Attaching the same message to the same entity twice returns a conflict.\n\n`201` - Docket created the resource. The body contains its stored representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"201":{"description":"Docket created the resource. The body contains its stored representation.","content":{"application/json":{"schema":{"type":"object","properties":{"attachmentId":{"type":"string","description":"Identifier for the attachment linking this message to the entity."},"subjectType":{"type":"string","enum":["task","initiative","project"],"description":"Kind of entity the message is attached to."},"subjectId":{"type":"string","description":"Id of that entity."},"subjectTitle":{"type":"string","description":"That entity’s current title."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Workspace the entity belongs to."},"createdAt":{"type":"string","description":"ISO-8601 instant the message was attached."}},"required":["attachmentId","subjectType","subjectId","subjectTitle","organizationId","createdAt"],"description":"A Docket entity a received message is attached to."},"example":{"attachmentId":"example","subjectType":"task","subjectId":"example","subjectTitle":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV","createdAt":"2026-09-19T12:00:00.000Z"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"subjectType":{"type":"string","enum":["task","initiative","project"],"description":"Which kind of entity to attach the message to."},"subjectId":{"type":"string","minLength":1,"description":"Id of the entity to attach the message to."},"organizationId":{"type":"string","pattern":"^[0-9A-HJKMNP-TV-Z]{26}$","description":"Workspace the target entity belongs to."}},"required":["subjectType","subjectId","organizationId"],"description":"Attach a received message to a task, project, or initiative."},"example":{"subjectType":"task","subjectId":"example","organizationId":"01ARZ3NDEKTSV4RRFFQ69G5FAV"}}},"description":"Fields used to attach a received message to a Docket entity. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}]},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/DocketVersion"}]},"/v1/me/athena/mail/{id}/attachments/{attachmentId}":{"delete":{"operationId":"deleteV1MeAthenaMailByIdAttachmentsByAttachmentId","summary":"Detach a received message from a Docket entity","tags":["Athena"],"description":"## Purpose\n\nDetach a received message from a Docket entity.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nRemove one attachment linking a received message to a Docket entity. The message itself is untouched — detaching is not deleting.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse3b7860a7"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"$ref":"#/components/parameters/SharedParameter752460ee"},{"$ref":"#/components/parameters/SharedParameter911205e5"},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}},"/v1/me/athena/mcp-apps/widgets":{"get":{"operationId":"getV1MeAthenaMcpAppsWidgets","summary":"List widget-bearing tools on connected servers","tags":["Athena"],"description":"## Purpose\n\nList widget-bearing tools on connected servers.\n\n## Inputs and constraints\n\nThis operation takes no path, query, header, or body input.\n\n## Result and side effects\n\nEnumerate the tools of every connected personal MCP server that declare a `ui://` resource, so the conversation can offer them without the browser holding any server credential.\n\n`200` - Docket returned the requested collection.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested collection.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"connectionId":{"type":"string","description":"The personal MCP connection the tool belongs to."},"connectionName":{"type":"string","description":"The visible name of the connected server."},"alias":{"type":"string","description":"The namespace prefix Athena calls this server’s tools under."},"tool":{"type":"string","description":"The tool name on that server, un-namespaced."},"description":{"type":"string","description":"What the tool does."},"resourceUri":{"type":"string","description":"The `ui://` document the tool renders its result through."}},"required":["connectionId","connectionName","alias","tool","description","resourceUri"]}},"example":[{"connectionId":"example","connectionName":"example","alias":"example","tool":"example","description":"example","resourceUri":"example"}]}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/mcp-apps/call":{"post":{"operationId":"postV1MeAthenaMcpAppsCall","summary":"Run a widget-bearing tool","tags":["Athena"],"description":"## Purpose\n\nRun a widget-bearing tool.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nRun one tool on one connected personal MCP server and return its result together with the `ui://` document it renders through, if any. Used for the initial render of a card in the conversation.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse690247a1"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1MeAthenaMcpAppsCallRequest"}}},"description":"Fields used to run a widget-bearing tool. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/mcp-apps/view-call":{"post":{"operationId":"postV1MeAthenaMcpAppsViewCall","summary":"Run a tool on behalf of an embedded view","tags":["Athena"],"description":"## Purpose\n\nRun a tool on behalf of an embedded view.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nExecute a `tools/call` that a rendered widget issued through the host bridge. Scoped to the connection the widget came from and refused for tools that server does not advertise or does not make view-callable.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"$ref":"#/components/responses/SharedResponse690247a1"},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostV1MeAthenaMcpAppsCallRequest"}}},"description":"Fields used to run a tool on behalf of an embedded view. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/me/athena/mcp-apps/model-context":{"post":{"operationId":"postV1MeAthenaMcpAppsModelContext","summary":"Record a rendered widget’s context for future turns","tags":["Athena"],"description":"## Purpose\n\nRecord a rendered widget’s context for future turns.\n\n## Inputs and constraints\n\nThe required request body uses `application/json`.\n\n## Result and side effects\n\nStore the `ui/update-model-context` a rendered widget posted, replacing any previous context for that card. The stored context reaches the conversation on its next turn, attributed to the app rather than the person.\n\n`200` - Docket completed the action and returned its result.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`406` - Request one of the response media types documented for this operation.\n\n`413` - Send a smaller request body.\n\n`415` - Send the request with one of the documented content types.\n\n`422` - Correct the fields listed in the Problem response and try again.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket completed the action and returned its result.","content":{"application/json":{"schema":{"type":"object","properties":{"retained":{"type":"boolean","const":true,"description":"The update replaced any previous context for this card."}},"required":["retained"]},"example":{"retained":true}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"413":{"$ref":"#/components/responses/PayloadTooLargeProblem"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeProblem"},"422":{"$ref":"#/components/responses/ValidationErrorProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"connectionId":{"type":"string","minLength":1,"description":"Identifies the referenced connection."},"activityId":{"type":"string","minLength":1,"description":"Identifies the referenced activity."},"content":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"Content, in order."},"structuredContent":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Structured content for this record."}},"required":["connectionId","activityId"]},"example":{"connectionId":"example","activityId":"example"}}},"description":"Fields used to record a rendered widget’s context for future turns. Required fields and constraints appear in the schema below."},"security":[{"sessionCookie":[]}],"parameters":[{"$ref":"#/components/parameters/DocketVersion"}]}},"/v1/oauth/clients/{clientId}/metadata":{"get":{"operationId":"getV1OauthClientsByClientIdMetadata","summary":"Get an OAuth client’s display metadata","tags":["Authentication"],"description":"## Purpose\n\nGet an OAuth client’s display metadata.\n\n## Inputs and constraints\n\nSupply the path parameters documented below.\n\n## Result and side effects\n\nReturn the validated display `name` and `icon` for an OAuth client. Docket fetches and validates CIMD metadata before this operation can return it; the browser never fetches the client-provided URL. Percent-encode URL-form `clientId` values in the path. Returns **404** when Docket has not registered or authorized the client.\n\n`200` - Docket returned the requested representation.\n\n## Access and permissions\n\nUse a Docket session.\n\n## Failures and recovery\n\n`401` - Authenticate again with a valid credential for this interface.\n\n`404` - Verify the identifier and that the caller can access the resource.\n\n`406` - Request one of the response media types documented for this operation.\n\n`500` - Retry with backoff. Include X-Request-Id when reporting a persistent failure.\n\n## Related operations\n\nNone.","responses":{"200":{"description":"Docket returned the requested representation.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The OAuth client's display name."},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The OAuth client's logo URL, or null when none was supplied."}},"required":["name","icon"],"description":"Server-validated display metadata for an OAuth client (consent page)."},"example":{"name":"example","icon":"example"}}},"headers":{"Docket-Version":{"$ref":"#/components/headers/DocketVersion"},"Docket-Revision":{"$ref":"#/components/headers/DocketRevision"}}},"400":{"$ref":"#/components/responses/UnsupportedApiVersionProblem"},"401":{"$ref":"#/components/responses/UnauthorizedProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"406":{"$ref":"#/components/responses/NotAcceptableProblem"},"500":{"$ref":"#/components/responses/InternalProblem"}},"parameters":[{"in":"path","name":"clientId","schema":{"type":"string"},"required":true,"description":"Identifier of the client selected by this path parameter."},{"$ref":"#/components/parameters/DocketVersion"}],"security":[{"sessionCookie":[]}]}}},"x-tagGroups":[{"name":"Start","tags":["Config","Authentication"]},{"name":"Workspaces and access","tags":["Orgs","Members","Roles","Grants","Teams","Statuses"]},{"name":"Work","tags":["Initiatives","Programs","Projects","Milestones","Cycles","Tasks","Labels","Comments","Updates","Templates","Processes","Recurrence","Capture"]},{"name":"Find and present","tags":["Search","Mentions","Views","Display","Activity","Stream","Publishing","Objects"]},{"name":"Personal planning","tags":["Hub","Calendar","Scheduling","Agenda","Directive","DailyPlan","Time","Work location"]},{"name":"Athena and agents","tags":["Athena","Agents","Automations","Suggestions"]},{"name":"Connections","tags":["Integrations"]},{"name":"Account","tags":["Me","Notifications","Billing"]}]}