{"openapi":"3.1.0","info":{"title":"NotiCord API","version":"1.0.0","description":"Stable API for agents and scripts to configure NotiCord after the owner has connected Discord, connected Notion, and created an API key in the app."},"servers":[{"url":"https://app.noticord.com/api/v1"}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"NotiCord API key"}},"schemas":{"CapacityAction":{"type":"object","required":["href","kind","label"],"properties":{"href":{"type":"string"},"kind":{"type":"string"},"label":{"type":"string"}},"additionalProperties":false},"Error":{"type":"object","required":["error"],"properties":{"action":{"$ref":"#/components/schemas/CapacityAction"},"code":{"type":"string"},"current":{"type":"integer"},"error":{"type":"string"},"limit":{"type":"integer"},"issues":{"type":"array","items":{"type":"object","required":["path","message"],"properties":{"path":{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"integer"}]}},"message":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false},"Success":{"type":"object","required":["success"],"properties":{"success":{"const":true}},"additionalProperties":false},"CreatedId":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}},"additionalProperties":false},"EnabledRequest":{"type":"object","required":["enabled"],"properties":{"enabled":{"type":"boolean"}},"additionalProperties":false},"CollectionSourceInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"sourceType":{"type":"string","const":"all"}},"required":["sourceType"],"unevaluatedProperties":false},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"dataSourceId":{"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)$"},"sourceType":{"type":"string","const":"database"}},"required":["dataSourceId","sourceType"],"unevaluatedProperties":false},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"pageId":{"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)$"},"pageScopeMode":{"type":"string","enum":["page_only","subpages_only","page_and_subpages"]},"sourceType":{"type":"string","const":"page"}},"required":["pageId","pageScopeMode","sourceType"],"unevaluatedProperties":false}],"unevaluatedProperties":false},"CreateCommandSourceInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"sourceType":{"type":"string","const":"all"}},"required":["sourceType"],"unevaluatedProperties":false},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"dataSourceId":{"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)$"},"sourceType":{"type":"string","const":"database"}},"required":["dataSourceId","sourceType"],"unevaluatedProperties":false},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"pageId":{"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)$"},"sourceType":{"type":"string","const":"page"}},"required":["pageId","sourceType"],"unevaluatedProperties":false}],"unevaluatedProperties":false},"CollectionSourceSelection":{"type":"object","required":["sourceType","dataSourceId","pageId","pageScopeMode"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"pageScopeMode":{"type":["string","null"],"enum":["page_only","subpages_only","page_and_subpages",null]}},"additionalProperties":false},"CreateCommandSourceSelection":{"type":"object","required":["sourceType","dataSourceId","pageId"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"}},"additionalProperties":false},"WorkflowDestinationSelection":{"oneOf":[{"type":"object","required":["destinationKind","channelId","discordInstallationId"],"properties":{"destinationKind":{"const":"channel"},"channelId":{"type":"string","pattern":"^[0-9]{17,19}$"},"discordInstallationId":{"oneOf":[{"type":"string","format":"uuid"},{"const":""}]}},"additionalProperties":false},{"type":"object","required":["destinationKind","accountId"],"properties":{"destinationKind":{"const":"direct_message"},"accountId":{"type":"string","format":"uuid"}},"additionalProperties":false}]},"Schedule":{"type":"object","required":["frequency","timezone","runHour","runWeekday"],"properties":{"frequency":{"type":"string","enum":["hourly","daily","weekly"]},"timezone":{"type":"string"},"runHour":{"type":["integer","null"],"minimum":0,"maximum":23},"runWeekday":{"type":["integer","null"],"minimum":1,"maximum":7}},"additionalProperties":false},"AdditionalMention":{"type":"object","required":["kind","id","label"],"properties":{"kind":{"type":"string","enum":["role","user"]},"id":{"type":"string"},"label":{"type":"string"}},"additionalProperties":false},"DatabaseFilterDateValue":{"oneOf":[{"type":"object","required":["kind","date"],"properties":{"kind":{"const":"fixed"},"date":{"type":"string","format":"date"}},"additionalProperties":false},{"type":"object","required":["kind","days"],"properties":{"kind":{"const":"relative"},"days":{"type":"integer","minimum":-3650,"maximum":3650,"description":"Relative day offset where 0 is today, 1 is tomorrow, and -1 is yesterday."}},"additionalProperties":false}]},"DatabaseFilter":{"oneOf":[{"type":"object","required":["propertyId","operator","dateValue"],"properties":{"propertyId":{"type":"string"},"operator":{"type":"string","enum":["on","before","after","on_or_before","on_or_after"]},"dateValue":{"$ref":"#/components/schemas/DatabaseFilterDateValue"}},"additionalProperties":false},{"type":"object","required":["propertyId","operator","values"],"properties":{"propertyId":{"type":"string"},"operator":{"type":"string","enum":["is","is_not","contains","is_set","is_not_set","equals","not_equals","greater_than","greater_than_or_equal","less_than","less_than_or_equal","is_me","is_unassigned"]},"values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}]},"NotificationDisplaySettings":{"type":"object","required":["includeContentFiles","showEmptySelectedProperties","showOnlyChangedOnUpdate"],"properties":{"includeContentFiles":{"type":"boolean"},"showEmptySelectedProperties":{"type":"boolean"},"showOnlyChangedOnUpdate":{"type":"boolean"}},"additionalProperties":false},"ItemPresentation":{"type":"object","required":["cardLocale","fields","displaySettings"],"properties":{"cardLocale":{"type":"string","enum":["en-US","pt-BR","es-ES","pl-PL","fr-FR","ja-JP","de-DE","ko-KR","zh-TW","it-IT","id-ID","tr-TR","nl-NL"]},"displaySettings":{"$ref":"#/components/schemas/NotificationDisplaySettings"},"fields":{"type":"array","items":{"type":"string"}},"mentionAssignees":{"type":"boolean"}},"additionalProperties":false},"ListPresentation":{"type":"object","required":["rowFields","showHeader","sort"],"properties":{"rowFields":{"type":"array","items":{"type":"string"}},"showHeader":{"type":"boolean"},"sort":{"type":"object","required":["fieldId","direction"],"properties":{"fieldId":{"type":"string"},"direction":{"type":"string","enum":["asc","desc"]}},"additionalProperties":false}},"additionalProperties":false},"SetOptionButtonAction":{"type":"object","required":["kind","label","propertyId","propertyType","optionName"],"properties":{"kind":{"const":"set_option"},"label":{"type":"string"},"propertyId":{"type":"string"},"propertyType":{"type":"string","enum":["status","select"]},"optionName":{"type":"string"}},"additionalProperties":false},"AssignToMeButtonAction":{"type":"object","required":["kind","label","propertyId","propertyType"],"properties":{"kind":{"const":"assign_to_me"},"label":{"type":"string"},"propertyId":{"type":"string"},"propertyType":{"const":"people"}},"additionalProperties":false},"AssignToTeammateButtonAction":{"type":"object","required":["kind","label","propertyId","propertyType"],"properties":{"kind":{"const":"assign_to_teammate"},"label":{"type":"string"},"propertyId":{"type":"string"},"propertyType":{"const":"people"}},"additionalProperties":false},"AddCommentButtonAction":{"type":"object","required":["kind","label"],"properties":{"kind":{"const":"add_comment"},"label":{"type":"string"}},"additionalProperties":false},"UploadFilesButtonAction":{"type":"object","required":["kind","label"],"properties":{"kind":{"const":"upload_files"},"label":{"type":"string"}},"additionalProperties":false},"ButtonQuickAction":{"oneOf":[{"$ref":"#/components/schemas/SetOptionButtonAction"},{"$ref":"#/components/schemas/AssignToMeButtonAction"},{"$ref":"#/components/schemas/AssignToTeammateButtonAction"},{"$ref":"#/components/schemas/AddCommentButtonAction"},{"$ref":"#/components/schemas/UploadFilesButtonAction"}]},"DropdownQuickAction":{"type":"object","required":["label","optionName"],"properties":{"label":{"type":"string"},"optionName":{"type":"string"}},"additionalProperties":false},"QuickActionGroup":{"oneOf":[{"type":"object","required":["presentation","actions"],"properties":{"presentation":{"const":"buttons"},"actions":{"type":"array","items":{"$ref":"#/components/schemas/ButtonQuickAction"}}},"additionalProperties":false},{"type":"object","required":["presentation","label","propertyId","propertyType","actions"],"properties":{"presentation":{"const":"dropdown"},"label":{"type":"string"},"propertyId":{"type":"string"},"propertyType":{"type":"string","enum":["status","select"]},"actions":{"type":"array","items":{"$ref":"#/components/schemas/DropdownQuickAction"}}},"additionalProperties":false}]},"NotionWorkspace":{"type":"object","required":["id","workspaceId","name"],"properties":{"id":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"name":{"type":["string","null"]}},"additionalProperties":false},"NotionDatabaseProperty":{"type":"object","required":["id","name","type"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"options":{"type":"array","items":{"type":"string"}},"optionChoices":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"color":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false},"NotionDatabaseSummary":{"type":"object","required":["notionWorkspaceId","dataSourceId","name"],"properties":{"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":"string","format":"uuid"},"name":{"type":"string"}},"additionalProperties":false},"NotionDatabase":{"type":"object","required":["notionWorkspaceId","dataSourceId","name","properties"],"properties":{"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":"string","format":"uuid"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/NotionDatabaseProperty"}}},"additionalProperties":false},"NotionPageSearchResult":{"type":"object","required":["notionWorkspaceId","id","title"],"properties":{"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"id":{"type":"string","format":"uuid"},"title":{"type":"string"}},"additionalProperties":false},"NotionUser":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false},"DirectMessageRecipient":{"type":"object","required":["accountId","name"],"properties":{"accountId":{"type":"string","format":"uuid"},"name":{"type":["string","null"]}},"additionalProperties":false},"DiscordChannel":{"type":"object","required":["id","name","type","botHasAccess","missingPermissions","privateThreadBotHasAccess","privateThreadMissingPermissions"],"properties":{"id":{"type":"string","description":"Discord snowflake id.","minLength":17,"maxLength":19},"name":{"type":"string"},"type":{"type":"string","enum":["announcement","category","forum","private_thread","public_thread","text"]},"botHasAccess":{"type":"boolean"},"unsupportedReason":{"type":["string","null"]},"missingPermissions":{"type":"array","items":{"type":"string"}},"privateThreadBotHasAccess":{"type":"boolean"},"privateThreadMissingPermissions":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"DiscordGuildInstall":{"type":"object","required":["id","guildId","name","notionLinkUnfurlsEnabled","status","channels"],"properties":{"id":{"type":"string","format":"uuid"},"guildId":{"type":"string","description":"Discord snowflake id.","minLength":17,"maxLength":19},"name":{"type":"string"},"notionLinkUnfurlsEnabled":{"type":"boolean"},"status":{"type":"string","enum":["active","bot_removed"]},"channels":{"type":"array","items":{"$ref":"#/components/schemas/DiscordChannel"}}},"additionalProperties":false},"SetDiscordGuildNotionLinkUnfurlsRequest":{"type":"object","required":["enabled"],"properties":{"enabled":{"type":"boolean"}},"additionalProperties":false},"SetDiscordGuildNotionLinkUnfurlsResponse":{"type":"object","required":["enabled"],"properties":{"enabled":{"type":"boolean"}},"additionalProperties":false},"DiscordMentionTarget":{"type":"object","required":["id","kind","label"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["role","user"]},"label":{"type":"string"}},"additionalProperties":false},"DiscordMentionTargetsResponse":{"type":"object","required":["targets"],"properties":{"targets":{"type":"array","items":{"$ref":"#/components/schemas/DiscordMentionTarget"}}},"additionalProperties":false},"RealtimeNotificationRuleInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","allOf":[{"anyOf":[{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"sourceType":{"type":"string","const":"all"}},"required":["sourceType"]},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"dataSourceId":{"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)$"},"sourceType":{"type":"string","const":"database"}},"required":["dataSourceId","sourceType"]},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"pageId":{"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)$"},"pageScopeMode":{"type":"string","enum":["page_only","subpages_only","page_and_subpages"]},"sourceType":{"type":"string","const":"page"}},"required":["pageId","pageScopeMode","sourceType"]}]},{"anyOf":[{"anyOf":[{"type":"object","properties":{"channelId":{"type":"string","pattern":"^\\d{17,19}$"},"discordInstallationId":{"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)$"},"destinationKind":{"type":"string","const":"channel"}},"required":["channelId","discordInstallationId","destinationKind"]},{"type":"object","properties":{"accountId":{"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)$"},"destinationKind":{"type":"string","const":"direct_message"}},"required":["accountId","destinationKind"]}]},{"type":"object","properties":{"destinationKind":{"type":"string","const":"linked_thread"}},"required":["destinationKind"]}]},{"type":"object","properties":{"actionGroups":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"object","properties":{"actions":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"set_option"},"label":{"type":"string","minLength":1,"maxLength":80},"optionName":{"type":"string","minLength":1,"maxLength":100},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["status","select"]}},"required":["kind","label","optionName","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"assign_to_me"},"label":{"type":"string","minLength":1,"maxLength":80},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","const":"people"}},"required":["kind","label","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"assign_to_teammate"},"label":{"type":"string","minLength":1,"maxLength":80},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","const":"people"}},"required":["kind","label","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"add_comment"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["kind","label"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"upload_files"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["kind","label"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"presentation":{"type":"string","const":"buttons"}},"required":["actions","presentation"],"unevaluatedProperties":false},{"type":"object","properties":{"actions":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"optionName":{"type":"string","minLength":1,"maxLength":100}},"required":["label","optionName"],"unevaluatedProperties":false}},"label":{"type":"string","maxLength":80},"presentation":{"type":"string","const":"dropdown"},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["status","select"]}},"required":["actions","label","presentation","propertyId","propertyType"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"additionalMentions":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","enum":["user","role"]},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}},"customEntryLabel":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"unevaluatedProperties":false},"enabled":{"type":"boolean"},"entryLabelMode":{"type":"string","enum":["task","ticket","item","page","custom"]},"filters":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"dateValue":{"anyOf":[{"type":"object","properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"kind":{"type":"string","const":"fixed"}},"required":["date","kind"],"unevaluatedProperties":false},{"type":"object","properties":{"days":{"type":"integer","minimum":-3650,"maximum":3650},"kind":{"type":"string","const":"relative"}},"required":["days","kind"],"unevaluatedProperties":false}],"unevaluatedProperties":false},"operator":{"type":"string","enum":["on","before","after","on_or_before","on_or_after"]},"propertyId":{"type":"string","minLength":1,"maxLength":200}},"required":["dateValue","operator","propertyId"],"unevaluatedProperties":false},{"type":"object","properties":{"operator":{"type":"string","enum":["is","is_not","contains","is_set","is_not_set","equals","not_equals","greater_than","greater_than_or_equal","less_than","less_than_or_equal","is_me","is_unassigned"]},"propertyId":{"type":"string","minLength":1,"maxLength":200},"values":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["operator","propertyId","values"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"itemPresentation":{"type":"object","properties":{"cardLocale":{"type":"string","enum":["en-US","pt-BR","es-ES","pl-PL","fr-FR","ja-JP","de-DE","ko-KR","zh-TW","it-IT","id-ID","tr-TR","nl-NL"]},"displaySettings":{"type":"object","properties":{"includeContentFiles":{"type":"boolean"},"showEmptySelectedProperties":{"type":"boolean"},"showOnlyChangedOnUpdate":{"type":"boolean"}},"required":["includeContentFiles","showEmptySelectedProperties","showOnlyChangedOnUpdate"],"unevaluatedProperties":false},"fields":{"minItems":1,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"mentionAssignees":{"type":"boolean"}},"required":["cardLocale","displaySettings","fields"],"unevaluatedProperties":false},"name":{"type":"string","minLength":1,"maxLength":120},"watchedProperties":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"deliveryMode":{"type":"string","const":"realtime"},"delayMinutes":{"description":"Minutes without matching changes before delivery; 0 sends immediately.","default":0,"type":"integer","minimum":0,"maximum":60},"eventTypes":{"type":"array","items":{"type":"string","enum":["page_created","page_updated","page_deleted","comment_created"]}},"updateTypes":{"type":"array","items":{"type":"string","enum":["properties","content"]}}},"required":["actionGroups","additionalMentions","customEntryLabel","enabled","entryLabelMode","filters","itemPresentation","name","watchedProperties","deliveryMode","eventTypes","updateTypes"]}],"unevaluatedProperties":false},"ScheduledChangeNotificationRuleInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","allOf":[{"anyOf":[{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"sourceType":{"type":"string","const":"all"}},"required":["sourceType"]},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"dataSourceId":{"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)$"},"sourceType":{"type":"string","const":"database"}},"required":["dataSourceId","sourceType"]},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"pageId":{"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)$"},"pageScopeMode":{"type":"string","enum":["page_only","subpages_only","page_and_subpages"]},"sourceType":{"type":"string","const":"page"}},"required":["pageId","pageScopeMode","sourceType"]}]},{"anyOf":[{"type":"object","properties":{"channelId":{"type":"string","pattern":"^\\d{17,19}$"},"discordInstallationId":{"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)$"},"destinationKind":{"type":"string","const":"channel"}},"required":["channelId","discordInstallationId","destinationKind"]},{"type":"object","properties":{"accountId":{"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)$"},"destinationKind":{"type":"string","const":"direct_message"}},"required":["accountId","destinationKind"]}]},{"type":"object","properties":{"actionGroups":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"object","properties":{"actions":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"set_option"},"label":{"type":"string","minLength":1,"maxLength":80},"optionName":{"type":"string","minLength":1,"maxLength":100},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["status","select"]}},"required":["kind","label","optionName","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"assign_to_me"},"label":{"type":"string","minLength":1,"maxLength":80},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","const":"people"}},"required":["kind","label","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"assign_to_teammate"},"label":{"type":"string","minLength":1,"maxLength":80},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","const":"people"}},"required":["kind","label","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"add_comment"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["kind","label"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"upload_files"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["kind","label"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"presentation":{"type":"string","const":"buttons"}},"required":["actions","presentation"],"unevaluatedProperties":false},{"type":"object","properties":{"actions":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"optionName":{"type":"string","minLength":1,"maxLength":100}},"required":["label","optionName"],"unevaluatedProperties":false}},"label":{"type":"string","maxLength":80},"presentation":{"type":"string","const":"dropdown"},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["status","select"]}},"required":["actions","label","presentation","propertyId","propertyType"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"additionalMentions":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","enum":["user","role"]},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}},"customEntryLabel":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"unevaluatedProperties":false},"enabled":{"type":"boolean"},"entryLabelMode":{"type":"string","enum":["task","ticket","item","page","custom"]},"filters":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"dateValue":{"anyOf":[{"type":"object","properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"kind":{"type":"string","const":"fixed"}},"required":["date","kind"],"unevaluatedProperties":false},{"type":"object","properties":{"days":{"type":"integer","minimum":-3650,"maximum":3650},"kind":{"type":"string","const":"relative"}},"required":["days","kind"],"unevaluatedProperties":false}],"unevaluatedProperties":false},"operator":{"type":"string","enum":["on","before","after","on_or_before","on_or_after"]},"propertyId":{"type":"string","minLength":1,"maxLength":200}},"required":["dateValue","operator","propertyId"],"unevaluatedProperties":false},{"type":"object","properties":{"operator":{"type":"string","enum":["is","is_not","contains","is_set","is_not_set","equals","not_equals","greater_than","greater_than_or_equal","less_than","less_than_or_equal","is_me","is_unassigned"]},"propertyId":{"type":"string","minLength":1,"maxLength":200},"values":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["operator","propertyId","values"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"itemPresentation":{"type":"object","properties":{"cardLocale":{"type":"string","enum":["en-US","pt-BR","es-ES","pl-PL","fr-FR","ja-JP","de-DE","ko-KR","zh-TW","it-IT","id-ID","tr-TR","nl-NL"]},"displaySettings":{"type":"object","properties":{"includeContentFiles":{"type":"boolean"},"showEmptySelectedProperties":{"type":"boolean"},"showOnlyChangedOnUpdate":{"type":"boolean"}},"required":["includeContentFiles","showEmptySelectedProperties","showOnlyChangedOnUpdate"],"unevaluatedProperties":false},"fields":{"minItems":1,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"mentionAssignees":{"type":"boolean"}},"required":["cardLocale","displaySettings","fields"],"unevaluatedProperties":false},"name":{"type":"string","minLength":1,"maxLength":120},"watchedProperties":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"deliveryMode":{"type":"string","const":"scheduled_change"},"eventTypes":{"type":"array","items":{"type":"string","enum":["page_created","page_updated","page_deleted"]}},"rowFields":{"minItems":1,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"schedule":{"type":"object","properties":{"frequency":{"type":"string","enum":["hourly","daily","weekly"]},"runHour":{"anyOf":[{"type":"integer","minimum":0,"maximum":23},{"type":"null"}],"unevaluatedProperties":false},"runWeekday":{"anyOf":[{"type":"number","enum":[1,2,3,4,5,6,7]},{"type":"null"}],"unevaluatedProperties":false},"timezone":{"type":"string","minLength":1}},"required":["frequency","runHour","runWeekday","timezone"],"unevaluatedProperties":false}},"required":["actionGroups","additionalMentions","customEntryLabel","enabled","entryLabelMode","filters","itemPresentation","name","watchedProperties","deliveryMode","eventTypes","rowFields","schedule"]}],"unevaluatedProperties":false},"NotificationRuleInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"allOf":[{"anyOf":[{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"sourceType":{"type":"string","const":"all"}},"required":["sourceType"]},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"dataSourceId":{"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)$"},"sourceType":{"type":"string","const":"database"}},"required":["dataSourceId","sourceType"]},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"pageId":{"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)$"},"pageScopeMode":{"type":"string","enum":["page_only","subpages_only","page_and_subpages"]},"sourceType":{"type":"string","const":"page"}},"required":["pageId","pageScopeMode","sourceType"]}]},{"anyOf":[{"anyOf":[{"type":"object","properties":{"channelId":{"type":"string","pattern":"^\\d{17,19}$"},"discordInstallationId":{"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)$"},"destinationKind":{"type":"string","const":"channel"}},"required":["channelId","discordInstallationId","destinationKind"]},{"type":"object","properties":{"accountId":{"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)$"},"destinationKind":{"type":"string","const":"direct_message"}},"required":["accountId","destinationKind"]}]},{"type":"object","properties":{"destinationKind":{"type":"string","const":"linked_thread"}},"required":["destinationKind"]}]},{"type":"object","properties":{"actionGroups":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"object","properties":{"actions":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"set_option"},"label":{"type":"string","minLength":1,"maxLength":80},"optionName":{"type":"string","minLength":1,"maxLength":100},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["status","select"]}},"required":["kind","label","optionName","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"assign_to_me"},"label":{"type":"string","minLength":1,"maxLength":80},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","const":"people"}},"required":["kind","label","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"assign_to_teammate"},"label":{"type":"string","minLength":1,"maxLength":80},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","const":"people"}},"required":["kind","label","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"add_comment"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["kind","label"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"upload_files"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["kind","label"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"presentation":{"type":"string","const":"buttons"}},"required":["actions","presentation"],"unevaluatedProperties":false},{"type":"object","properties":{"actions":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"optionName":{"type":"string","minLength":1,"maxLength":100}},"required":["label","optionName"],"unevaluatedProperties":false}},"label":{"type":"string","maxLength":80},"presentation":{"type":"string","const":"dropdown"},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["status","select"]}},"required":["actions","label","presentation","propertyId","propertyType"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"additionalMentions":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","enum":["user","role"]},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}},"customEntryLabel":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"unevaluatedProperties":false},"enabled":{"type":"boolean"},"entryLabelMode":{"type":"string","enum":["task","ticket","item","page","custom"]},"filters":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"dateValue":{"anyOf":[{"type":"object","properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"kind":{"type":"string","const":"fixed"}},"required":["date","kind"],"unevaluatedProperties":false},{"type":"object","properties":{"days":{"type":"integer","minimum":-3650,"maximum":3650},"kind":{"type":"string","const":"relative"}},"required":["days","kind"],"unevaluatedProperties":false}],"unevaluatedProperties":false},"operator":{"type":"string","enum":["on","before","after","on_or_before","on_or_after"]},"propertyId":{"type":"string","minLength":1,"maxLength":200}},"required":["dateValue","operator","propertyId"],"unevaluatedProperties":false},{"type":"object","properties":{"operator":{"type":"string","enum":["is","is_not","contains","is_set","is_not_set","equals","not_equals","greater_than","greater_than_or_equal","less_than","less_than_or_equal","is_me","is_unassigned"]},"propertyId":{"type":"string","minLength":1,"maxLength":200},"values":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["operator","propertyId","values"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"itemPresentation":{"type":"object","properties":{"cardLocale":{"type":"string","enum":["en-US","pt-BR","es-ES","pl-PL","fr-FR","ja-JP","de-DE","ko-KR","zh-TW","it-IT","id-ID","tr-TR","nl-NL"]},"displaySettings":{"type":"object","properties":{"includeContentFiles":{"type":"boolean"},"showEmptySelectedProperties":{"type":"boolean"},"showOnlyChangedOnUpdate":{"type":"boolean"}},"required":["includeContentFiles","showEmptySelectedProperties","showOnlyChangedOnUpdate"],"unevaluatedProperties":false},"fields":{"minItems":1,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"mentionAssignees":{"type":"boolean"}},"required":["cardLocale","displaySettings","fields"],"unevaluatedProperties":false},"name":{"type":"string","minLength":1,"maxLength":120},"watchedProperties":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"deliveryMode":{"type":"string","const":"realtime"},"delayMinutes":{"description":"Minutes without matching changes before delivery; 0 sends immediately.","default":0,"type":"integer","minimum":0,"maximum":60},"eventTypes":{"type":"array","items":{"type":"string","enum":["page_created","page_updated","page_deleted","comment_created"]}},"updateTypes":{"type":"array","items":{"type":"string","enum":["properties","content"]}}},"required":["actionGroups","additionalMentions","customEntryLabel","enabled","entryLabelMode","filters","itemPresentation","name","watchedProperties","deliveryMode","eventTypes","updateTypes"]}],"unevaluatedProperties":false},{"allOf":[{"anyOf":[{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"sourceType":{"type":"string","const":"all"}},"required":["sourceType"]},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"dataSourceId":{"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)$"},"sourceType":{"type":"string","const":"database"}},"required":["dataSourceId","sourceType"]},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"pageId":{"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)$"},"pageScopeMode":{"type":"string","enum":["page_only","subpages_only","page_and_subpages"]},"sourceType":{"type":"string","const":"page"}},"required":["pageId","pageScopeMode","sourceType"]}]},{"anyOf":[{"type":"object","properties":{"channelId":{"type":"string","pattern":"^\\d{17,19}$"},"discordInstallationId":{"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)$"},"destinationKind":{"type":"string","const":"channel"}},"required":["channelId","discordInstallationId","destinationKind"]},{"type":"object","properties":{"accountId":{"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)$"},"destinationKind":{"type":"string","const":"direct_message"}},"required":["accountId","destinationKind"]}]},{"type":"object","properties":{"actionGroups":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"object","properties":{"actions":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"set_option"},"label":{"type":"string","minLength":1,"maxLength":80},"optionName":{"type":"string","minLength":1,"maxLength":100},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["status","select"]}},"required":["kind","label","optionName","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"assign_to_me"},"label":{"type":"string","minLength":1,"maxLength":80},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","const":"people"}},"required":["kind","label","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"assign_to_teammate"},"label":{"type":"string","minLength":1,"maxLength":80},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","const":"people"}},"required":["kind","label","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"add_comment"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["kind","label"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"upload_files"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["kind","label"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"presentation":{"type":"string","const":"buttons"}},"required":["actions","presentation"],"unevaluatedProperties":false},{"type":"object","properties":{"actions":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"optionName":{"type":"string","minLength":1,"maxLength":100}},"required":["label","optionName"],"unevaluatedProperties":false}},"label":{"type":"string","maxLength":80},"presentation":{"type":"string","const":"dropdown"},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["status","select"]}},"required":["actions","label","presentation","propertyId","propertyType"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"additionalMentions":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","enum":["user","role"]},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}},"customEntryLabel":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"unevaluatedProperties":false},"enabled":{"type":"boolean"},"entryLabelMode":{"type":"string","enum":["task","ticket","item","page","custom"]},"filters":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"dateValue":{"anyOf":[{"type":"object","properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"kind":{"type":"string","const":"fixed"}},"required":["date","kind"],"unevaluatedProperties":false},{"type":"object","properties":{"days":{"type":"integer","minimum":-3650,"maximum":3650},"kind":{"type":"string","const":"relative"}},"required":["days","kind"],"unevaluatedProperties":false}],"unevaluatedProperties":false},"operator":{"type":"string","enum":["on","before","after","on_or_before","on_or_after"]},"propertyId":{"type":"string","minLength":1,"maxLength":200}},"required":["dateValue","operator","propertyId"],"unevaluatedProperties":false},{"type":"object","properties":{"operator":{"type":"string","enum":["is","is_not","contains","is_set","is_not_set","equals","not_equals","greater_than","greater_than_or_equal","less_than","less_than_or_equal","is_me","is_unassigned"]},"propertyId":{"type":"string","minLength":1,"maxLength":200},"values":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["operator","propertyId","values"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"itemPresentation":{"type":"object","properties":{"cardLocale":{"type":"string","enum":["en-US","pt-BR","es-ES","pl-PL","fr-FR","ja-JP","de-DE","ko-KR","zh-TW","it-IT","id-ID","tr-TR","nl-NL"]},"displaySettings":{"type":"object","properties":{"includeContentFiles":{"type":"boolean"},"showEmptySelectedProperties":{"type":"boolean"},"showOnlyChangedOnUpdate":{"type":"boolean"}},"required":["includeContentFiles","showEmptySelectedProperties","showOnlyChangedOnUpdate"],"unevaluatedProperties":false},"fields":{"minItems":1,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"mentionAssignees":{"type":"boolean"}},"required":["cardLocale","displaySettings","fields"],"unevaluatedProperties":false},"name":{"type":"string","minLength":1,"maxLength":120},"watchedProperties":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"deliveryMode":{"type":"string","const":"scheduled_change"},"eventTypes":{"type":"array","items":{"type":"string","enum":["page_created","page_updated","page_deleted"]}},"rowFields":{"minItems":1,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"schedule":{"type":"object","properties":{"frequency":{"type":"string","enum":["hourly","daily","weekly"]},"runHour":{"anyOf":[{"type":"integer","minimum":0,"maximum":23},{"type":"null"}],"unevaluatedProperties":false},"runWeekday":{"anyOf":[{"type":"number","enum":[1,2,3,4,5,6,7]},{"type":"null"}],"unevaluatedProperties":false},"timezone":{"type":"string","minLength":1}},"required":["frequency","runHour","runWeekday","timezone"],"unevaluatedProperties":false}},"required":["actionGroups","additionalMentions","customEntryLabel","enabled","entryLabelMode","filters","itemPresentation","name","watchedProperties","deliveryMode","eventTypes","rowFields","schedule"]}],"unevaluatedProperties":false}],"unevaluatedProperties":false},"NotificationRuleListItem":{"oneOf":[{"type":"object","required":["sourceType","dataSourceId","pageId","pageScopeMode","destinationKind","channelId","discordInstallationId","id","name","deliveryMode","enabled","delayMinutes"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"pageScopeMode":{"type":["string","null"],"enum":["page_only","subpages_only","page_and_subpages",null]},"destinationKind":{"const":"channel"},"channelId":{"type":"string","pattern":"^[0-9]{17,19}$"},"discordInstallationId":{"oneOf":[{"type":"string","format":"uuid"},{"const":""}]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"deliveryMode":{"type":"string","enum":["realtime","scheduled_change"]},"enabled":{"type":"boolean"},"delayMinutes":{"type":"integer","minimum":0,"maximum":60}},"additionalProperties":false},{"type":"object","required":["sourceType","dataSourceId","pageId","pageScopeMode","destinationKind","accountId","id","name","deliveryMode","enabled","delayMinutes"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"pageScopeMode":{"type":["string","null"],"enum":["page_only","subpages_only","page_and_subpages",null]},"destinationKind":{"const":"direct_message"},"accountId":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"deliveryMode":{"type":"string","enum":["realtime","scheduled_change"]},"enabled":{"type":"boolean"},"delayMinutes":{"type":"integer","minimum":0,"maximum":60}},"additionalProperties":false},{"type":"object","required":["sourceType","dataSourceId","pageId","pageScopeMode","destinationKind","id","name","deliveryMode","enabled","delayMinutes"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"pageScopeMode":{"type":["string","null"],"enum":["page_only","subpages_only","page_and_subpages",null]},"destinationKind":{"const":"linked_thread"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"deliveryMode":{"type":"string","enum":["realtime","scheduled_change"]},"enabled":{"type":"boolean"},"delayMinutes":{"type":"integer","minimum":0,"maximum":60}},"additionalProperties":false}]},"NotificationRuleDetail":{"oneOf":[{"oneOf":[{"type":"object","required":["sourceType","dataSourceId","pageId","pageScopeMode","destinationKind","channelId","discordInstallationId","id","name","deliveryMode","delayMinutes","enabled","entryLabelMode","customEntryLabel","eventTypes","updateTypes","watchedProperties","filters","additionalMentions","itemPresentation","actionGroups"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"pageScopeMode":{"type":["string","null"],"enum":["page_only","subpages_only","page_and_subpages",null]},"destinationKind":{"const":"channel"},"channelId":{"type":"string","pattern":"^[0-9]{17,19}$"},"discordInstallationId":{"oneOf":[{"type":"string","format":"uuid"},{"const":""}]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"deliveryMode":{"const":"realtime"},"delayMinutes":{"type":"integer","minimum":0,"maximum":60},"enabled":{"type":"boolean"},"entryLabelMode":{"type":"string","enum":["task","ticket","item","page","custom"]},"customEntryLabel":{"type":["string","null"]},"eventTypes":{"type":"array","items":{"type":"string","enum":["page_created","page_updated","page_deleted","comment_created"]}},"updateTypes":{"type":"array","items":{"type":"string","enum":["properties","content"]}},"watchedProperties":{"type":"array","items":{"type":"string"}},"filters":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseFilter"}},"additionalMentions":{"type":"array","items":{"$ref":"#/components/schemas/AdditionalMention"}},"itemPresentation":{"$ref":"#/components/schemas/ItemPresentation"},"actionGroups":{"type":"array","items":{"$ref":"#/components/schemas/QuickActionGroup"}}},"additionalProperties":false},{"type":"object","required":["sourceType","dataSourceId","pageId","pageScopeMode","destinationKind","accountId","id","name","deliveryMode","delayMinutes","enabled","entryLabelMode","customEntryLabel","eventTypes","updateTypes","watchedProperties","filters","additionalMentions","itemPresentation","actionGroups"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"pageScopeMode":{"type":["string","null"],"enum":["page_only","subpages_only","page_and_subpages",null]},"destinationKind":{"const":"direct_message"},"accountId":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"deliveryMode":{"const":"realtime"},"delayMinutes":{"type":"integer","minimum":0,"maximum":60},"enabled":{"type":"boolean"},"entryLabelMode":{"type":"string","enum":["task","ticket","item","page","custom"]},"customEntryLabel":{"type":["string","null"]},"eventTypes":{"type":"array","items":{"type":"string","enum":["page_created","page_updated","page_deleted","comment_created"]}},"updateTypes":{"type":"array","items":{"type":"string","enum":["properties","content"]}},"watchedProperties":{"type":"array","items":{"type":"string"}},"filters":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseFilter"}},"additionalMentions":{"type":"array","items":{"$ref":"#/components/schemas/AdditionalMention"}},"itemPresentation":{"$ref":"#/components/schemas/ItemPresentation"},"actionGroups":{"type":"array","items":{"$ref":"#/components/schemas/QuickActionGroup"}}},"additionalProperties":false},{"type":"object","required":["sourceType","dataSourceId","pageId","pageScopeMode","destinationKind","id","name","deliveryMode","delayMinutes","enabled","entryLabelMode","customEntryLabel","eventTypes","updateTypes","watchedProperties","filters","additionalMentions","itemPresentation","actionGroups"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"pageScopeMode":{"type":["string","null"],"enum":["page_only","subpages_only","page_and_subpages",null]},"destinationKind":{"const":"linked_thread"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"deliveryMode":{"const":"realtime"},"delayMinutes":{"type":"integer","minimum":0,"maximum":60},"enabled":{"type":"boolean"},"entryLabelMode":{"type":"string","enum":["task","ticket","item","page","custom"]},"customEntryLabel":{"type":["string","null"]},"eventTypes":{"type":"array","items":{"type":"string","enum":["page_created","page_updated","page_deleted","comment_created"]}},"updateTypes":{"type":"array","items":{"type":"string","enum":["properties","content"]}},"watchedProperties":{"type":"array","items":{"type":"string"}},"filters":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseFilter"}},"additionalMentions":{"type":"array","items":{"$ref":"#/components/schemas/AdditionalMention"}},"itemPresentation":{"$ref":"#/components/schemas/ItemPresentation"},"actionGroups":{"type":"array","items":{"$ref":"#/components/schemas/QuickActionGroup"}}},"additionalProperties":false}]},{"oneOf":[{"type":"object","required":["sourceType","dataSourceId","pageId","pageScopeMode","destinationKind","channelId","discordInstallationId","id","name","deliveryMode","enabled","entryLabelMode","customEntryLabel","eventTypes","watchedProperties","filters","additionalMentions","itemPresentation","rowFields","actionGroups","schedule"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"pageScopeMode":{"type":["string","null"],"enum":["page_only","subpages_only","page_and_subpages",null]},"destinationKind":{"const":"channel"},"channelId":{"type":"string","pattern":"^[0-9]{17,19}$"},"discordInstallationId":{"oneOf":[{"type":"string","format":"uuid"},{"const":""}]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"deliveryMode":{"const":"scheduled_change"},"enabled":{"type":"boolean"},"entryLabelMode":{"type":"string","enum":["task","ticket","item","page","custom"]},"customEntryLabel":{"type":["string","null"]},"eventTypes":{"type":"array","items":{"type":"string","enum":["page_created","page_updated","page_deleted"]}},"watchedProperties":{"type":"array","items":{"type":"string"}},"filters":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseFilter"}},"additionalMentions":{"type":"array","items":{"$ref":"#/components/schemas/AdditionalMention"}},"itemPresentation":{"$ref":"#/components/schemas/ItemPresentation"},"rowFields":{"type":"array","items":{"type":"string"}},"actionGroups":{"type":"array","items":{"$ref":"#/components/schemas/QuickActionGroup"}},"schedule":{"$ref":"#/components/schemas/Schedule"}},"additionalProperties":false},{"type":"object","required":["sourceType","dataSourceId","pageId","pageScopeMode","destinationKind","accountId","id","name","deliveryMode","enabled","entryLabelMode","customEntryLabel","eventTypes","watchedProperties","filters","additionalMentions","itemPresentation","rowFields","actionGroups","schedule"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"pageScopeMode":{"type":["string","null"],"enum":["page_only","subpages_only","page_and_subpages",null]},"destinationKind":{"const":"direct_message"},"accountId":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"deliveryMode":{"const":"scheduled_change"},"enabled":{"type":"boolean"},"entryLabelMode":{"type":"string","enum":["task","ticket","item","page","custom"]},"customEntryLabel":{"type":["string","null"]},"eventTypes":{"type":"array","items":{"type":"string","enum":["page_created","page_updated","page_deleted"]}},"watchedProperties":{"type":"array","items":{"type":"string"}},"filters":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseFilter"}},"additionalMentions":{"type":"array","items":{"$ref":"#/components/schemas/AdditionalMention"}},"itemPresentation":{"$ref":"#/components/schemas/ItemPresentation"},"rowFields":{"type":"array","items":{"type":"string"}},"actionGroups":{"type":"array","items":{"$ref":"#/components/schemas/QuickActionGroup"}},"schedule":{"$ref":"#/components/schemas/Schedule"}},"additionalProperties":false}]}]},"ScheduledSummaryInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","allOf":[{"anyOf":[{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"sourceType":{"type":"string","const":"all"}},"required":["sourceType"]},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"dataSourceId":{"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)$"},"sourceType":{"type":"string","const":"database"}},"required":["dataSourceId","sourceType"]},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"pageId":{"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)$"},"pageScopeMode":{"type":"string","enum":["page_only","subpages_only","page_and_subpages"]},"sourceType":{"type":"string","const":"page"}},"required":["pageId","pageScopeMode","sourceType"]}]},{"anyOf":[{"type":"object","properties":{"channelId":{"type":"string","pattern":"^\\d{17,19}$"},"discordInstallationId":{"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)$"},"destinationKind":{"type":"string","const":"channel"}},"required":["channelId","discordInstallationId","destinationKind"]},{"type":"object","properties":{"accountId":{"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)$"},"destinationKind":{"type":"string","const":"direct_message"}},"required":["accountId","destinationKind"]}]},{"type":"object","properties":{"actionGroups":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"object","properties":{"actions":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"set_option"},"label":{"type":"string","minLength":1,"maxLength":80},"optionName":{"type":"string","minLength":1,"maxLength":100},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["status","select"]}},"required":["kind","label","optionName","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"assign_to_me"},"label":{"type":"string","minLength":1,"maxLength":80},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","const":"people"}},"required":["kind","label","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"assign_to_teammate"},"label":{"type":"string","minLength":1,"maxLength":80},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","const":"people"}},"required":["kind","label","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"add_comment"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["kind","label"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"upload_files"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["kind","label"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"presentation":{"type":"string","const":"buttons"}},"required":["actions","presentation"],"unevaluatedProperties":false},{"type":"object","properties":{"actions":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"optionName":{"type":"string","minLength":1,"maxLength":100}},"required":["label","optionName"],"unevaluatedProperties":false}},"label":{"type":"string","maxLength":80},"presentation":{"type":"string","const":"dropdown"},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["status","select"]}},"required":["actions","label","presentation","propertyId","propertyType"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"additionalMentions":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","enum":["user","role"]},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}},"enabled":{"type":"boolean"},"filterRules":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"dateValue":{"anyOf":[{"type":"object","properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"kind":{"type":"string","const":"fixed"}},"required":["date","kind"],"unevaluatedProperties":false},{"type":"object","properties":{"days":{"type":"integer","minimum":-3650,"maximum":3650},"kind":{"type":"string","const":"relative"}},"required":["days","kind"],"unevaluatedProperties":false}],"unevaluatedProperties":false},"operator":{"type":"string","enum":["on","before","after","on_or_before","on_or_after"]},"propertyId":{"type":"string","minLength":1,"maxLength":200}},"required":["dateValue","operator","propertyId"],"unevaluatedProperties":false},{"type":"object","properties":{"operator":{"type":"string","enum":["is","is_not","contains","is_set","is_not_set","equals","not_equals","greater_than","greater_than_or_equal","less_than","less_than_or_equal","is_me","is_unassigned"]},"propertyId":{"type":"string","minLength":1,"maxLength":200},"values":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["operator","propertyId","values"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"itemPresentation":{"type":"object","properties":{"cardLocale":{"type":"string","enum":["en-US","pt-BR","es-ES","pl-PL","fr-FR","ja-JP","de-DE","ko-KR","zh-TW","it-IT","id-ID","tr-TR","nl-NL"]},"displaySettings":{"type":"object","properties":{"includeContentFiles":{"type":"boolean"},"showEmptySelectedProperties":{"type":"boolean"},"showOnlyChangedOnUpdate":{"type":"boolean"}},"required":["includeContentFiles","showEmptySelectedProperties","showOnlyChangedOnUpdate"],"unevaluatedProperties":false},"fields":{"minItems":1,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"mentionAssignees":{"type":"boolean"}},"required":["cardLocale","displaySettings","fields"],"unevaluatedProperties":false},"listPresentation":{"type":"object","properties":{"rowFields":{"minItems":1,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"showHeader":{"type":"boolean"},"sort":{"type":"object","properties":{"direction":{"type":"string","enum":["asc","desc"]},"fieldId":{"type":"string","minLength":1,"maxLength":200}},"required":["direction","fieldId"],"unevaluatedProperties":false}},"required":["rowFields","showHeader","sort"],"unevaluatedProperties":false},"name":{"type":"string","minLength":1,"maxLength":120},"onlySendIfResults":{"type":"boolean"},"schedule":{"type":"object","properties":{"frequency":{"type":"string","enum":["hourly","daily","weekly"]},"runHour":{"anyOf":[{"type":"integer","minimum":0,"maximum":23},{"type":"null"}],"unevaluatedProperties":false},"runWeekday":{"anyOf":[{"type":"number","enum":[1,2,3,4,5,6,7]},{"type":"null"}],"unevaluatedProperties":false},"timezone":{"type":"string","minLength":1}},"required":["frequency","runHour","runWeekday","timezone"],"unevaluatedProperties":false}},"required":["actionGroups","additionalMentions","enabled","filterRules","itemPresentation","listPresentation","name","onlySendIfResults","schedule"]}],"unevaluatedProperties":false},"ScheduledSummaryListItem":{"oneOf":[{"type":"object","required":["sourceType","dataSourceId","pageId","pageScopeMode","destinationKind","channelId","discordInstallationId","id","name","enabled","schedule"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"pageScopeMode":{"type":["string","null"],"enum":["page_only","subpages_only","page_and_subpages",null]},"destinationKind":{"const":"channel"},"channelId":{"type":"string","pattern":"^[0-9]{17,19}$"},"discordInstallationId":{"oneOf":[{"type":"string","format":"uuid"},{"const":""}]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"enabled":{"type":"boolean"},"schedule":{"$ref":"#/components/schemas/Schedule"}},"additionalProperties":false},{"type":"object","required":["sourceType","dataSourceId","pageId","pageScopeMode","destinationKind","accountId","id","name","enabled","schedule"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"pageScopeMode":{"type":["string","null"],"enum":["page_only","subpages_only","page_and_subpages",null]},"destinationKind":{"const":"direct_message"},"accountId":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"enabled":{"type":"boolean"},"schedule":{"$ref":"#/components/schemas/Schedule"}},"additionalProperties":false}]},"ScheduledSummaryDetail":{"oneOf":[{"type":"object","required":["sourceType","dataSourceId","pageId","pageScopeMode","destinationKind","channelId","discordInstallationId","id","name","enabled","filterRules","additionalMentions","itemPresentation","listPresentation","onlySendIfResults","actionGroups","schedule"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"pageScopeMode":{"type":["string","null"],"enum":["page_only","subpages_only","page_and_subpages",null]},"destinationKind":{"const":"channel"},"channelId":{"type":"string","pattern":"^[0-9]{17,19}$"},"discordInstallationId":{"oneOf":[{"type":"string","format":"uuid"},{"const":""}]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"enabled":{"type":"boolean"},"filterRules":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseFilter"}},"additionalMentions":{"type":"array","items":{"$ref":"#/components/schemas/AdditionalMention"}},"itemPresentation":{"$ref":"#/components/schemas/ItemPresentation"},"listPresentation":{"$ref":"#/components/schemas/ListPresentation"},"onlySendIfResults":{"type":"boolean"},"actionGroups":{"type":"array","items":{"$ref":"#/components/schemas/QuickActionGroup"}},"schedule":{"$ref":"#/components/schemas/Schedule"}},"additionalProperties":false},{"type":"object","required":["sourceType","dataSourceId","pageId","pageScopeMode","destinationKind","accountId","id","name","enabled","filterRules","additionalMentions","itemPresentation","listPresentation","onlySendIfResults","actionGroups","schedule"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"pageScopeMode":{"type":["string","null"],"enum":["page_only","subpages_only","page_and_subpages",null]},"destinationKind":{"const":"direct_message"},"accountId":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"enabled":{"type":"boolean"},"filterRules":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseFilter"}},"additionalMentions":{"type":"array","items":{"$ref":"#/components/schemas/AdditionalMention"}},"itemPresentation":{"$ref":"#/components/schemas/ItemPresentation"},"listPresentation":{"$ref":"#/components/schemas/ListPresentation"},"onlySendIfResults":{"type":"boolean"},"actionGroups":{"type":"array","items":{"$ref":"#/components/schemas/QuickActionGroup"}},"schedule":{"$ref":"#/components/schemas/Schedule"}},"additionalProperties":false}]},"AutomationTemplate":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"segments":{"maxItems":50,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","maxLength":2000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variable"},"reference":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"trigger"},"variableId":{"type":"string","maxLength":216}},"required":["kind","variableId"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"action"},"variableId":{"type":"string","maxLength":216}},"required":["actionId","kind","variableId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["kind","reference"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["segments"],"additionalProperties":false,"description":"Ordered text and variable segments. Trigger references use kind=trigger and variableId. Earlier-action references use kind=action, actionId, and variableId. A created Notion page provides notion.page_title and notion.page_url; a created Discord channel or thread provides discord.channel_or_thread_name, discord.channel_or_thread_url, and discord.viewer_url. References must use an output available before the consuming action."},"AutomationInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"actions":{"maxItems":20,"type":"array","items":{"anyOf":[{"type":"object","properties":{"targetType":{"type":"string","enum":["thread","channel"]},"visibility":{"type":"string","enum":["public","private"]},"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"create_or_reuse_discord_channel_or_thread"},"nameTemplate":{"type":"object","properties":{"segments":{"maxItems":50,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","maxLength":2000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variable"},"reference":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"trigger"},"variableId":{"type":"string","maxLength":216}},"required":["kind","variableId"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"action"},"variableId":{"type":"string","maxLength":216}},"required":["actionId","kind","variableId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["kind","reference"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["segments"],"additionalProperties":false},"parentCategoryId":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},{"type":"null"}],"unevaluatedProperties":false},"parentChannelId":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},{"type":"null"}],"unevaluatedProperties":false}},"required":["targetType","discordInstallationId","id","kind","nameTemplate","parentCategoryId","parentChannelId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"add_people_or_roles_to_discord_channel_or_thread"},"targets":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","enum":["user","role"]},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}},"target":{"anyOf":[{"anyOf":[{"type":"object","properties":{"actionId":{"type":"string","maxLength":80,"pattern":"^[A-Za-z0-9_-]*$"},"kind":{"type":"string","const":"action"}},"required":["actionId","kind"],"additionalProperties":false},{"type":"object","properties":{"channelId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"fixed_channel"}},"required":["channelId","discordInstallationId","kind"],"additionalProperties":false},{"type":"object","properties":{"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"fixed_thread"},"threadId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false}},"required":["discordInstallationId","kind","threadId"],"additionalProperties":false}],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_thread"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"linked_thread"}},"required":["kind"],"additionalProperties":false}],"unevaluatedProperties":false},"recipients":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"fixed"},"targets":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","enum":["user","role"]},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}}},"required":["kind","targets"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"notion_people"},"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"dataSourceId":{"type":"string","maxLength":200},"propertyId":{"type":"string","maxLength":200}},"required":["kind","notionWorkspaceId","dataSourceId","propertyId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"linked_requester"}},"required":["kind"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["id","kind","targets","target"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"create_notion_page"},"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"null"}],"unevaluatedProperties":false},"propertyMappings":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"propertyId":{"type":"string","maxLength":200},"valueTemplate":{"type":"object","properties":{"segments":{"maxItems":50,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","maxLength":2000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variable"},"reference":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"trigger"},"variableId":{"type":"string","maxLength":216}},"required":["kind","variableId"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"action"},"variableId":{"type":"string","maxLength":216}},"required":["actionId","kind","variableId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["kind","reference"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["segments"],"additionalProperties":false}},"required":["propertyId","valueTemplate"],"additionalProperties":false}},"target":{"anyOf":[{"type":"object","properties":{"dataSourceId":{"type":"string","maxLength":200},"kind":{"type":"string","const":"database"}},"required":["dataSourceId","kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"page"},"pageId":{"type":"string","maxLength":200}},"required":["kind","pageId"],"additionalProperties":false}],"unevaluatedProperties":false},"titleTemplate":{"type":"object","properties":{"segments":{"maxItems":50,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","maxLength":2000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variable"},"reference":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"trigger"},"variableId":{"type":"string","maxLength":216}},"required":["kind","variableId"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"action"},"variableId":{"type":"string","maxLength":216}},"required":["actionId","kind","variableId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["kind","reference"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["segments"],"additionalProperties":false}},"required":["id","kind","notionWorkspaceId","propertyMappings","target","titleTemplate"],"additionalProperties":false},{"type":"object","properties":{"channelOrThreadTarget":{"anyOf":[{"anyOf":[{"type":"object","properties":{"actionId":{"type":"string","maxLength":80,"pattern":"^[A-Za-z0-9_-]*$"},"kind":{"type":"string","const":"action"}},"required":["actionId","kind"],"additionalProperties":false},{"type":"object","properties":{"channelId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"fixed_channel"}},"required":["channelId","discordInstallationId","kind"],"additionalProperties":false},{"type":"object","properties":{"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"fixed_thread"},"threadId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false}},"required":["discordInstallationId","kind","threadId"],"additionalProperties":false}],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_conversation"}},"required":["kind"],"additionalProperties":false}],"unevaluatedProperties":false},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"add_discord_embed_to_notion_page"},"notionPageTarget":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"linked_page"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","maxLength":80,"pattern":"^[A-Za-z0-9_-]*$"},"kind":{"type":"string","const":"action"}},"required":["actionId","kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"fixed_page"},"pageId":{"type":"string","maxLength":200}},"required":["kind","pageId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_page"}},"required":["kind"],"additionalProperties":false}],"unevaluatedProperties":false},"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"null"}],"unevaluatedProperties":false}},"required":["channelOrThreadTarget","id","kind","notionPageTarget","notionWorkspaceId"],"additionalProperties":false},{"type":"object","properties":{"contentTemplate":{"type":"object","properties":{"segments":{"maxItems":50,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","maxLength":2000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variable"},"reference":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"trigger"},"variableId":{"type":"string","maxLength":216}},"required":["kind","variableId"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"action"},"variableId":{"type":"string","maxLength":216}},"required":["actionId","kind","variableId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["kind","reference"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["segments"],"additionalProperties":false},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"add_comment_to_notion_page"},"notionPageTarget":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"linked_page"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","maxLength":80,"pattern":"^[A-Za-z0-9_-]*$"},"kind":{"type":"string","const":"action"}},"required":["actionId","kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"fixed_page"},"pageId":{"type":"string","maxLength":200}},"required":["kind","pageId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_page"}},"required":["kind"],"additionalProperties":false}],"unevaluatedProperties":false},"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"null"}],"unevaluatedProperties":false}},"required":["contentTemplate","id","kind","notionPageTarget","notionWorkspaceId"],"additionalProperties":false},{"type":"object","properties":{"contentTemplate":{"type":"object","properties":{"segments":{"maxItems":50,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","maxLength":2000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variable"},"reference":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"trigger"},"variableId":{"type":"string","maxLength":216}},"required":["kind","variableId"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"action"},"variableId":{"type":"string","maxLength":216}},"required":["actionId","kind","variableId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["kind","reference"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["segments"],"additionalProperties":false},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"send_plain_discord_message"},"mentions":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","enum":["user","role"]},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}},"target":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"linked_thread"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","maxLength":80,"pattern":"^[A-Za-z0-9_-]*$"},"kind":{"type":"string","const":"action"}},"required":["actionId","kind"],"additionalProperties":false},{"type":"object","properties":{"channelId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"fixed_discord_channel"}},"required":["channelId","discordInstallationId","kind"],"additionalProperties":false},{"type":"object","properties":{"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"fixed_discord_thread"},"threadId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false}},"required":["discordInstallationId","kind","threadId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_discord_channel"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_discord_thread"}},"required":["kind"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["contentTemplate","id","kind","mentions","target"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"update_notion_page"},"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"null"}],"unevaluatedProperties":false},"notionPageTarget":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"linked_page"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","maxLength":80,"pattern":"^[A-Za-z0-9_-]*$"},"kind":{"type":"string","const":"action"}},"required":["actionId","kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"fixed_page"},"pageId":{"type":"string","maxLength":200}},"required":["kind","pageId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_page"}},"required":["kind"],"additionalProperties":false}],"unevaluatedProperties":false},"property":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"page_title"},"valueTemplate":{"type":"object","properties":{"segments":{"maxItems":50,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","maxLength":2000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variable"},"reference":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"trigger"},"variableId":{"type":"string","maxLength":216}},"required":["kind","variableId"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"action"},"variableId":{"type":"string","maxLength":216}},"required":["actionId","kind","variableId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["kind","reference"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["segments"],"additionalProperties":false}},"required":["kind","valueTemplate"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"status"},"dataSourceId":{"type":"string","maxLength":200},"propertyId":{"type":"string","maxLength":200},"optionId":{"type":"string","maxLength":200}},"required":["kind","dataSourceId","propertyId","optionId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"select"},"dataSourceId":{"type":"string","maxLength":200},"propertyId":{"type":"string","maxLength":200},"optionId":{"type":"string","maxLength":200}},"required":["kind","dataSourceId","propertyId","optionId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"rich_text"},"dataSourceId":{"type":"string","maxLength":200},"propertyId":{"type":"string","maxLength":200},"valueTemplate":{"type":"object","properties":{"segments":{"maxItems":50,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","maxLength":2000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variable"},"reference":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"trigger"},"variableId":{"type":"string","maxLength":216}},"required":["kind","variableId"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"action"},"variableId":{"type":"string","maxLength":216}},"required":["actionId","kind","variableId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["kind","reference"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["segments"],"additionalProperties":false}},"required":["kind","dataSourceId","propertyId","valueTemplate"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"people"},"dataSourceId":{"type":"string","maxLength":200},"propertyId":{"type":"string","maxLength":200},"operation":{"type":"string","enum":["set","clear"]},"people":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"notionWorkspaceId":{"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)$"},"personId":{"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)$"}},"required":["notionWorkspaceId","personId"],"additionalProperties":false}}},"required":["kind","dataSourceId","propertyId","operation","people"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["id","kind","notionWorkspaceId","notionPageTarget","property"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"change_discord_thread_state"},"operation":{"type":"string","enum":["close","close_and_lock","reopen","lock","unlock"]},"target":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"fixed_thread"},"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"threadId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false}},"required":["kind","discordInstallationId","threadId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_thread"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"linked_thread"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"action"},"actionId":{"type":"string","maxLength":80,"pattern":"^[A-Za-z0-9_-]*$"}},"required":["kind","actionId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["id","kind","operation","target"],"additionalProperties":false}],"unevaluatedProperties":false}},"enabled":{"type":"boolean"},"name":{"type":"string","maxLength":120},"trigger":{"anyOf":[{"anyOf":[{"type":"object","properties":{"eventTypes":{"type":"array","items":{"type":"string","enum":["page_created","page_updated","page_deleted","comment_created"]}},"filters":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"dateValue":{"anyOf":[{"type":"object","properties":{"date":{"type":"string","maxLength":10,"pattern":"^(?:|\\d{4}-\\d{2}-\\d{2})$"},"kind":{"type":"string","const":"fixed"}},"required":["date","kind"],"additionalProperties":false},{"type":"object","properties":{"days":{"type":"integer","minimum":-3650,"maximum":3650},"kind":{"type":"string","const":"relative"}},"required":["days","kind"],"additionalProperties":false}],"unevaluatedProperties":false},"id":{"type":"string","minLength":1,"maxLength":200},"operator":{"type":"string","enum":["on","before","after","on_or_before","on_or_after"]},"propertyId":{"type":"string","maxLength":200}},"required":["dateValue","id","operator","propertyId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":200},"operator":{"type":"string","enum":["is","is_not","contains","is_set","is_not_set","equals","not_equals","greater_than","greater_than_or_equal","less_than","less_than_or_equal","is_me","is_unassigned"]},"propertyId":{"type":"string","maxLength":200},"values":{"type":"array","items":{"type":"string","maxLength":200}}},"required":["id","operator","propertyId","values"],"additionalProperties":false}],"unevaluatedProperties":false}},"kind":{"type":"string","const":"notion"},"notionWorkspaceId":{"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)$"},"source":{"anyOf":[{"type":"object","properties":{"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"null"}],"unevaluatedProperties":false},"sourceType":{"type":"string","const":"all"}},"required":["sourceType"],"additionalProperties":false},{"type":"object","properties":{"dataSourceId":{"type":"string","maxLength":200},"notionWorkspaceId":{"anyOf":[{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},{"type":"null"}],"unevaluatedProperties":false},"sourceType":{"type":"string","const":"database"}},"required":["dataSourceId","sourceType"],"additionalProperties":false},{"type":"object","properties":{"notionWorkspaceId":{"anyOf":[{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},{"type":"null"}],"unevaluatedProperties":false},"pageId":{"type":"string","maxLength":200},"pageScopeMode":{"type":"string","enum":["page_only","subpages_only","page_and_subpages"]},"sourceType":{"type":"string","const":"page"}},"required":["pageId","pageScopeMode","sourceType"],"additionalProperties":false}],"unevaluatedProperties":false},"updateTypes":{"type":"array","items":{"type":"string","enum":["properties","content"]}},"watchedProperties":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["eventTypes","filters","kind","notionWorkspaceId","source","updateTypes","watchedProperties"],"additionalProperties":false},{"type":"object","properties":{"threadStateChange":{"type":"string","enum":["closed","reopened","locked","unlocked"]},"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"eventType":{"type":"string","enum":["message_created","thread_created","channel_created","thread_state_changed"]},"filters":{"type":"object","properties":{"onlyLinkedThreads":{"type":"boolean"},"ignoreBotMessages":{"type":"boolean"},"ignoreWebhookMessages":{"type":"boolean"},"rules":{"maxItems":20,"type":"array","items":{"anyOf":[{"type":"object","properties":{"field":{"type":"string","const":""},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":""},"value":{"type":"object","properties":{"kind":{"type":"string","const":"empty"}},"required":["kind"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"message_author"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"is_any_of"},"value":{"type":"object","properties":{"members":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","const":"user"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}}},"required":["members"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"discord_member"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"is_any_of"},"value":{"type":"object","properties":{"members":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","const":"user"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}}},"required":["members"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"author_role"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"has_any_of"},"value":{"type":"object","properties":{"roles":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","const":"role"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}}},"required":["roles"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"message_text"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","enum":["contains","starts_with"]},"value":{"type":"object","properties":{"text":{"type":"string","maxLength":500}},"required":["text"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"has_attachment"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"is"},"value":{"type":"object","properties":{"choice":{"type":"string","const":"yes"}},"required":["choice"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"has_link"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"is"},"value":{"type":"object","properties":{"choice":{"type":"string","const":"yes"}},"required":["choice"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"message_mentions"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"includes_any_of"},"value":{"type":"object","properties":{"mentions":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","enum":["user","role"]},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}}},"required":["mentions"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["ignoreBotMessages","ignoreWebhookMessages","rules"],"additionalProperties":false},"kind":{"type":"string","const":"discord"},"scope":{"anyOf":[{"type":"object","properties":{"channelId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"channel"}},"required":["channelId","kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"thread"},"threadId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false}},"required":["kind","threadId"],"additionalProperties":false},{"type":"object","properties":{"categoryId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"category"}},"required":["categoryId","kind"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["discordInstallationId","eventType","filters","kind","scope"],"additionalProperties":false}],"unevaluatedProperties":false},{"type":"null"}],"unevaluatedProperties":false}},"required":["actions","enabled","name","trigger"],"additionalProperties":false,"description":"Actions run in array order and require unique IDs. A target with kind=action references an earlier action by actionId, whose output must match the target type. Template segments can reference earlier outputs by actionId and variableId. When reordering API actions, keep each producer before its consumers. Shapes and field limits are checked for every request; enabling also checks event/action compatibility, references, required configuration, and provider access. Semantic configuration errors include issues with paths to the affected fields or actions. A failed action skips later actions without rolling back earlier effects."},"AutomationListItem":{"type":"object","required":["id","name","enabled","trigger"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"isPaused":{"type":"boolean"},"pausedAt":{"type":["string","null"]},"pauseReasonCode":{"type":["string","null"]},"pauseReasonDetail":{"type":["string","null"]},"enabled":{"type":"boolean"},"trigger":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"anyOf":[{"type":"object","properties":{"eventTypes":{"type":"array","items":{"type":"string","enum":["page_created","page_updated","page_deleted","comment_created"]}},"filters":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"dateValue":{"anyOf":[{"type":"object","properties":{"date":{"type":"string","maxLength":10,"pattern":"^(?:|\\d{4}-\\d{2}-\\d{2})$"},"kind":{"type":"string","const":"fixed"}},"required":["date","kind"],"additionalProperties":false},{"type":"object","properties":{"days":{"type":"integer","minimum":-3650,"maximum":3650},"kind":{"type":"string","const":"relative"}},"required":["days","kind"],"additionalProperties":false}],"unevaluatedProperties":false},"id":{"type":"string","minLength":1,"maxLength":200},"operator":{"type":"string","enum":["on","before","after","on_or_before","on_or_after"]},"propertyId":{"type":"string","maxLength":200}},"required":["dateValue","id","operator","propertyId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":200},"operator":{"type":"string","enum":["is","is_not","contains","is_set","is_not_set","equals","not_equals","greater_than","greater_than_or_equal","less_than","less_than_or_equal","is_me","is_unassigned"]},"propertyId":{"type":"string","maxLength":200},"values":{"type":"array","items":{"type":"string","maxLength":200}}},"required":["id","operator","propertyId","values"],"additionalProperties":false}],"unevaluatedProperties":false}},"kind":{"type":"string","const":"notion"},"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"null"}],"unevaluatedProperties":false},"source":{"anyOf":[{"type":"object","properties":{"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"null"}],"unevaluatedProperties":false},"sourceType":{"type":"string","const":"all"}},"required":["sourceType"],"additionalProperties":false},{"type":"object","properties":{"dataSourceId":{"type":"string","maxLength":200},"notionWorkspaceId":{"anyOf":[{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},{"type":"null"}],"unevaluatedProperties":false},"sourceType":{"type":"string","const":"database"}},"required":["dataSourceId","sourceType"],"additionalProperties":false},{"type":"object","properties":{"notionWorkspaceId":{"anyOf":[{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},{"type":"null"}],"unevaluatedProperties":false},"pageId":{"type":"string","maxLength":200},"pageScopeMode":{"type":"string","enum":["page_only","subpages_only","page_and_subpages"]},"sourceType":{"type":"string","const":"page"}},"required":["pageId","pageScopeMode","sourceType"],"additionalProperties":false}],"unevaluatedProperties":false},"updateTypes":{"type":"array","items":{"type":"string","enum":["properties","content"]}},"watchedProperties":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["eventTypes","filters","kind","notionWorkspaceId","source","updateTypes","watchedProperties"],"additionalProperties":false},{"type":"object","properties":{"threadStateChange":{"type":"string","enum":["closed","reopened","locked","unlocked"]},"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"eventType":{"type":"string","enum":["message_created","thread_created","channel_created","thread_state_changed"]},"filters":{"type":"object","properties":{"onlyLinkedThreads":{"type":"boolean"},"ignoreBotMessages":{"type":"boolean"},"ignoreWebhookMessages":{"type":"boolean"},"rules":{"maxItems":20,"type":"array","items":{"anyOf":[{"type":"object","properties":{"field":{"type":"string","const":""},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":""},"value":{"type":"object","properties":{"kind":{"type":"string","const":"empty"}},"required":["kind"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"message_author"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"is_any_of"},"value":{"type":"object","properties":{"members":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","const":"user"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}}},"required":["members"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"discord_member"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"is_any_of"},"value":{"type":"object","properties":{"members":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","const":"user"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}}},"required":["members"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"author_role"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"has_any_of"},"value":{"type":"object","properties":{"roles":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","const":"role"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}}},"required":["roles"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"message_text"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","enum":["contains","starts_with"]},"value":{"type":"object","properties":{"text":{"type":"string","maxLength":500}},"required":["text"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"has_attachment"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"is"},"value":{"type":"object","properties":{"choice":{"type":"string","const":"yes"}},"required":["choice"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"has_link"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"is"},"value":{"type":"object","properties":{"choice":{"type":"string","const":"yes"}},"required":["choice"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"message_mentions"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"includes_any_of"},"value":{"type":"object","properties":{"mentions":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","enum":["user","role"]},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}}},"required":["mentions"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["ignoreBotMessages","ignoreWebhookMessages","rules"],"additionalProperties":false},"kind":{"type":"string","const":"discord"},"scope":{"anyOf":[{"type":"object","properties":{"channelId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"channel"}},"required":["channelId","kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"thread"},"threadId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false}},"required":["kind","threadId"],"additionalProperties":false},{"type":"object","properties":{"categoryId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"category"}},"required":["categoryId","kind"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["discordInstallationId","eventType","filters","kind","scope"],"additionalProperties":false}],"unevaluatedProperties":false},{"type":"null"}],"unevaluatedProperties":false}},"additionalProperties":false},"AutomationDetail":{"type":"object","required":["id","name","enabled","trigger","actions"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"isPaused":{"type":"boolean"},"pausedAt":{"type":["string","null"]},"pauseReasonCode":{"type":["string","null"]},"pauseReasonDetail":{"type":["string","null"]},"enabled":{"type":"boolean"},"trigger":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"anyOf":[{"type":"object","properties":{"eventTypes":{"type":"array","items":{"type":"string","enum":["page_created","page_updated","page_deleted","comment_created"]}},"filters":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"dateValue":{"anyOf":[{"type":"object","properties":{"date":{"type":"string","maxLength":10,"pattern":"^(?:|\\d{4}-\\d{2}-\\d{2})$"},"kind":{"type":"string","const":"fixed"}},"required":["date","kind"],"additionalProperties":false},{"type":"object","properties":{"days":{"type":"integer","minimum":-3650,"maximum":3650},"kind":{"type":"string","const":"relative"}},"required":["days","kind"],"additionalProperties":false}],"unevaluatedProperties":false},"id":{"type":"string","minLength":1,"maxLength":200},"operator":{"type":"string","enum":["on","before","after","on_or_before","on_or_after"]},"propertyId":{"type":"string","maxLength":200}},"required":["dateValue","id","operator","propertyId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":200},"operator":{"type":"string","enum":["is","is_not","contains","is_set","is_not_set","equals","not_equals","greater_than","greater_than_or_equal","less_than","less_than_or_equal","is_me","is_unassigned"]},"propertyId":{"type":"string","maxLength":200},"values":{"type":"array","items":{"type":"string","maxLength":200}}},"required":["id","operator","propertyId","values"],"additionalProperties":false}],"unevaluatedProperties":false}},"kind":{"type":"string","const":"notion"},"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"null"}],"unevaluatedProperties":false},"source":{"anyOf":[{"type":"object","properties":{"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"null"}],"unevaluatedProperties":false},"sourceType":{"type":"string","const":"all"}},"required":["sourceType"],"additionalProperties":false},{"type":"object","properties":{"dataSourceId":{"type":"string","maxLength":200},"notionWorkspaceId":{"anyOf":[{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},{"type":"null"}],"unevaluatedProperties":false},"sourceType":{"type":"string","const":"database"}},"required":["dataSourceId","sourceType"],"additionalProperties":false},{"type":"object","properties":{"notionWorkspaceId":{"anyOf":[{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},{"type":"null"}],"unevaluatedProperties":false},"pageId":{"type":"string","maxLength":200},"pageScopeMode":{"type":"string","enum":["page_only","subpages_only","page_and_subpages"]},"sourceType":{"type":"string","const":"page"}},"required":["pageId","pageScopeMode","sourceType"],"additionalProperties":false}],"unevaluatedProperties":false},"updateTypes":{"type":"array","items":{"type":"string","enum":["properties","content"]}},"watchedProperties":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["eventTypes","filters","kind","notionWorkspaceId","source","updateTypes","watchedProperties"],"additionalProperties":false},{"type":"object","properties":{"threadStateChange":{"type":"string","enum":["closed","reopened","locked","unlocked"]},"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"eventType":{"type":"string","enum":["message_created","thread_created","channel_created","thread_state_changed"]},"filters":{"type":"object","properties":{"onlyLinkedThreads":{"type":"boolean"},"ignoreBotMessages":{"type":"boolean"},"ignoreWebhookMessages":{"type":"boolean"},"rules":{"maxItems":20,"type":"array","items":{"anyOf":[{"type":"object","properties":{"field":{"type":"string","const":""},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":""},"value":{"type":"object","properties":{"kind":{"type":"string","const":"empty"}},"required":["kind"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"message_author"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"is_any_of"},"value":{"type":"object","properties":{"members":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","const":"user"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}}},"required":["members"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"discord_member"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"is_any_of"},"value":{"type":"object","properties":{"members":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","const":"user"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}}},"required":["members"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"author_role"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"has_any_of"},"value":{"type":"object","properties":{"roles":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","const":"role"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}}},"required":["roles"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"message_text"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","enum":["contains","starts_with"]},"value":{"type":"object","properties":{"text":{"type":"string","maxLength":500}},"required":["text"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"has_attachment"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"is"},"value":{"type":"object","properties":{"choice":{"type":"string","const":"yes"}},"required":["choice"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"has_link"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"is"},"value":{"type":"object","properties":{"choice":{"type":"string","const":"yes"}},"required":["choice"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","const":"message_mentions"},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"operator":{"type":"string","const":"includes_any_of"},"value":{"type":"object","properties":{"mentions":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","enum":["user","role"]},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}}},"required":["mentions"],"additionalProperties":false}},"required":["field","id","operator","value"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["ignoreBotMessages","ignoreWebhookMessages","rules"],"additionalProperties":false},"kind":{"type":"string","const":"discord"},"scope":{"anyOf":[{"type":"object","properties":{"channelId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"channel"}},"required":["channelId","kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"thread"},"threadId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false}},"required":["kind","threadId"],"additionalProperties":false},{"type":"object","properties":{"categoryId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"category"}},"required":["categoryId","kind"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["discordInstallationId","eventType","filters","kind","scope"],"additionalProperties":false}],"unevaluatedProperties":false},{"type":"null"}],"unevaluatedProperties":false},"actions":{"type":"array","items":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"type":"object","properties":{"targetType":{"type":"string","enum":["thread","channel"]},"visibility":{"type":"string","enum":["public","private"]},"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"create_or_reuse_discord_channel_or_thread"},"nameTemplate":{"type":"object","properties":{"segments":{"maxItems":50,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","maxLength":2000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variable"},"reference":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"trigger"},"variableId":{"type":"string","maxLength":216}},"required":["kind","variableId"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"action"},"variableId":{"type":"string","maxLength":216}},"required":["actionId","kind","variableId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["kind","reference"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["segments"],"additionalProperties":false},"parentCategoryId":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},{"type":"null"}],"unevaluatedProperties":false},"parentChannelId":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},{"type":"null"}],"unevaluatedProperties":false}},"required":["targetType","discordInstallationId","id","kind","nameTemplate","parentCategoryId","parentChannelId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"add_people_or_roles_to_discord_channel_or_thread"},"targets":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","enum":["user","role"]},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}},"target":{"anyOf":[{"anyOf":[{"type":"object","properties":{"actionId":{"type":"string","maxLength":80,"pattern":"^[A-Za-z0-9_-]*$"},"kind":{"type":"string","const":"action"}},"required":["actionId","kind"],"additionalProperties":false},{"type":"object","properties":{"channelId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"fixed_channel"}},"required":["channelId","discordInstallationId","kind"],"additionalProperties":false},{"type":"object","properties":{"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"fixed_thread"},"threadId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false}},"required":["discordInstallationId","kind","threadId"],"additionalProperties":false}],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_thread"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"linked_thread"}},"required":["kind"],"additionalProperties":false}],"unevaluatedProperties":false},"recipients":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"fixed"},"targets":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","enum":["user","role"]},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}}},"required":["kind","targets"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"notion_people"},"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"dataSourceId":{"type":"string","maxLength":200},"propertyId":{"type":"string","maxLength":200}},"required":["kind","notionWorkspaceId","dataSourceId","propertyId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"linked_requester"}},"required":["kind"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["id","kind","targets","target"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"create_notion_page"},"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"null"}],"unevaluatedProperties":false},"propertyMappings":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"propertyId":{"type":"string","maxLength":200},"valueTemplate":{"type":"object","properties":{"segments":{"maxItems":50,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","maxLength":2000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variable"},"reference":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"trigger"},"variableId":{"type":"string","maxLength":216}},"required":["kind","variableId"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"action"},"variableId":{"type":"string","maxLength":216}},"required":["actionId","kind","variableId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["kind","reference"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["segments"],"additionalProperties":false}},"required":["propertyId","valueTemplate"],"additionalProperties":false}},"target":{"anyOf":[{"type":"object","properties":{"dataSourceId":{"type":"string","maxLength":200},"kind":{"type":"string","const":"database"}},"required":["dataSourceId","kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"page"},"pageId":{"type":"string","maxLength":200}},"required":["kind","pageId"],"additionalProperties":false}],"unevaluatedProperties":false},"titleTemplate":{"type":"object","properties":{"segments":{"maxItems":50,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","maxLength":2000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variable"},"reference":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"trigger"},"variableId":{"type":"string","maxLength":216}},"required":["kind","variableId"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"action"},"variableId":{"type":"string","maxLength":216}},"required":["actionId","kind","variableId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["kind","reference"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["segments"],"additionalProperties":false}},"required":["id","kind","notionWorkspaceId","propertyMappings","target","titleTemplate"],"additionalProperties":false},{"type":"object","properties":{"channelOrThreadTarget":{"anyOf":[{"anyOf":[{"type":"object","properties":{"actionId":{"type":"string","maxLength":80,"pattern":"^[A-Za-z0-9_-]*$"},"kind":{"type":"string","const":"action"}},"required":["actionId","kind"],"additionalProperties":false},{"type":"object","properties":{"channelId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"fixed_channel"}},"required":["channelId","discordInstallationId","kind"],"additionalProperties":false},{"type":"object","properties":{"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"fixed_thread"},"threadId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false}},"required":["discordInstallationId","kind","threadId"],"additionalProperties":false}],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_conversation"}},"required":["kind"],"additionalProperties":false}],"unevaluatedProperties":false},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"add_discord_embed_to_notion_page"},"notionPageTarget":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"linked_page"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","maxLength":80,"pattern":"^[A-Za-z0-9_-]*$"},"kind":{"type":"string","const":"action"}},"required":["actionId","kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"fixed_page"},"pageId":{"type":"string","maxLength":200}},"required":["kind","pageId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_page"}},"required":["kind"],"additionalProperties":false}],"unevaluatedProperties":false},"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"null"}],"unevaluatedProperties":false}},"required":["channelOrThreadTarget","id","kind","notionPageTarget","notionWorkspaceId"],"additionalProperties":false},{"type":"object","properties":{"contentTemplate":{"type":"object","properties":{"segments":{"maxItems":50,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","maxLength":2000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variable"},"reference":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"trigger"},"variableId":{"type":"string","maxLength":216}},"required":["kind","variableId"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"action"},"variableId":{"type":"string","maxLength":216}},"required":["actionId","kind","variableId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["kind","reference"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["segments"],"additionalProperties":false},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"add_comment_to_notion_page"},"notionPageTarget":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"linked_page"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","maxLength":80,"pattern":"^[A-Za-z0-9_-]*$"},"kind":{"type":"string","const":"action"}},"required":["actionId","kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"fixed_page"},"pageId":{"type":"string","maxLength":200}},"required":["kind","pageId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_page"}},"required":["kind"],"additionalProperties":false}],"unevaluatedProperties":false},"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"null"}],"unevaluatedProperties":false}},"required":["contentTemplate","id","kind","notionPageTarget","notionWorkspaceId"],"additionalProperties":false},{"type":"object","properties":{"contentTemplate":{"type":"object","properties":{"segments":{"maxItems":50,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","maxLength":2000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variable"},"reference":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"trigger"},"variableId":{"type":"string","maxLength":216}},"required":["kind","variableId"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"action"},"variableId":{"type":"string","maxLength":216}},"required":["actionId","kind","variableId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["kind","reference"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["segments"],"additionalProperties":false},"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"send_plain_discord_message"},"mentions":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","enum":["user","role"]},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}},"target":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"linked_thread"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","maxLength":80,"pattern":"^[A-Za-z0-9_-]*$"},"kind":{"type":"string","const":"action"}},"required":["actionId","kind"],"additionalProperties":false},{"type":"object","properties":{"channelId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false},"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"fixed_discord_channel"}},"required":["channelId","discordInstallationId","kind"],"additionalProperties":false},{"type":"object","properties":{"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"kind":{"type":"string","const":"fixed_discord_thread"},"threadId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false}},"required":["discordInstallationId","kind","threadId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_discord_channel"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_discord_thread"}},"required":["kind"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["contentTemplate","id","kind","mentions","target"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"update_notion_page"},"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"null"}],"unevaluatedProperties":false},"notionPageTarget":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"linked_page"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","maxLength":80,"pattern":"^[A-Za-z0-9_-]*$"},"kind":{"type":"string","const":"action"}},"required":["actionId","kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"fixed_page"},"pageId":{"type":"string","maxLength":200}},"required":["kind","pageId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_page"}},"required":["kind"],"additionalProperties":false}],"unevaluatedProperties":false},"property":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"page_title"},"valueTemplate":{"type":"object","properties":{"segments":{"maxItems":50,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","maxLength":2000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variable"},"reference":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"trigger"},"variableId":{"type":"string","maxLength":216}},"required":["kind","variableId"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"action"},"variableId":{"type":"string","maxLength":216}},"required":["actionId","kind","variableId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["kind","reference"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["segments"],"additionalProperties":false}},"required":["kind","valueTemplate"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"status"},"dataSourceId":{"type":"string","maxLength":200},"propertyId":{"type":"string","maxLength":200},"optionId":{"type":"string","maxLength":200}},"required":["kind","dataSourceId","propertyId","optionId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"select"},"dataSourceId":{"type":"string","maxLength":200},"propertyId":{"type":"string","maxLength":200},"optionId":{"type":"string","maxLength":200}},"required":["kind","dataSourceId","propertyId","optionId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"rich_text"},"dataSourceId":{"type":"string","maxLength":200},"propertyId":{"type":"string","maxLength":200},"valueTemplate":{"type":"object","properties":{"segments":{"maxItems":50,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"text"},"text":{"type":"string","maxLength":2000}},"required":["kind","text"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variable"},"reference":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"trigger"},"variableId":{"type":"string","maxLength":216}},"required":["kind","variableId"],"additionalProperties":false},{"type":"object","properties":{"actionId":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"action"},"variableId":{"type":"string","maxLength":216}},"required":["actionId","kind","variableId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["kind","reference"],"additionalProperties":false}],"unevaluatedProperties":false}}},"required":["segments"],"additionalProperties":false}},"required":["kind","dataSourceId","propertyId","valueTemplate"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"people"},"dataSourceId":{"type":"string","maxLength":200},"propertyId":{"type":"string","maxLength":200},"operation":{"type":"string","enum":["set","clear"]},"people":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"notionWorkspaceId":{"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)$"},"personId":{"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)$"}},"required":["notionWorkspaceId","personId"],"additionalProperties":false}}},"required":["kind","dataSourceId","propertyId","operation","people"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["id","kind","notionWorkspaceId","notionPageTarget","property"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9_-]+$"},"kind":{"type":"string","const":"change_discord_thread_state"},"operation":{"type":"string","enum":["close","close_and_lock","reopen","lock","unlock"]},"target":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"fixed_thread"},"discordInstallationId":{"anyOf":[{"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)$"},{"type":"string","const":""}],"unevaluatedProperties":false},"threadId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"string","const":""}],"unevaluatedProperties":false}},"required":["kind","discordInstallationId","threadId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"trigger_thread"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"linked_thread"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"action"},"actionId":{"type":"string","maxLength":80,"pattern":"^[A-Za-z0-9_-]*$"}},"required":["kind","actionId"],"additionalProperties":false}],"unevaluatedProperties":false}},"required":["id","kind","operation","target"],"additionalProperties":false}],"unevaluatedProperties":false}}},"additionalProperties":false},"CreateCommandInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","allOf":[{"anyOf":[{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"sourceType":{"type":"string","const":"all"}},"required":["sourceType"]},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"dataSourceId":{"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)$"},"sourceType":{"type":"string","const":"database"}},"required":["dataSourceId","sourceType"]},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"pageId":{"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)$"},"sourceType":{"type":"string","const":"page"}},"required":["pageId","sourceType"]}]},{"type":"object","properties":{"actionGroups":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"object","properties":{"actions":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"set_option"},"label":{"type":"string","minLength":1,"maxLength":80},"optionName":{"type":"string","minLength":1,"maxLength":100},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["status","select"]}},"required":["kind","label","optionName","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"assign_to_me"},"label":{"type":"string","minLength":1,"maxLength":80},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","const":"people"}},"required":["kind","label","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"assign_to_teammate"},"label":{"type":"string","minLength":1,"maxLength":80},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","const":"people"}},"required":["kind","label","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"add_comment"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["kind","label"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"upload_files"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["kind","label"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"presentation":{"type":"string","const":"buttons"}},"required":["actions","presentation"],"unevaluatedProperties":false},{"type":"object","properties":{"actions":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"optionName":{"type":"string","minLength":1,"maxLength":100}},"required":["label","optionName"],"unevaluatedProperties":false}},"label":{"type":"string","maxLength":80},"presentation":{"type":"string","const":"dropdown"},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["status","select"]}},"required":["actions","label","presentation","propertyId","propertyType"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"createCommandConfig":{"type":"object","properties":{"createCommandName":{"type":"string","minLength":1,"maxLength":32,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"messageActionEnabled":{"type":"boolean"},"fixedValues":{"default":[],"type":"array","items":{"type":"object","properties":{"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyName":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["rich_text","number","select","multi_select","date","checkbox","url","email","phone_number","status"]},"value":{"anyOf":[{"type":"string","maxLength":2000},{"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}],"unevaluatedProperties":false}},"required":["propertyId","propertyName","propertyType","value"],"unevaluatedProperties":false}},"modalFields":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyName":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["title","rich_text","number","select","multi_select","date","people","checkbox","url","email","phone_number","status","relation","content","attachments"]},"required":{"type":"boolean"}},"required":["propertyId","propertyName","propertyType","required"],"unevaluatedProperties":false}}},"required":["createCommandName","messageActionEnabled","modalFields"],"unevaluatedProperties":false},"itemPresentation":{"type":"object","properties":{"cardLocale":{"type":"string","enum":["en-US","pt-BR","es-ES","pl-PL","fr-FR","ja-JP","de-DE","ko-KR","zh-TW","it-IT","id-ID","tr-TR","nl-NL"]},"displaySettings":{"type":"object","properties":{"includeContentFiles":{"type":"boolean"},"showEmptySelectedProperties":{"type":"boolean"},"showOnlyChangedOnUpdate":{"type":"boolean"}},"required":["includeContentFiles","showEmptySelectedProperties","showOnlyChangedOnUpdate"],"unevaluatedProperties":false},"fields":{"minItems":1,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"mentionAssignees":{"type":"boolean"}},"required":["cardLocale","displaySettings","fields"],"unevaluatedProperties":false},"name":{"type":"string","minLength":1,"maxLength":80},"threadConfig":{"anyOf":[{"type":"object","properties":{"enabled":{"type":"boolean","const":false}},"required":["enabled"],"unevaluatedProperties":false},{"type":"object","properties":{"additionalMembers":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{17,19}$"},"kind":{"type":"string","enum":["user","role"]},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["id","kind","label"],"unevaluatedProperties":false}},"enabled":{"type":"boolean","const":true},"parentChannelId":{"type":"string","pattern":"^\\d{17,19}$"}},"required":["additionalMembers","enabled","parentChannelId"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"required":["actionGroups","createCommandConfig","itemPresentation","name","threadConfig"]}],"unevaluatedProperties":false},"CreateCommandModalField":{"type":"object","required":["propertyId","propertyName","propertyType","required"],"properties":{"propertyId":{"type":"string"},"propertyName":{"type":"string"},"propertyType":{"type":"string","enum":["title","rich_text","number","select","multi_select","date","people","checkbox","url","email","phone_number","status","relation","content","attachments"]},"required":{"type":"boolean"}},"additionalProperties":false},"CreateCommandFixedValue":{"type":"object","required":["propertyId","propertyName","propertyType","value"],"properties":{"propertyId":{"type":"string"},"propertyName":{"type":"string"},"propertyType":{"type":"string","enum":["rich_text","number","select","multi_select","date","checkbox","url","email","phone_number","status"]},"value":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false},"CreateCommandThreadConfig":{"oneOf":[{"type":"object","required":["enabled"],"properties":{"enabled":{"const":false}},"additionalProperties":false},{"type":"object","required":["enabled","parentChannelId","additionalMembers"],"properties":{"enabled":{"const":true},"parentChannelId":{"type":"string","description":"Discord snowflake id.","minLength":17,"maxLength":19},"additionalMembers":{"type":"array","items":{"$ref":"#/components/schemas/AdditionalMention"}}},"additionalProperties":false}]},"CreateCommandListItem":{"oneOf":[{"type":"object","required":["sourceType","dataSourceId","pageId","id","name","createCommandName","messageActionEnabled"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"createCommandName":{"type":"string"},"messageActionEnabled":{"type":"boolean"}},"additionalProperties":false}]},"PublicApiCreateCommand":{"oneOf":[{"type":"object","required":["sourceType","dataSourceId","pageId","id","name","createCommandConfig","threadConfig","itemPresentation","actionGroups"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"createCommandConfig":{"type":"object","required":["createCommandName","messageActionEnabled","modalFields","fixedValues"],"properties":{"createCommandName":{"type":"string"},"messageActionEnabled":{"type":"boolean"},"modalFields":{"type":"array","items":{"$ref":"#/components/schemas/CreateCommandModalField"}},"fixedValues":{"type":"array","items":{"$ref":"#/components/schemas/CreateCommandFixedValue"}}},"additionalProperties":false},"threadConfig":{"$ref":"#/components/schemas/CreateCommandThreadConfig"},"itemPresentation":{"$ref":"#/components/schemas/ItemPresentation"},"actionGroups":{"type":"array","items":{"$ref":"#/components/schemas/QuickActionGroup"}}},"additionalProperties":false}]},"PageListInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","allOf":[{"anyOf":[{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"sourceType":{"type":"string","const":"all"}},"required":["sourceType"]},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"dataSourceId":{"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)$"},"sourceType":{"type":"string","const":"database"}},"required":["dataSourceId","sourceType"]},{"type":"object","properties":{"notionWorkspaceId":{"description":"Connection id from GET /notion/workspaces. Required for creation when multiple workspaces are connected; updates retain the saved connection when omitted.","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)$"},"pageId":{"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)$"},"pageScopeMode":{"type":"string","enum":["page_only","subpages_only","page_and_subpages"]},"sourceType":{"type":"string","const":"page"}},"required":["pageId","pageScopeMode","sourceType"]}]},{"type":"object","properties":{"actionGroups":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"object","properties":{"actions":{"maxItems":5,"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","const":"set_option"},"label":{"type":"string","minLength":1,"maxLength":80},"optionName":{"type":"string","minLength":1,"maxLength":100},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["status","select"]}},"required":["kind","label","optionName","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"assign_to_me"},"label":{"type":"string","minLength":1,"maxLength":80},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","const":"people"}},"required":["kind","label","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"assign_to_teammate"},"label":{"type":"string","minLength":1,"maxLength":80},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","const":"people"}},"required":["kind","label","propertyId","propertyType"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"add_comment"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["kind","label"],"unevaluatedProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"upload_files"},"label":{"type":"string","minLength":1,"maxLength":80}},"required":["kind","label"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"presentation":{"type":"string","const":"buttons"}},"required":["actions","presentation"],"unevaluatedProperties":false},{"type":"object","properties":{"actions":{"maxItems":25,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"optionName":{"type":"string","minLength":1,"maxLength":100}},"required":["label","optionName"],"unevaluatedProperties":false}},"label":{"type":"string","maxLength":80},"presentation":{"type":"string","const":"dropdown"},"propertyId":{"type":"string","minLength":1,"maxLength":200},"propertyType":{"type":"string","enum":["status","select"]}},"required":["actions","label","presentation","propertyId","propertyType"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"channelSharing":{"type":"string","enum":["off","one_time","refreshable"]},"commandName":{"type":"string","minLength":1,"maxLength":32,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"filterRules":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"dateValue":{"anyOf":[{"type":"object","properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"kind":{"type":"string","const":"fixed"}},"required":["date","kind"],"unevaluatedProperties":false},{"type":"object","properties":{"days":{"type":"integer","minimum":-3650,"maximum":3650},"kind":{"type":"string","const":"relative"}},"required":["days","kind"],"unevaluatedProperties":false}],"unevaluatedProperties":false},"operator":{"type":"string","enum":["on","before","after","on_or_before","on_or_after"]},"propertyId":{"type":"string","minLength":1,"maxLength":200}},"required":["dateValue","operator","propertyId"],"unevaluatedProperties":false},{"type":"object","properties":{"operator":{"type":"string","enum":["is","is_not","contains","is_set","is_not_set","equals","not_equals","greater_than","greater_than_or_equal","less_than","less_than_or_equal","is_me","is_unassigned"]},"propertyId":{"type":"string","minLength":1,"maxLength":200},"values":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["operator","propertyId","values"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"itemPresentation":{"type":"object","properties":{"cardLocale":{"type":"string","enum":["en-US","pt-BR","es-ES","pl-PL","fr-FR","ja-JP","de-DE","ko-KR","zh-TW","it-IT","id-ID","tr-TR","nl-NL"]},"displaySettings":{"type":"object","properties":{"includeContentFiles":{"type":"boolean"},"showEmptySelectedProperties":{"type":"boolean"},"showOnlyChangedOnUpdate":{"type":"boolean"}},"required":["includeContentFiles","showEmptySelectedProperties","showOnlyChangedOnUpdate"],"unevaluatedProperties":false},"fields":{"minItems":1,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"mentionAssignees":{"type":"boolean"}},"required":["cardLocale","displaySettings","fields"],"unevaluatedProperties":false},"listPresentation":{"type":"object","properties":{"rowFields":{"minItems":1,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"showHeader":{"type":"boolean"},"sort":{"type":"object","properties":{"direction":{"type":"string","enum":["asc","desc"]},"fieldId":{"type":"string","minLength":1,"maxLength":200}},"required":["direction","fieldId"],"unevaluatedProperties":false}},"required":["rowFields","showHeader","sort"],"unevaluatedProperties":false},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["actionGroups","channelSharing","commandName","filterRules","itemPresentation","listPresentation","name"]}],"unevaluatedProperties":false},"PageListListItem":{"oneOf":[{"type":"object","required":["sourceType","dataSourceId","pageId","pageScopeMode","id","name","channelSharing","commandName"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"pageScopeMode":{"type":["string","null"],"enum":["page_only","subpages_only","page_and_subpages",null]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"channelSharing":{"type":"string","enum":["off","one_time","refreshable"]},"commandName":{"type":"string"}},"additionalProperties":false}]},"PublicApiPageList":{"oneOf":[{"type":"object","required":["sourceType","dataSourceId","pageId","pageScopeMode","id","name","channelSharing","commandName","filterRules","listPresentation","itemPresentation","actionGroups"],"properties":{"sourceType":{"type":"string","enum":["all","database","page"]},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"dataSourceId":{"type":["string","null"],"format":"uuid"},"pageId":{"type":["string","null"],"format":"uuid"},"pageScopeMode":{"type":["string","null"],"enum":["page_only","subpages_only","page_and_subpages",null]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"channelSharing":{"type":"string","enum":["off","one_time","refreshable"]},"commandName":{"type":"string"},"filterRules":{"type":"array","items":{"$ref":"#/components/schemas/DatabaseFilter"}},"listPresentation":{"$ref":"#/components/schemas/ListPresentation"},"itemPresentation":{"$ref":"#/components/schemas/ItemPresentation"},"actionGroups":{"type":"array","items":{"$ref":"#/components/schemas/QuickActionGroup"}}},"additionalProperties":false}]},"PanelPublication":{"anyOf":[{"type":"object","required":["publishedAt","channelId","discordMessageId"],"properties":{"publishedAt":{"type":"string","format":"date-time"},"channelId":{"type":"string"},"discordMessageId":{"type":"string"}},"additionalProperties":false},{"type":"null"}]},"PanelPublishResult":{"type":"object","required":["success"],"properties":{"success":{"const":true},"warning":{"type":"string"}},"additionalProperties":false},"PanelParentPage":{"type":"object","required":["icon","id","notionWorkspaceId","title","url","workspaceName"],"properties":{"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"notionWorkspaceId":{"type":["string","null"],"format":"uuid"},"parentType":{"type":["string","null"]},"title":{"type":"string"},"url":{"type":"string","format":"uri","pattern":"^https://"},"workspaceName":{"type":["string","null"]}},"additionalProperties":false},"PanelAction":{"oneOf":[{"type":"object","required":["kind","createCommandId","label","emoji","style"],"properties":{"kind":{"const":"open_create_command"},"createCommandId":{"type":"string","format":"uuid"},"label":{"type":"string"},"emoji":{"type":["string","null"]},"parentPage":{"description":"Parent page selected for a create command that normally asks for one in Discord.","oneOf":[{"$ref":"#/components/schemas/PanelParentPage"},{"type":"null"}]},"style":{"type":"string","enum":["primary","secondary","success","danger"]}},"additionalProperties":false},{"type":"object","required":["kind","pageListId","label","emoji","style"],"properties":{"kind":{"const":"open_page_list"},"pageListId":{"type":"string","format":"uuid"},"label":{"type":"string"},"emoji":{"type":["string","null"]},"style":{"type":"string","enum":["primary","secondary","success","danger"]}},"additionalProperties":false}]},"PanelInput":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"actions":{"minItems":1,"maxItems":10,"type":"array","items":{"anyOf":[{"type":"object","properties":{"emoji":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"unevaluatedProperties":false},"label":{"type":"string","minLength":1,"maxLength":80},"style":{"type":"string","enum":["primary","secondary","success","danger"]},"createCommandId":{"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)$"},"kind":{"type":"string","const":"open_create_command"},"parentPage":{"anyOf":[{"type":"object","properties":{"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"unevaluatedProperties":false},"id":{"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)$"},"notionWorkspaceId":{"anyOf":[{"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)$"},{"type":"null"}],"unevaluatedProperties":false},"parentType":{"anyOf":[{"type":"string"},{"type":"null"}],"unevaluatedProperties":false},"title":{"type":"string","minLength":1},"url":{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},"workspaceName":{"anyOf":[{"type":"string"},{"type":"null"}],"unevaluatedProperties":false}},"required":["icon","id","notionWorkspaceId","title","url","workspaceName"],"unevaluatedProperties":false},{"type":"null"}],"unevaluatedProperties":false}},"required":["emoji","label","style","createCommandId","kind"],"unevaluatedProperties":false},{"type":"object","properties":{"emoji":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"unevaluatedProperties":false},"label":{"type":"string","minLength":1,"maxLength":80},"style":{"type":"string","enum":["primary","secondary","success","danger"]},"kind":{"type":"string","const":"open_page_list"},"pageListId":{"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)$"}},"required":["emoji","label","style","kind","pageListId"],"unevaluatedProperties":false}],"unevaluatedProperties":false}},"channelId":{"anyOf":[{"type":"string","pattern":"^\\d{17,19}$"},{"type":"null"}],"unevaluatedProperties":false},"description":{"anyOf":[{"type":"string","maxLength":3876},{"type":"null"}],"unevaluatedProperties":false},"heading":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"unevaluatedProperties":false},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["actions","channelId","description","heading","name"],"unevaluatedProperties":false},"PanelListItem":{"type":"object","required":["id","name","channelId","status","publication"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"channelId":{"type":["string","null"],"minLength":17,"maxLength":19},"status":{"type":"string","enum":["draft","published","needs_update"]},"publication":{"$ref":"#/components/schemas/PanelPublication"}},"additionalProperties":false},"PublicApiPanel":{"type":"object","required":["id","name","heading","description","channelId","status","actions","publication"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"heading":{"type":["string","null"]},"description":{"type":["string","null"]},"channelId":{"type":["string","null"],"minLength":17,"maxLength":19},"status":{"type":"string","enum":["draft","published","needs_update"]},"publication":{"$ref":"#/components/schemas/PanelPublication"},"actions":{"type":"array","items":{"$ref":"#/components/schemas/PanelAction"}}},"additionalProperties":false},"WorkflowCapacity":{"type":"object","required":["used","limit","remaining","exhausted"],"properties":{"used":{"type":"integer","minimum":0},"limit":{"type":["integer","null"],"minimum":0},"remaining":{"type":["integer","null"],"minimum":0},"exhausted":{"type":"boolean"}},"additionalProperties":false},"NotificationQuota":{"type":"object","required":["used","limit","remaining","exhausted","periodStart","periodEnd"],"properties":{"used":{"type":"integer","minimum":0},"limit":{"type":["integer","null"],"minimum":0},"remaining":{"type":["integer","null"],"minimum":0},"exhausted":{"type":"boolean"},"periodStart":{"type":["string","null"]},"periodEnd":{"type":["string","null"]}},"additionalProperties":false},"DeliveryOutcome":{"type":"object","required":["id","occurredAt","success","errorMessage","discordMessageId","warningMessage"],"properties":{"id":{"type":"string","format":"uuid"},"occurredAt":{"type":"string","format":"date-time"},"success":{"type":"boolean"},"errorMessage":{"type":["string","null"]},"discordMessageId":{"type":["string","null"]},"warningMessage":{"type":["string","null"]}},"additionalProperties":false},"AutomationRunOutcome":{"type":"object","required":["id","createdAt","status","sourceIdentity","triggerEvent","filterStatus","currentActionId","errorMessage","actionResults"],"properties":{"id":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["running","failed","skipped","success"]},"sourceIdentity":{"type":["string","null"]},"triggerEvent":{"type":"string"},"filterStatus":{"type":"string","enum":["matched","not_matched","not_evaluated"]},"currentActionId":{"type":["string","null"]},"errorMessage":{"type":["string","null"]},"actionResults":{"type":"array","items":{"type":"object","required":["actionId","actionKind","status","message"],"properties":{"actionId":{"type":"string"},"actionKind":{"type":"string","enum":["create_or_reuse_discord_channel_or_thread","add_people_or_roles_to_discord_channel_or_thread","create_notion_page","add_discord_embed_to_notion_page","add_comment_to_notion_page","send_plain_discord_message","update_notion_page","change_discord_thread_state"]},"status":{"type":"string","enum":["success","skipped","failed"]},"message":{"type":["string","null"]}},"additionalProperties":false}}},"additionalProperties":false},"NotificationHealth":{"type":"object","required":["id","enabled","isPaused","pausedAt","pauseReasonCode","pauseReasonDetail","pauseMessage","recoveryAction","resourceCapacity","notificationQuota","lastRunAt","latestDelivery","lastSuccessfulDelivery","pendingCount","nextSendAt"],"properties":{"id":{"type":"string","format":"uuid"},"enabled":{"type":"boolean"},"isPaused":{"type":"boolean"},"pausedAt":{"type":["string","null"]},"pauseReasonCode":{"type":["string","null"],"enum":["notion_connection_required","notion_token_invalid","notion_source_unavailable","discord_channel_unavailable","discord_missing_access","discord_missing_permissions","discord_recipient_unavailable","discord_direct_message_unavailable",null]},"pauseReasonDetail":{"type":["string","null"]},"pauseMessage":{"type":["string","null"]},"recoveryAction":{"anyOf":[{"type":"object","required":["actionKind","actionLabel","actionPath"],"properties":{"actionKind":{"type":"string","enum":["app","docs"]},"actionLabel":{"type":"string"},"actionPath":{"type":"string"}},"additionalProperties":false},{"type":"null"}]},"resourceCapacity":{"$ref":"#/components/schemas/WorkflowCapacity"},"notificationQuota":{"$ref":"#/components/schemas/NotificationQuota"},"lastRunAt":{"type":["string","null"]},"latestDelivery":{"anyOf":[{"$ref":"#/components/schemas/DeliveryOutcome"},{"type":"null"}]},"lastSuccessfulDelivery":{"anyOf":[{"$ref":"#/components/schemas/DeliveryOutcome"},{"type":"null"}]},"pendingCount":{"type":"integer","minimum":0},"nextSendAt":{"type":["string","null"]}},"additionalProperties":false},"SummaryHealth":{"type":"object","required":["id","enabled","isPaused","pausedAt","pauseReasonCode","pauseReasonDetail","pauseMessage","recoveryAction","resourceCapacity","notificationQuota","lastRunAt","latestDelivery","lastSuccessfulDelivery","lastRunOutcome"],"properties":{"id":{"type":"string","format":"uuid"},"enabled":{"type":"boolean"},"isPaused":{"type":"boolean"},"pausedAt":{"type":["string","null"]},"pauseReasonCode":{"type":["string","null"],"enum":["notion_connection_required","notion_token_invalid","notion_source_unavailable","discord_channel_unavailable","discord_missing_access","discord_missing_permissions","discord_recipient_unavailable","discord_direct_message_unavailable",null]},"pauseReasonDetail":{"type":["string","null"]},"pauseMessage":{"type":["string","null"]},"recoveryAction":{"anyOf":[{"type":"object","required":["actionKind","actionLabel","actionPath"],"properties":{"actionKind":{"type":"string","enum":["app","docs"]},"actionLabel":{"type":"string"},"actionPath":{"type":"string"}},"additionalProperties":false},{"type":"null"}]},"resourceCapacity":{"$ref":"#/components/schemas/WorkflowCapacity"},"notificationQuota":{"$ref":"#/components/schemas/NotificationQuota"},"lastRunAt":{"type":["string","null"]},"latestDelivery":{"anyOf":[{"$ref":"#/components/schemas/DeliveryOutcome"},{"type":"null"}]},"lastSuccessfulDelivery":{"anyOf":[{"$ref":"#/components/schemas/DeliveryOutcome"},{"type":"null"}]},"lastRunOutcome":{"type":["string","null"],"enum":["sent","no_results","failed",null]}},"additionalProperties":false},"AutomationHealth":{"type":"object","required":["id","enabled","isPaused","pausedAt","pauseReasonCode","pauseReasonDetail","pauseMessage","recoveryAction","resourceCapacity","notificationQuota","latestRun","lastSuccessfulRun"],"properties":{"id":{"type":"string","format":"uuid"},"enabled":{"type":"boolean"},"isPaused":{"type":"boolean"},"pausedAt":{"type":["string","null"]},"pauseReasonCode":{"type":["string","null"],"enum":["notion_connection_required","notion_token_invalid","notion_source_unavailable","discord_channel_unavailable","discord_missing_access","discord_missing_permissions","discord_recipient_unavailable","discord_direct_message_unavailable",null]},"pauseReasonDetail":{"type":["string","null"]},"pauseMessage":{"type":["string","null"]},"recoveryAction":{"anyOf":[{"type":"object","required":["actionKind","actionLabel","actionPath"],"properties":{"actionKind":{"type":"string","enum":["app","docs"]},"actionLabel":{"type":"string"},"actionPath":{"type":"string"}},"additionalProperties":false},{"type":"null"}]},"resourceCapacity":{"$ref":"#/components/schemas/WorkflowCapacity"},"notificationQuota":{"$ref":"#/components/schemas/NotificationQuota"},"latestRun":{"anyOf":[{"$ref":"#/components/schemas/AutomationRunOutcome"},{"type":"null"}]},"lastSuccessfulRun":{"anyOf":[{"$ref":"#/components/schemas/AutomationRunOutcome"},{"type":"null"}]}},"additionalProperties":false}}},"paths":{"/notion/workspaces":{"get":{"operationId":"listNotionWorkspaces","security":[{"apiKey":[]}],"tags":["Notion"],"summary":"List connected Notion workspaces","description":"Returns only connections belonging to this key’s subscription. Use id as notionWorkspaceId in directory queries, workflow sources and Notion automation triggers/actions. workspaceId is the provider’s workspace identity and cannot replace the connection id. Names may be null or duplicated. This lists stored connections; directory requests check current Notion access.","responses":{"200":{"description":"Connected workspaces","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NotionWorkspace"}},"example":[{"id":"22222222-2222-4222-8222-222222222222","workspaceId":"33333333-3333-4333-8333-333333333333","name":"Team workspace"}]}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/notion/databases":{"get":{"operationId":"listNotionDatabases","security":[{"apiKey":[]}],"tags":["Notion"],"summary":"List shared Notion databases and data sources","description":"Use this before configuring a database-backed rule, summary, create command, page list, filter, field, modal field, watched property, or quick action. It returns only shared Notion databases and data sources that NotiCord can use as configuration sources.","parameters":[{"name":"notionWorkspaceId","in":"query","required":false,"description":"Subscription-local connection id from GET /notion/workspaces. Required when multiple workspaces are connected. This is not Notion’s workspaceId.","schema":{"type":"string","format":"uuid"}},{"name":"refresh","in":"query","required":false,"description":"Set to true to refresh Notion directory cache.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Databases available to the Notion connection","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NotionDatabaseSummary"}}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"409":{"description":"Choose a Notion workspace connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"WORKSPACE_SCOPE_REQUIRED","error":"Select notionWorkspaceId from GET /api/v1/notion/workspaces."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/notion/databases/{dataSourceId}":{"get":{"operationId":"getNotionDatabase","security":[{"apiKey":[]}],"tags":["Notion"],"summary":"Get one Notion database/data-source with properties","description":"Use this after choosing a Notion dataSourceId to inspect the database properties available to NotiCord configuration for filters, displayed fields, modal fields, watched properties, and database quick actions.","parameters":[{"name":"dataSourceId","in":"path","required":true,"description":"Notion data source id.","schema":{"type":"string","format":"uuid"}},{"name":"notionWorkspaceId","in":"query","required":false,"description":"Subscription-local connection id from GET /notion/workspaces. Required when multiple workspaces are connected. This is not Notion’s workspaceId.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Database detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotionDatabase"}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"409":{"description":"Choose a Notion workspace connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"WORKSPACE_SCOPE_REQUIRED","error":"Select notionWorkspaceId from GET /api/v1/notion/workspaces."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/notion/databases/{dataSourceId}/relation-pages/search":{"get":{"operationId":"searchNotionRelationPages","security":[{"apiKey":[]}],"tags":["Notion"],"summary":"Search pages for a relation property on a Notion database","description":"Use this only while configuring a database relation property value, such as a filter value that must point at a related Notion page. It avoids exposing unrelated Notion search data.","parameters":[{"name":"dataSourceId","in":"path","required":true,"description":"Notion data source id.","schema":{"type":"string","format":"uuid"}},{"name":"notionWorkspaceId","in":"query","required":false,"description":"Subscription-local connection id from GET /notion/workspaces. Required when multiple workspaces are connected. This is not Notion’s workspaceId.","schema":{"type":"string","format":"uuid"}},{"name":"propertyId","in":"query","required":true,"description":"Relation property id on the source database.","schema":{"type":"string"}},{"name":"query","in":"query","required":false,"description":"Search text.","schema":{"type":"string"}}],"responses":{"200":{"description":"Matching relation pages","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NotionPageSearchResult"}}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"409":{"description":"Choose a Notion workspace connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"WORKSPACE_SCOPE_REQUIRED","error":"Select notionWorkspaceId from GET /api/v1/notion/workspaces."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/notion/pages/search":{"get":{"operationId":"searchNotionPages","security":[{"apiKey":[]}],"tags":["Notion"],"summary":"Search shared Notion pages","description":"Use this when selecting a Notion page as a source for a rule, summary, create command, or page list. It returns shared pages, including database item pages; use database endpoints when the workflow should target the whole database.","parameters":[{"name":"notionWorkspaceId","in":"query","required":false,"description":"Subscription-local connection id from GET /notion/workspaces. Required when multiple workspaces are connected. This is not Notion’s workspaceId.","schema":{"type":"string","format":"uuid"}},{"name":"query","in":"query","required":false,"description":"Search text, 1 to 200 characters.","schema":{"type":"string","minLength":1,"maxLength":200}}],"responses":{"200":{"description":"Matching pages","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NotionPageSearchResult"}}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"409":{"description":"Choose a Notion workspace connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"WORKSPACE_SCOPE_REQUIRED","error":"Select notionWorkspaceId from GET /api/v1/notion/workspaces."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/notion/users":{"get":{"operationId":"listNotionUsers","security":[{"apiKey":[]}],"tags":["Notion"],"summary":"List Notion users for people-field values","parameters":[{"name":"notionWorkspaceId","in":"query","required":false,"description":"Subscription-local connection id from GET /notion/workspaces. Required when multiple workspaces are connected. This is not Notion’s workspaceId.","schema":{"type":"string","format":"uuid"}}],"description":"Use this when configuration needs a Notion user id for People-property filter values or create-command People modal fields.","responses":{"200":{"description":"Notion users","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NotionUser"}}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"409":{"description":"Choose a Notion workspace connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"WORKSPACE_SCOPE_REQUIRED","error":"Select notionWorkspaceId from GET /api/v1/notion/workspaces."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/discord/guild-installations":{"get":{"operationId":"listDiscordGuildInstallations","security":[{"apiKey":[]}],"tags":["Discord"],"summary":"List connected Discord servers and usable channels","description":"Returns installations owned by this key’s subscription. Use id as discordInstallationId, and choose a channel from that installation. A bot_removed installation has no usable channels. Use purpose=panels for panel text/forum destinations and permission details. Panel destinations resolve the subscription-owned server from the channel when saved. Create-command private threads use a text channel in the invoking server, checked when the command creates its thread.","parameters":[{"name":"purpose","in":"query","required":false,"description":"Panel destination discovery.","schema":{"type":"string","enum":["panels"]}}],"responses":{"200":{"description":"Connected servers with channels","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DiscordGuildInstall"}}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/discord/direct-message-recipients":{"get":{"operationId":"listDirectMessageRecipients","security":[{"apiKey":[]}],"tags":["Discord"],"summary":"List allowed direct-message workflow recipients","description":"Existing members of this key’s subscription, including its owner. Use accountId with destinationKind=direct_message on notification rules and scheduled summaries. Pending invitations and foreign accounts are excluded. Names may be null or duplicated. Listing a recipient does not guarantee delivery: Discord privacy settings can block DMs. Automation fixed_discord_user targets use Discord mention-target user ids instead.","responses":{"200":{"description":"Allowed DM recipients","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DirectMessageRecipient"}},"example":[{"accountId":"44444444-4444-4444-8444-444444444444","name":"teammate"}]}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/discord/guild-install":{"get":{"operationId":"getDiscordGuildInstall","security":[{"apiKey":[]}],"tags":["Discord"],"summary":"Get a selected Discord server and usable channels","description":"Use this before choosing Discord destinations or thread channels for rules, summaries, create commands, page lists, or panels. Use purpose=panels to list text and forum destinations without fetching active threads. Forums requiring tags return unsupportedReason and cannot be used for panels.","parameters":[{"name":"discordInstallationId","in":"query","required":false,"description":"Installation id from GET /discord/guild-installations. Required when multiple servers are connected.","schema":{"type":"string","format":"uuid"}},{"name":"purpose","in":"query","required":false,"description":"Panel destination discovery.","schema":{"type":"string","enum":["panels"]}}],"responses":{"200":{"description":"Connected server with channels","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscordGuildInstall"}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"409":{"description":"Choose a Discord server installation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"DISCORD_SCOPE_REQUIRED","error":"Select discordInstallationId from GET /api/v1/discord/guild-installations."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/discord/guild-install/notion-link-unfurls":{"post":{"operationId":"setDiscordNotionLinkUnfurls","security":[{"apiKey":[]}],"tags":["Discord"],"summary":"Enable or disable Discord replies for pasted Notion links","description":"Use this to configure the connected Discord server setting that controls NotiCord replies for pasted Notion links. It is the API equivalent of that server-level setup toggle.","parameters":[{"name":"discordInstallationId","in":"query","required":false,"description":"Installation id from GET /discord/guild-installations. Required when multiple servers are connected.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetDiscordGuildNotionLinkUnfurlsRequest"},"example":{"enabled":true}}}},"responses":{"200":{"description":"Updated setting","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetDiscordGuildNotionLinkUnfurlsResponse"},"example":{"enabled":true}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"409":{"description":"Choose a Discord server installation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"DISCORD_SCOPE_REQUIRED","error":"Select discordInstallationId from GET /api/v1/discord/guild-installations."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/discord/guild-install/{guildInstallId}/notion-link-unfurls":{"post":{"operationId":"setSelectedDiscordNotionLinkUnfurls","security":[{"apiKey":[]}],"tags":["Discord"],"summary":"Set pasted Notion link previews for one server","description":"Updates only the subscription-owned installation selected by its id.","parameters":[{"name":"guildInstallId","in":"path","required":true,"description":"Installation id from GET /discord/guild-installations.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetDiscordGuildNotionLinkUnfurlsRequest"},"example":{"enabled":true}}}},"responses":{"200":{"description":"Updated setting","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetDiscordGuildNotionLinkUnfurlsResponse"},"example":{"enabled":true}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/discord/guild-install/mention-targets":{"get":{"operationId":"searchDiscordMentionTargets","security":[{"apiKey":[]}],"tags":["Discord"],"summary":"Search Discord roles and users for mentions and thread members","description":"Use this when configuration needs Discord role or user ids for additional mentions or create-command thread members. It returns only mention targets relevant to NotiCord workflow setup.","parameters":[{"name":"discordInstallationId","in":"query","required":false,"description":"Installation id from GET /discord/guild-installations. Required when multiple servers are connected.","schema":{"type":"string","format":"uuid"}},{"name":"query","in":"query","required":false,"description":"Optional search text for roles and users.","schema":{"type":"string","maxLength":50}}],"responses":{"200":{"description":"Mention targets","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscordMentionTargetsResponse"}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"409":{"description":"Choose a Discord server installation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"DISCORD_SCOPE_REQUIRED","error":"Select discordInstallationId from GET /api/v1/discord/guild-installations."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/notification-rules":{"get":{"operationId":"listNotificationRules","security":[{"apiKey":[]}],"tags":["Notification rules"],"summary":"List notification rules","description":"Use this to inventory existing notification rules before creating, replacing, disabling, or deleting NotiCord notification configuration. Channel and direct-message destinations are returned.","responses":{"200":{"description":"Rules","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NotificationRuleListItem"}}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"post":{"operationId":"createNotificationRule","security":[{"apiKey":[]}],"tags":["Notification rules"],"summary":"Create a notification rule","description":"Use this to add a NotiCord notification rule that watches a shared Notion source and sends updates to a Discord channel. For a direct-message destination, select an accountId from GET /discord/direct-message-recipients.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationRuleInput"},"example":{"notionWorkspaceId":"22222222-2222-4222-8222-222222222222","sourceType":"all","name":"All page updates","deliveryMode":"realtime","enabled":true,"destinationKind":"channel","discordInstallationId":"11111111-1111-4111-8111-111111111111","channelId":"123456789012345678","entryLabelMode":"page","customEntryLabel":null,"eventTypes":["page_created","page_updated","page_deleted","comment_created"],"updateTypes":["properties","content"],"additionalMentions":[],"itemPresentation":{"cardLocale":"en-US","fields":["__title__"],"mentionAssignees":false,"displaySettings":{"includeContentFiles":true,"showEmptySelectedProperties":true,"showOnlyChangedOnUpdate":false}},"filters":[],"watchedProperties":[],"actionGroups":[]}}}},"responses":{"201":{"description":"Created rule id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedId"},"example":{"id":"00000000-0000-0000-0000-000000000000"}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"409":{"description":"Choose a Notion workspace connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"WORKSPACE_SCOPE_REQUIRED","error":"Select notionWorkspaceId from GET /api/v1/notion/workspaces."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/notification-rules/{id}":{"get":{"operationId":"getNotificationRule","security":[{"apiKey":[]}],"tags":["Notification rules"],"summary":"Get a notification rule","description":"Use this to fetch the complete notification rule configuration before editing or cloning it, including channel and direct-message destinations.","parameters":[{"name":"id","in":"path","required":true,"description":"Notification rule id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationRuleDetail"}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"put":{"operationId":"updateNotificationRule","security":[{"apiKey":[]}],"tags":["Notification rules"],"summary":"Replace a notification rule configuration","description":"Use this to replace the full notification rule configuration, including enabled state, source, destination, filters, schedule, fields, mentions, and quick actions.","parameters":[{"name":"id","in":"path","required":true,"description":"Notification rule id.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationRuleInput"},"example":{"notionWorkspaceId":"22222222-2222-4222-8222-222222222222","sourceType":"all","name":"All page updates","deliveryMode":"realtime","enabled":true,"destinationKind":"channel","discordInstallationId":"11111111-1111-4111-8111-111111111111","channelId":"123456789012345678","entryLabelMode":"page","customEntryLabel":null,"eventTypes":["page_created","page_updated","page_deleted","comment_created"],"updateTypes":["properties","content"],"additionalMentions":[],"itemPresentation":{"cardLocale":"en-US","fields":["__title__"],"mentionAssignees":false,"displaySettings":{"includeContentFiles":true,"showEmptySelectedProperties":true,"showOnlyChangedOnUpdate":false}},"filters":[],"watchedProperties":[],"actionGroups":[]}}}},"responses":{"204":{"description":"Updated; no response body"},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"409":{"description":"Choose a Notion workspace connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"WORKSPACE_SCOPE_REQUIRED","error":"Select notionWorkspaceId from GET /api/v1/notion/workspaces."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"delete":{"operationId":"deleteNotificationRule","security":[{"apiKey":[]}],"tags":["Notification rules"],"summary":"Delete a notification rule","description":"Use this to remove a notification rule that should no longer be part of the NotiCord setup.","parameters":[{"name":"id","in":"path","required":true,"description":"Notification rule id.","schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Deleted; no response body"},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/scheduled-summaries":{"get":{"operationId":"listScheduledSummaries","security":[{"apiKey":[]}],"tags":["Scheduled summaries"],"summary":"List scheduled summaries","description":"Use this to inventory existing scheduled summaries before creating, replacing, disabling, or deleting NotiCord summary configuration. Channel and direct-message destinations are returned.","responses":{"200":{"description":"Summaries","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledSummaryListItem"}}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"post":{"operationId":"createScheduledSummary","security":[{"apiKey":[]}],"tags":["Scheduled summaries"],"summary":"Create a scheduled summary","description":"Use this to add a scheduled NotiCord summary that periodically sends matching Notion items to a Discord channel. For a direct-message destination, select an accountId from GET /discord/direct-message-recipients.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledSummaryInput"},"example":{"notionWorkspaceId":"22222222-2222-4222-8222-222222222222","sourceType":"all","name":"Daily workspace digest","destinationKind":"channel","discordInstallationId":"11111111-1111-4111-8111-111111111111","channelId":"123456789012345678","filterRules":[],"additionalMentions":[],"itemPresentation":{"cardLocale":"en-US","fields":["__title__"],"mentionAssignees":false,"displaySettings":{"includeContentFiles":true,"showEmptySelectedProperties":true,"showOnlyChangedOnUpdate":false}},"listPresentation":{"rowFields":["__title__"],"showHeader":true,"sort":{"fieldId":"__last_edited_time__","direction":"desc"}},"onlySendIfResults":true,"schedule":{"frequency":"daily","timezone":"UTC","runHour":9,"runWeekday":null},"actionGroups":[],"enabled":true}}}},"responses":{"201":{"description":"Created summary id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedId"},"example":{"id":"00000000-0000-0000-0000-000000000000"}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"409":{"description":"Choose a Notion workspace connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"WORKSPACE_SCOPE_REQUIRED","error":"Select notionWorkspaceId from GET /api/v1/notion/workspaces."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/scheduled-summaries/{summaryId}":{"get":{"operationId":"getScheduledSummary","security":[{"apiKey":[]}],"tags":["Scheduled summaries"],"summary":"Get a scheduled summary","description":"Use this to fetch the complete scheduled summary configuration before editing or cloning it, including channel and direct-message destinations.","parameters":[{"name":"summaryId","in":"path","required":true,"description":"Scheduled summary id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Summary","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledSummaryDetail"}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"put":{"operationId":"updateScheduledSummary","security":[{"apiKey":[]}],"tags":["Scheduled summaries"],"summary":"Replace a scheduled summary configuration","description":"Use this to replace the full scheduled summary configuration, including enabled state, source, destination, filters, schedule, list layout, fields, mentions, and quick actions.","parameters":[{"name":"summaryId","in":"path","required":true,"description":"Scheduled summary id.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledSummaryInput"},"example":{"notionWorkspaceId":"22222222-2222-4222-8222-222222222222","sourceType":"all","name":"Daily workspace digest","destinationKind":"channel","discordInstallationId":"11111111-1111-4111-8111-111111111111","channelId":"123456789012345678","filterRules":[],"additionalMentions":[],"itemPresentation":{"cardLocale":"en-US","fields":["__title__"],"mentionAssignees":false,"displaySettings":{"includeContentFiles":true,"showEmptySelectedProperties":true,"showOnlyChangedOnUpdate":false}},"listPresentation":{"rowFields":["__title__"],"showHeader":true,"sort":{"fieldId":"__last_edited_time__","direction":"desc"}},"onlySendIfResults":true,"schedule":{"frequency":"daily","timezone":"UTC","runHour":9,"runWeekday":null},"actionGroups":[],"enabled":true}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"success":true}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"409":{"description":"Choose a Notion workspace connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"WORKSPACE_SCOPE_REQUIRED","error":"Select notionWorkspaceId from GET /api/v1/notion/workspaces."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"delete":{"operationId":"deleteScheduledSummary","security":[{"apiKey":[]}],"tags":["Scheduled summaries"],"summary":"Delete a scheduled summary","description":"Use this to remove a scheduled summary that should no longer be part of the NotiCord setup.","parameters":[{"name":"summaryId","in":"path","required":true,"description":"Scheduled summary id.","schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Deleted; no response body"},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/automations":{"get":{"operationId":"listAutomations","security":[{"apiKey":[]}],"tags":["Automations"],"summary":"List automations","description":"Use this to inventory custom Notion and Discord automations before creating, replacing, disabling, or deleting automation configuration.","responses":{"200":{"description":"Automations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AutomationListItem"}}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"post":{"operationId":"createAutomation","security":[{"apiKey":[]}],"tags":["Automations"],"summary":"Create an automation","description":"Use this to add a blank-custom automation with one trigger, optional filters, and ordered granular actions. Update Notion page changes exactly one Page title or Status, Select, People or Rich text property per action. Linked targets require a unique registered page/thread relationship; thread-state events observe registered threads only. Dynamic People recipients use explicit identity links and never guess an account. Public API automation management does not run automations directly.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationInput"},"example":{"name":"Lead room setup","enabled":true,"trigger":{"kind":"notion","eventTypes":["page_created"],"notionWorkspaceId":"11111111-1111-4111-8111-111111111111","source":{"sourceType":"database","dataSourceId":"notion-data-source-id","notionWorkspaceId":"11111111-1111-4111-8111-111111111111"},"filters":[],"updateTypes":["properties","content"],"watchedProperties":[]},"actions":[{"id":"create-room","kind":"create_or_reuse_discord_channel_or_thread","targetType":"thread","discordInstallationId":"11111111-1111-4111-8111-111111111111","parentChannelId":"123456789012345678","parentCategoryId":null,"nameTemplate":{"segments":[{"kind":"text","text":"Lead: "},{"kind":"variable","reference":{"kind":"trigger","variableId":"notion.title"}}]}},{"id":"send-details","kind":"send_plain_discord_message","target":{"kind":"action","actionId":"create-room"},"mentions":[],"contentTemplate":{"segments":[{"kind":"text","text":"Created "},{"kind":"variable","reference":{"kind":"action","actionId":"create-room","variableId":"discord.channel_or_thread_url"}}]}}]}}}},"responses":{"201":{"description":"Created automation id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedId"},"example":{"id":"00000000-0000-0000-0000-000000000000"}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/automations/{automationId}":{"get":{"operationId":"getAutomation","security":[{"apiKey":[]}],"tags":["Automations"],"summary":"Get an automation","description":"Use this to fetch the complete automation configuration before editing or cloning it.","parameters":[{"name":"automationId","in":"path","required":true,"description":"Automation id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Automation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationDetail"}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"put":{"operationId":"replaceAutomation","security":[{"apiKey":[]}],"tags":["Automations"],"summary":"Replace an automation configuration","description":"Use this to replace the full automation configuration, including enabled state, trigger, filters, and ordered actions.","parameters":[{"name":"automationId","in":"path","required":true,"description":"Automation id.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationInput"},"example":{"name":"Lead room setup","enabled":true,"trigger":{"kind":"notion","eventTypes":["page_created"],"notionWorkspaceId":"11111111-1111-4111-8111-111111111111","source":{"sourceType":"database","dataSourceId":"notion-data-source-id","notionWorkspaceId":"11111111-1111-4111-8111-111111111111"},"filters":[],"updateTypes":["properties","content"],"watchedProperties":[]},"actions":[{"id":"create-room","kind":"create_or_reuse_discord_channel_or_thread","targetType":"thread","discordInstallationId":"11111111-1111-4111-8111-111111111111","parentChannelId":"123456789012345678","parentCategoryId":null,"nameTemplate":{"segments":[{"kind":"text","text":"Lead: "},{"kind":"variable","reference":{"kind":"trigger","variableId":"notion.title"}}]}},{"id":"send-details","kind":"send_plain_discord_message","target":{"kind":"action","actionId":"create-room"},"mentions":[],"contentTemplate":{"segments":[{"kind":"text","text":"Created "},{"kind":"variable","reference":{"kind":"action","actionId":"create-room","variableId":"discord.channel_or_thread_url"}}]}}]}}}},"responses":{"200":{"description":"Updated automation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationDetail"}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"delete":{"operationId":"deleteAutomation","security":[{"apiKey":[]}],"tags":["Automations"],"summary":"Delete an automation","description":"Use this to remove an automation that should no longer be part of the NotiCord setup.","parameters":[{"name":"automationId","in":"path","required":true,"description":"Automation id.","schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Deleted; no response body"},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/automations/{automationId}/enabled":{"put":{"operationId":"setAutomationEnabled","security":[{"apiKey":[]}],"tags":["Automations"],"summary":"Enable or disable an automation","description":"Use this to toggle automation execution without changing the saved trigger, filters, or actions.","parameters":[{"name":"automationId","in":"path","required":true,"description":"Automation id.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnabledRequest"},"example":{"enabled":true}}}},"responses":{"200":{"description":"Updated automation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationDetail"}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/create-commands":{"get":{"operationId":"listCreateCommands","security":[{"apiKey":[]}],"tags":["Create commands"],"summary":"List create commands","description":"Use this to inventory Discord create-page commands before creating, replacing, or deleting command configuration.","responses":{"200":{"description":"Create commands","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreateCommandListItem"}}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"post":{"operationId":"createCreateCommand","security":[{"apiKey":[]}],"tags":["Create commands"],"summary":"Create a create command","description":"Use this to add a Discord create-page command that creates Notion pages according to a configured source, modal, thread behavior, and quick actions.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCommandInput"},"example":{"notionWorkspaceId":"22222222-2222-4222-8222-222222222222","sourceType":"all","name":"Create page","actionGroups":[],"itemPresentation":{"cardLocale":"en-US","fields":["__title__"],"mentionAssignees":false,"displaySettings":{"includeContentFiles":true,"showEmptySelectedProperties":true,"showOnlyChangedOnUpdate":false}},"createCommandConfig":{"createCommandName":"create-page","messageActionEnabled":false,"modalFields":[{"propertyId":"__title__","propertyName":"Title","propertyType":"title","required":true}]},"threadConfig":{"enabled":false}}}}},"responses":{"200":{"description":"Created command id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedId"},"example":{"id":"00000000-0000-0000-0000-000000000000"}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"409":{"description":"Choose a Notion workspace connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"WORKSPACE_SCOPE_REQUIRED","error":"Select notionWorkspaceId from GET /api/v1/notion/workspaces."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/create-commands/{commandId}":{"get":{"operationId":"getCreateCommand","security":[{"apiKey":[]}],"tags":["Create commands"],"summary":"Get a create command","description":"Use this to fetch the complete create-command configuration before editing or cloning it.","parameters":[{"name":"commandId","in":"path","required":true,"description":"Create command id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Create command","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiCreateCommand"}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"put":{"operationId":"updateCreateCommand","security":[{"apiKey":[]}],"tags":["Create commands"],"summary":"Replace a create command configuration","description":"Use this to replace the full create-command configuration, including source, slash command name, modal fields, message action, thread settings, fields, and quick actions.","parameters":[{"name":"commandId","in":"path","required":true,"description":"Create command id.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCommandInput"},"example":{"notionWorkspaceId":"22222222-2222-4222-8222-222222222222","sourceType":"all","name":"Create page","actionGroups":[],"itemPresentation":{"cardLocale":"en-US","fields":["__title__"],"mentionAssignees":false,"displaySettings":{"includeContentFiles":true,"showEmptySelectedProperties":true,"showOnlyChangedOnUpdate":false}},"createCommandConfig":{"createCommandName":"create-page","messageActionEnabled":false,"modalFields":[{"propertyId":"__title__","propertyName":"Title","propertyType":"title","required":true}]},"threadConfig":{"enabled":false}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"success":true}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"409":{"description":"Choose a Notion workspace connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"WORKSPACE_SCOPE_REQUIRED","error":"Select notionWorkspaceId from GET /api/v1/notion/workspaces."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"delete":{"operationId":"deleteCreateCommand","security":[{"apiKey":[]}],"tags":["Create commands"],"summary":"Delete a create command","description":"Use this to remove a create-page command that should no longer be part of the NotiCord setup or available from the Discord server.","parameters":[{"name":"commandId","in":"path","required":true,"description":"Create command id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"success":true}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/page-lists":{"get":{"operationId":"listPageLists","security":[{"apiKey":[]}],"tags":["Page lists"],"summary":"List page list commands","description":"Use this to inventory Discord page-list commands before creating, replacing, or deleting command configuration.","responses":{"200":{"description":"Page lists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PageListListItem"}}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"post":{"operationId":"createPageList","security":[{"apiKey":[]}],"tags":["Page lists"],"summary":"Create a page list command","description":"Use this to add a Discord page-list command that lists Notion pages or database items using configured filters, sorting, fields, and quick actions.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageListInput"},"example":{"notionWorkspaceId":"22222222-2222-4222-8222-222222222222","sourceType":"all","name":"Recent pages","channelSharing":"one_time","commandName":"pages","filterRules":[],"actionGroups":[],"itemPresentation":{"cardLocale":"en-US","fields":["__title__"],"mentionAssignees":false,"displaySettings":{"includeContentFiles":true,"showEmptySelectedProperties":true,"showOnlyChangedOnUpdate":false}},"listPresentation":{"rowFields":["__title__"],"showHeader":true,"sort":{"fieldId":"__last_edited_time__","direction":"desc"}}}}}},"responses":{"200":{"description":"Created page list id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedId"},"example":{"id":"00000000-0000-0000-0000-000000000000"}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"409":{"description":"Choose a Notion workspace connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"WORKSPACE_SCOPE_REQUIRED","error":"Select notionWorkspaceId from GET /api/v1/notion/workspaces."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/page-lists/{listId}":{"get":{"operationId":"getPageList","security":[{"apiKey":[]}],"tags":["Page lists"],"summary":"Get a page list command","description":"Use this to fetch the complete page-list command configuration before editing or cloning it, including is-me filters and People quick actions.","parameters":[{"name":"listId","in":"path","required":true,"description":"Page list id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Page list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiPageList"}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"put":{"operationId":"updatePageList","security":[{"apiKey":[]}],"tags":["Page lists"],"summary":"Replace a page list command configuration","description":"Use this to replace the full page-list command configuration, including source, slash command name, filters, list layout, fields, and quick actions.","parameters":[{"name":"listId","in":"path","required":true,"description":"Page list id.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageListInput"},"example":{"notionWorkspaceId":"22222222-2222-4222-8222-222222222222","sourceType":"all","name":"Recent pages","channelSharing":"one_time","commandName":"pages","filterRules":[],"actionGroups":[],"itemPresentation":{"cardLocale":"en-US","fields":["__title__"],"mentionAssignees":false,"displaySettings":{"includeContentFiles":true,"showEmptySelectedProperties":true,"showOnlyChangedOnUpdate":false}},"listPresentation":{"rowFields":["__title__"],"showHeader":true,"sort":{"fieldId":"__last_edited_time__","direction":"desc"}}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"success":true}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"409":{"description":"Choose a Notion workspace connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"WORKSPACE_SCOPE_REQUIRED","error":"Select notionWorkspaceId from GET /api/v1/notion/workspaces."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"delete":{"operationId":"deletePageList","security":[{"apiKey":[]}],"tags":["Page lists"],"summary":"Delete a page list command","description":"Use this to remove a page-list command that should no longer be part of the NotiCord setup or available from the Discord server.","parameters":[{"name":"listId","in":"path","required":true,"description":"Page list id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"success":true}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/panels":{"get":{"operationId":"listPanels","security":[{"apiKey":[]}],"tags":["Panels"],"summary":"List Discord panels","description":"Use this to inventory Discord panels before creating, replacing, publishing, or deleting panel configuration.","responses":{"200":{"description":"Panels","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PanelListItem"}}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"post":{"operationId":"createPanel","security":[{"apiKey":[]}],"tags":["Panels"],"summary":"Create a Discord panel","description":"Use this to add a Discord panel that can launch already configured create commands or page-list commands from a text-channel message or a new forum post. Existing threads and announcement channels are not panel destinations.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanelInput"},"example":{"name":"Team actions","heading":"What do you need?","description":"Choose an action below.","channelId":"123456789012345678","actions":[{"kind":"open_create_command","createCommandId":"00000000-0000-0000-0000-000000000000","label":"New ticket","emoji":null,"style":"primary"}]}}}},"responses":{"200":{"description":"Created panel id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedId"},"example":{"id":"00000000-0000-0000-0000-000000000000"}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/panels/{panelId}":{"get":{"operationId":"getPanel","security":[{"apiKey":[]}],"tags":["Panels"],"summary":"Get a Discord panel","description":"Use this to fetch the complete saved panel configuration before editing, publishing, or cloning it.","parameters":[{"name":"panelId","in":"path","required":true,"description":"Panel id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Panel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiPanel"}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"put":{"operationId":"updatePanel","security":[{"apiKey":[]}],"tags":["Panels"],"summary":"Replace a Discord panel configuration","description":"Use this to replace the full panel configuration, including heading, description, target channel, and actions linked to existing create commands or page lists.","parameters":[{"name":"panelId","in":"path","required":true,"description":"Panel id.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanelInput"},"example":{"name":"Team actions","heading":"What do you need?","description":"Choose an action below.","channelId":"123456789012345678","actions":[{"kind":"open_create_command","createCommandId":"00000000-0000-0000-0000-000000000000","label":"New ticket","emoji":null,"style":"primary"}]}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"success":true}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}},"delete":{"operationId":"deletePanel","security":[{"apiKey":[]}],"tags":["Panels"],"summary":"Delete a Discord panel and its published message if present","description":"Use this to remove a panel that should no longer be part of the NotiCord Discord command surface; published panel messages are removed when possible.","parameters":[{"name":"panelId","in":"path","required":true,"description":"Panel id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"success":true}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/panels/{panelId}/publish":{"post":{"operationId":"publishPanel","security":[{"apiKey":[]}],"tags":["Panels"],"summary":"Publish or update a panel message in Discord","description":"Use this after creating or updating a panel to publish the configured panel message to Discord or refresh the already published message.","parameters":[{"name":"panelId","in":"path","required":true,"description":"Panel id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Published","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanelPublishResult"},"example":{"success":true}}}},"400":{"description":"Validation or configuration error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid input","issues":[{"path":["name"],"message":"Name is required"}]}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/docs":{"get":{"operationId":"getPublicApiDocs","tags":["Docs"],"summary":"Human-readable API documentation","description":"Use this when a human needs the readable contract for configuring NotiCord through the public API. It exists only to document the stable API surface.","responses":{"200":{"description":"API documentation","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/openapi.json":{"get":{"operationId":"getPublicApiOpenApiJson","tags":["Docs"],"summary":"OpenAPI document","description":"Use this when an AI agent, script, or API client needs the machine-readable contract for configuring NotiCord through the public API.","responses":{"200":{"description":"OpenAPI JSON","content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":true}}}}}}},"/notification-rules/{id}/health":{"get":{"operationId":"getNotificationRuleHealth","security":[{"apiKey":[]}],"tags":["Notification rules"],"summary":"Read notification delivery health","description":"Read saved enablement and pause state, pending deliveries, latest recorded attempt and last retained successful delivery, plus current capacities. No provider calls or retries. Null results mean no retained evidence, not proof that delivery never occurred. Resource capacity limits creation; notification quota limits sending.","parameters":[{"name":"id","in":"path","required":true,"description":"Notification rule id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Notification health","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationHealth"}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/scheduled-summaries/{id}/health":{"get":{"operationId":"getScheduledSummaryHealth","security":[{"apiKey":[]}],"tags":["Scheduled summaries"],"summary":"Read scheduled summary delivery health","description":"Read saved enablement and pause state, latest run outcome, latest recorded delivery attempt and last retained successful delivery, plus current capacities. A no_results run sends no message; lastRunAt is an attempt timestamp. Delivery records and lastRunOutcome must be read separately. No provider calls or retries.","parameters":[{"name":"id","in":"path","required":true,"description":"Scheduled summary id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Summary health","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SummaryHealth"}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}},"/automations/{id}/health":{"get":{"operationId":"getAutomationHealth","security":[{"apiKey":[]}],"tags":["Automations"],"summary":"Read automation execution health","description":"Read saved enablement and pause state, latest run with completed action results and current action, last retained successful run, and current capacities. Running means completion was not recorded, including after interruption; it is not worker liveness. Failed runs may contain successful effects: reconcile them before repeating writes. Notification quota applies to message actions. No provider calls, execution or retries.","parameters":[{"name":"id","in":"path","required":true,"description":"Automation id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Automation health","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationHealth"}}}},"401":{"description":"Missing, invalid, revoked, or over-plan API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Invalid API key"}}}},"403":{"description":"Inactive subscription, plan, or capacity limit blocked the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"code":"SUBSCRIPTION_ACCESS_REQUIRED","error":"NotiCord service access is blocked until the subscription is restored."}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Not found"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until another request may be attempted.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Limit for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp when the current minute window resets.","schema":{"type":"integer"}},"X-RateLimit-Day-Limit":{"description":"Daily request limit.","schema":{"type":"integer"}},"X-RateLimit-Day-Remaining":{"description":"Requests remaining in the current day window.","schema":{"type":"integer"}},"X-RateLimit-Day-Reset":{"description":"Unix timestamp when the current day window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Rate limit exceeded"}}}}}}}}}