{"openapi":"3.1.1","info":{"title":"Notifications API","version":"1.0","description":"API for managing notification channel groups in ADOC. A channel group bundles one or more notification channels, such as email addresses or webhook URLs, with a notification template group. Covers creating, listing, retrieving, updating, and deleting channel groups within a namespace."},"paths":{"/notifications/api/v1/{namespaceId}/notifications/channels/groups":{"post":{"operationId":"notification-api-v1-channel-groups-create","tags":["Notification Channel Groups"],"summary":"Create a notification channel group","description":"Creates a notification channel group. `templateGroupId` is required and must be non-zero.\nChannel endpoints (email addresses or webhook URLs) are validated by type.\n\n**Authorization**: requires `CHANNEL_GROUPS_CREATE`.","parameters":[{"name":"namespaceId","in":"path","description":"Numeric namespace ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Channel group to create","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelGroup"}}}},"responses":{"200":{"description":"Created channel group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelGroup"}}}},"400":{"description":"Missing templateGroupId or invalid channel endpoints"}}},"get":{"operationId":"notification-api-v1-channel-groups","tags":["Notification Channel Groups"],"summary":"List notification channel groups","description":"Returns a paginated list of notification channel groups for the given namespace.\n\n**Authorization**: requires `CHANNEL_GROUPS_VIEW`.","parameters":[{"name":"namespaceId","in":"path","description":"Numeric namespace ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"1-based page number (default 1). Use -1 to skip pagination.","schema":{"type":"integer"}},{"name":"size","in":"query","description":"Page size (default 25, max 100)","schema":{"type":"integer"}},{"name":"sort_by","in":"query","description":"Sort field and direction, for example updatedAt:desc","schema":{"type":"string"}},{"name":"name","in":"query","description":"Filter channel groups by name","schema":{"type":"string"}},{"name":"createdBy","in":"query","description":"Filter channel groups by creator","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated channel groups","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelsFindAllResponse"}}}}}}},"/notifications/api/v1/{namespaceId}/notifications/channels/groups/all":{"get":{"operationId":"notification-api-v1-channel-groups-all","tags":["Notification Channel Groups"],"summary":"List all notification channel groups","description":"Returns every notification channel group for the namespace service context, without pagination.\n\n**Authorization**: requires `CHANNEL_GROUPS_VIEW`.","parameters":[{"name":"namespaceId","in":"path","description":"Numeric namespace ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"name","in":"query","description":"Filter channel groups by name","schema":{"type":"string"}},{"name":"createdBy","in":"query","description":"Filter channel groups by creator","schema":{"type":"string"}}],"responses":{"200":{"description":"All channel groups for the service context","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChannelGroup"}}}}}}}},"/notifications/api/v1/{namespaceId}/notifications/channels/groups/byIds":{"get":{"operationId":"notification-api-v1-channel-groups-byIds","tags":["Notification Channel Groups"],"summary":"Get notification channel groups by IDs","description":"Returns channel groups matching the comma-separated `groupIds` query parameter.\n\n**Authorization**: requires `CHANNEL_GROUPS_VIEW`.","parameters":[{"name":"namespaceId","in":"path","description":"Numeric namespace ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"groupIds","in":"query","description":"Comma-separated channel group IDs","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Matching channel groups","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChannelGroup"}}}}},"404":{"description":"Empty groupIds query parameter"}}}},"/notifications/api/v1/{namespaceId}/notifications/channels/groups/{channelId}":{"put":{"operationId":"notifications-api-v1-channel-group-update","tags":["Notification Channel Groups"],"summary":"Update a notification channel group","description":"Updates an existing notification channel group. `templateGroupId` is required and must be non-zero.\n\n**Authorization**: requires `CHANNEL_GROUPS_MODIFY`.","parameters":[{"name":"namespaceId","in":"path","description":"Numeric namespace ID","required":true,"schema":{"type":"integer"}},{"name":"channelId","in":"path","description":"Numeric channel group ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated channel group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelGroup"}}}},"responses":{"200":{"description":"Updated channel group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelGroup"}}}},"400":{"description":"Missing templateGroupId or invalid channel endpoints"},"404":{"description":"Channel group not found"}}},"delete":{"operationId":"notifications-api-v1-channel-group-delete","tags":["Notification Channel Groups"],"summary":"Delete a notification channel group","description":"Deletes the channel group for the given ID within the namespace service context.\n\n**Authorization**: requires `CHANNEL_GROUPS_MODIFY`.","parameters":[{"name":"namespaceId","in":"path","description":"Numeric namespace ID","required":true,"schema":{"type":"integer"}},{"name":"channelId","in":"path","description":"Numeric channel group ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted channel group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelGroup"}}}},"404":{"description":"Channel group not found"}}},"get":{"operationId":"notification-api-v1-channel-byId","tags":["Notification Channel Groups"],"summary":"Get a notification channel group by ID","description":"Returns the channel group for the given ID within the namespace service context.\n\n**Authorization**: requires `CHANNEL_GROUPS_VIEW`.","parameters":[{"name":"namespaceId","in":"path","description":"Numeric namespace ID","required":true,"schema":{"type":"integer"}},{"name":"channelId","in":"path","description":"Numeric channel group ID","required":true,"schema":{"type":"integer"}},{"name":"accessKey","in":"header","description":"API access key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"secretKey","in":"header","description":"API secret key generated from ADOC UI","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"Always set to application/json","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Channel group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelGroup"}}}},"404":{"description":"Channel group not found"}}}}},"components":{"schemas":{"Any":{"type":"object","title":"Any"},"ChannelGroup":{"type":"object","title":"ChannelGroup","required":["channels","createdBy","name","templateGroupId"],"properties":{"channels":{"type":"array","items":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Any"}}},"createdAt":{"type":["string","null"],"format":"date-time"},"createdBy":{"type":"string"},"description":{"type":["string","null"]},"id":{"type":"integer"},"name":{"type":"string"},"serviceContextId":{"type":"integer"},"templateGroupId":{"type":"integer"},"updatedAt":{"type":["string","null"],"format":"date-time"}}},"Meta":{"type":"object","title":"Meta","required":["limit","offset","total"],"properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}},"ChannelsFindAllResponse":{"type":"object","title":"ChannelsFindAllResponse","required":["channels","meta"],"properties":{"channels":{"type":"array","items":{"$ref":"#/components/schemas/ChannelGroup"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}},"tags":[{"name":"Notification Channel Groups","description":"Create, list, retrieve, update, and delete notification channel groups. Channel endpoints are validated by channel type when a group is created or updated."}]}