Re-enable the alarm's notifications.
curl --request POST \ --url https://stratum.example.com/v1/projects/example/observability/alarms/example/actions/enable \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Responses
Section titled “Responses”The updated alarm.
An alarm is either expression-based (raw PromQL pasted by the
operator — expression set) or metric-based (CloudWatch shape
— metricNamespace+metricName+statistic+comparisonOperator+
threshold set). The two forms are mutually exclusive at the DB
level. Both forms require periodSeconds+evaluationPeriods+
datapointsToAlarm for the vmalert hold duration.
object
Set on a platform-owned row; absent on a tenant’s own.
object
The owner: the Auto Scaling group id, or for platform the component (front-door, pack:platform-health, default-network, operator-recipe).
Raw PromQL expression. Mutually exclusive with the metric tuple + compositeExpression.
. Boolean composition of child alarm
states via the small grammar
ALARM(name) AND ALARM(other) (also OK, INSUFFICIENT_DATA,
NOT, parens). Mutually exclusive with expression + metric
tuple. Children must live in the same project.
object
Notification-channel IDs to fire when this alarm transitions to ALARM. Every listed channel is notified; the order of the list does not matter.
. When false, vmalert keeps evaluating + the
history table records transitions, but outbound
notifications are suppressed. Distinct from enabled
which stops evaluation entirely.
. Set by the disable-actions endpoint’s until
parameter. The silencer worker auto-flips actionsEnabled
back to true at this time.
. CloudWatch TreatMissingData policy.
object
. Provenance marker. platform.builtin is stamped
by the Platform Health pack reconciler (once it
owns alarms); every customer-created alarm is customer.
Mirrors Dashboard.origin so the UI can render the
substrate/customer split with the same model.
Example
{ "ownedBy": { "kind": "auto-scaling-group" }, "statistic": "Sum", "comparisonOperator": "GreaterThanThreshold", "actionsEnabled": true, "treatMissingData": "missing", "state": "insufficient_data", "origin": "platform.builtin"}Resource not found.
object
The findings of a rejected IAM policy document (custom and resource policies).
One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.
object
The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.
Index of the statement at fault; -1 for the document as a whole.
The offending action, where one is at fault (ACTION_NOT_APPLICABLE).
Field errors, for codes that carry them: each problem at its field
(see FieldError). Documented on the responses that set it, e.g.
approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED.
Absent otherwise.
One field’s problem, the stage-2 installer API’s shape.
field is the field’s path, message what is wrong with it.
object
The field’s path, e.g. links[0].interface, disks[1].confirm,
mgmt.address or role; empty for the whole request.
Structured facts about the refusal, for codes that carry them. The
shape is fixed per code and documented on the response that answers
it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and
IMAGE_IN_USE. Absent for codes that carry none.
object
Example
{ "issues": [ { "code": "ACTION_NOT_APPLICABLE", "action": "compute:CreateVpc" } ]}