Update notification routing
const url = 'http://localhost:11044/api/v1/config/notification-routing';const options = { method: 'PUT', headers: {'X-Embabel-Api-Key': '<X-Embabel-Api-Key>', 'Content-Type': 'application/json'}, body: '{"quietHours":{"enabled":true,"end":"example","start":"example"},"tierChannels":{"additionalProperty":["example"]}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url http://localhost:11044/api/v1/config/notification-routing \ --header 'Content-Type: application/json' \ --header 'X-Embabel-Api-Key: <X-Embabel-Api-Key>' \ --data '{ "quietHours": { "enabled": true, "end": "example", "start": "example" }, "tierChannels": { "additionalProperty": [ "example" ] } }'Sets the per-user routing (tier→channels map + quiet hours). REPLACES the stored routing; persisted to config.yml.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”The whole routing to store, replacing the current one in config.yml. tierChannels maps an upper-case tier name (AMBIENT, DEFERRED, TIMELY, INTERRUPTIVE, ACTING, ESCALATING; matched exactly) to the channel kinds it reaches (e.g. vaadin, telegram, discord, sms); a tier left out inherits the deployment default. quietHours (enabled, and local-time start and end as HH:mm) overrides the deployment window; omitted, the deployment window applies. Nothing is validated: unknown tiers and channels are stored as sent
The user’s notification routing: which channels each urgency tier reaches, and their quiet hours. Stored in the world config; read by GET /config/notification-routing and part of GET /config
object
The user’s quiet-hours window, replacing the deployment one; null inherits the deployment window
object
Whether the window is applied; false means no quiet hours for this user, even when the deployment has them
End of the window, HH:mm local time, inclusive
Start of the window, HH:mm local time; a window whose start is after its end runs past midnight
Urgency tier name (AMBIENT, DEFERRED, TIMELY, INTERRUPTIVE, ACTING, ESCALATING) to the channel kinds it reaches, such as vaadin, telegram, discord or sms. A tier present here replaces the deployment default for that tier; an absent tier inherits it
object
Example generated
{ "quietHours": { "enabled": true, "end": "example", "start": "example" }, "tierChannels": { "additionalProperty": [ "example" ] }}Responses
Section titled “Responses”Notification routing updated
Notification routing was saved
object
The quiet-hours window, as stored. Null where this world sets none
object
Whether the window is applied; false means no quiet hours for this user, even when the deployment has them
End of the window, HH:mm local time, inclusive
Start of the window, HH:mm local time; a window whose start is after its end runs past midnight
Always updated
Example
updatedWhich channels each tier routes to, as stored — a tier may fan out to several

