Replace Alert Configuration

Overwrites the alert configuration identified by {id} and returns the stored configuration as a single JSON object. Each call replaces the whole configuration: a property left out of the request body is reset to its default rather than kept at its current value, so send the full desired state and not only the properties that changed. Read the current state with Get Alert Configuration (get-alert-configuration) first when only part of a configuration should change. The response echoes the values submitted rather than re-reading the saved row, so read the configuration back with get-alert-configuration when the persisted state needs to be confirmed.

Use this to change a configuration the company already has. To add one, use Create Alert Configuration (create-alert-configuration) instead; to find out what is already configured, use List Alert Configurations (list-alert-configurations). bambooAlertId names the alert template the configuration is built on, comes from List Alert Templates (list-alert-templates), and is required on every call even when the template is not changing.

The configuration stays live throughout and sends on whatever schedule the call leaves it with, so an update that omits the sendTo* properties can re-enable delivery to recipients the previous state excluded. Changing bambooAlertId re-points this configuration at a different alert template rather than adding a second one, and no endpoint deletes an alert configuration once it exists. The returned object also carries additionalRecipientEmails, employeeIds, listValueIds, and userIds; this API never stores those, so scope an alert's audience with filterListValueIds and the sendTo* properties instead.

Access is all-or-nothing rather than per-record. An authenticated caller without view access to the company's Email Alerts settings receives 403 instead of a partial success.

OAuth Scopes: alerts.write

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
integer
required

Identifier of the alert configuration to overwrite, as emitted in the id field of List Alert Configurations (list-alert-configurations). This is the configuration's own identifier, not the bambooAlertId of the alert template it is based on. The path value is authoritative; no wildcard or 0 sentinel is supported.

Body Params

Request body for creating or updating an alert configuration. Only bambooAlertId is required; every other property falls back to a server-side default when omitted. The configuration's own id, its editorUserId, and its lastEdited timestamp are assigned by the server and must not be sent.

integer
required

Identifier of the alert template this configuration is based on, taken from the id field of List Alert Templates (list-alert-templates). The template catalog is global rather than per-company, and an identifier that is not in the catalog is rejected. 0 is rejected as a missing value; there is no sentinel for "any alert".

string
enum
Defaults to daily

How often the alert runs.

Allowed:
≤ 32767

How far ahead of the due date the alert fires, counted in units of dueInterval. Only meaningful for alert templates that track a due date. Omitted on a replace resets this to null.

enum

The unit that dueWithin is counted in. Omitted on a replace resets this to null.

boolean
Defaults to true

Whether the alert should be sent to employees.

boolean
Defaults to false

Whether the alert should be sent to managers.

boolean
Defaults to false

Whether the alert should be sent to admins.

Custom body text for the alert email. Limited to 1024 bytes; multibyte characters consume more than one byte each. Null uses the alert template's default body, and omitting it on a replace resets this to null.

Custom subject line for the alert email. Limited to 250 bytes; multibyte characters consume more than one byte each. Null uses the alert template's default subject, and omitting it on a replace resets this to null.

enum

Groups the recipients of a summary-style alert by this employee attribute. Null applies no grouping, and omitting it on a replace resets this to null.

boolean
Defaults to true

Whether the training covered by a training alert should be limited to required training.

Time of day the alert is sent, formatted as HH:MM:SS and interpreted in runAtTimeZone. Minutes and seconds are not optional: an HH:MM value is rejected. Omitted on a replace resets this to null.

IANA time zone name that runAtTime is evaluated in, such as America/Denver. Abbreviations such as MST are rejected. Null evaluates runAtTime in the company's own time zone, and omitting it on a replace resets this to null.

boolean
Defaults to false

Whether the alert should include position.

boolean
Defaults to false

Whether the alert should include location.

filterListValueIds
array of integers

List value IDs the alert is scoped to. Accepted values are the options[].id values of the employee filter list fields: Department, Division, Location, Job Title, Employment Status, and Status, plus Employment Type and Team on accounts where those fields are enabled. Look the IDs up with Account Information > List List Fields (list-list-fields); an ID belonging to any other list field is rejected. An empty array leaves the alert unscoped, and omitting it on a replace clears all list-value scoping. This is the only recipient-scoping property the API stores.

filterListValueIds
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

401

Unauthorized.

Language
Credentials
OAuth2
Missing 1 required scope
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
application/problem+json