Skip to main content
PATCH
Update a notification route

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

authorization
string | null
x-ankra-organisation-id
string | null

Path Parameters

route_id
string<uuid4>
required

Body

application/json
kind
string | null
kinds
string[] | null
kinds_negated
boolean | null
severity
string | null
cluster_id
string<uuid4> | null

Only notifications about this cluster; null clears the filter. For a caller confined to a project, null on a cluster filter it reads as null (the route's scope_note says so) keeps the stored filter, and a cluster of its own project replaces it.

source_id
string | null

Only notifications whose source_id is exactly this text; null or a blank string clears the filter, and a blank is never stored as one. At delivery today a notification's source_id is the id of the alert that fired, so a source filter matches an alert's id and nothing else. For a caller confined to a project, null or a blank string on a source_id it reads as null (the route's scope_note says so) keeps the stored filter, and any other value it may name replaces it. A source_id is at most 512 bytes and carries at most 4 uuids: a longer one, or one with more uuids, answers 422. A caller confined to a project may not name a source_id a route would withhold from it (NotificationRoute.source_id says which): that answers 404 Source not found, as the preview does.

application_id
string<uuid4> | null

Only notifications about this application (its data.application_id); null clears the filter. For a caller confined to a project, null on an application filter it reads as null (the route's scope_note says so) keeps the stored filter, and an application of its own project replaces it.

reference_pattern
string | null

Only notifications about a branch, tag or pull request matching this glob (data.reference): main or refs/heads/main for the main branch, release/* within one path segment, release/** across segments, pull/* for every pull request, refs/tags/v* for tags. A pull request targeting main does not match main. Null matches every reference. It is shown as written to every caller, one confined to a project included: no project holds a glob over branch and tag names.

Maximum string length: 255
destination_id
string<uuid4> | null
priority
integer | null
stop_on_match
boolean | null
mode
string | null
enabled
boolean | null

Response

Successful Response

id
string<uuid4>
required
organisation_id
string<uuid4>
required
kind
string | null
required
kinds
string[] | null
required
kinds_negated
boolean
required
severity
string | null
required
cluster_id
string<uuid4> | null
required

Only notifications about this cluster; null matches every cluster. A caller confined to a project reads a cluster outside that project as null, and the route then carries scope_note.

source_id
string | null
required

Only notifications whose source_id is exactly this text; null matches every source. At delivery today a notification's source_id is the id of the alert that fired, so a source filter matches an alert's id and nothing else. A caller confined to a project reads a source_id as null, and the route then carries scope_note, when any id in it, the whole source_id or one part of a composite one such as <cluster>/<node group> or <repository>:<ref>, names a cluster, application, ticket, pipeline run or step, pipeline repository, automation, workspace, incident, environment or API token of another project or of no project, an execution, power schedule, application installation, sandbox environment, agent task or support ticket on such a cluster, or an alert a rule of which names a cluster outside the caller's project, or that is deleted; and when it is longer than 512 bytes or carries more than 4 uuids, which no write accepts any more. Any other source_id is shown as written. The note names no id, but it does tell the reader that an id it already holds is outside its project, as a 404 Source not found from the preview or a route write does.

application_id
string<uuid4> | null
required

Only notifications about this application (its data.application_id); null matches every application. A caller confined to a project reads an application outside that project as null, and the route then carries scope_note.

reference_pattern
string | null
required

Only notifications about a branch, tag or pull request matching this glob (data.reference): main or refs/heads/main for the main branch, release/* within one path segment, release/** across segments, pull/* for every pull request, refs/tags/v* for tags. A pull request targeting main does not match main. Null matches every reference. It is shown as written to every caller, one confined to a project included: no project holds a glob over branch and tag names.

Maximum string length: 255
project_id
string<uuid4> | null
required

The project the route is pinned to: it delivers only that project's notifications, read from the ticket, application, pipeline run, repository, automation, workspace, incident, environment or cluster the notification is about. Null is organisation-wide: the route hears every project's notifications and the organisation's own.

destination_id
string<uuid4>
required
priority
integer
required
stop_on_match
boolean
required
mode
string
required
enabled
boolean
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
scope_note
string

Set only when a cluster_id, application_id or source_id filter of this route is withheld from a caller confined to a project: that field reads as null, and this note says the null does not mean every cluster, application or source. Absent otherwise.