Update a notification target
const url = 'http://localhost:3000/api/v1/notification-targets/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = { method: 'PATCH', headers: {'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json'}, body: '{"name":"Ops on-call email","email":"ops@example.com","url":"https://hooks.example.com/services/T000/B000/XXXX","enabled":true,"headers":{"Authorization":null,"X-Tenant-Token":"new-value"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url http://localhost:3000/api/v1/notification-targets/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "name": "Ops on-call email", "email": "ops@example.com", "url": "https://hooks.example.com/services/T000/B000/XXXX", "enabled": true, "headers": { "Authorization": null, "X-Tenant-Token": "new-value" } }'The channel is immutable — switching transports would leave the stored config mismatched and would retroactively mislabel every delivery already recorded against the target.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Header Parameters
Section titled “Header Parameters”UUID of the organization (tenant) the request acts in. It selects the tenant and grants nothing: the server checks membership or an open tenant switch. Not needed for global operations. A malformed value returns 400. API keys are fixed to their own organization; another organization returns 403. The x-organization-source header grants nothing.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Human-readable target name
Example
Ops on-call emailRecipient address. Required when channel is EMAIL.
Example
ops@example.comEndpoint to POST to. Required when channel is WEBHOOK. Must be a public http(s) URL — private, loopback, link-local and in-cluster addresses are rejected to prevent SSRF.
Example
https://hooks.example.com/services/T000/B000/XXXXWhether the target receives deliveries
Replaces the custom headers. A string sets the value, null keeps the stored value of that name, and a name left out is removed. WEBHOOK only.
object
Example
{ "Authorization": null, "X-Tenant-Token": "new-value"}Responses
Section titled “Responses”object
EMAIL targets only
object
WEBHOOK targets only
object
WEBHOOK targets only. Header names with a masked value (********): the values are write-only because they often carry credentials (FM-1660).
object
Whether webhook deliveries to this target are signed
Example
{ "name": "Ops on-call email", "channel": "EMAIL"}No such target in the caller’s organization