Update Amazon SNS integration

Update an existing Amazon SNS integration. Send only the parameters you wish to change, such as name.

PATCH https://uptime.betterstack.com/api/v2/amazon-sns/{amazon_sns_integration_id}

URL parameters

amazon_sns_integration_id
required string

Headers

Authorization
required string
Content-Type
string

Body parameters

name
string
*
200

Response body

{
  "data": {
    "id": "4",
    "type": "amazon_sns_integration",
    "attributes": {
      "name": "Production alerts",
      "created_at": "2026-09-09T10:06:12.418Z",
      "updated_at": "2026-09-09T11:22:47.315Z",
      "policy_id": null,
      "url": "https://uptime.betterstack.com/api/v1/incoming-webhook/[token]",
      "sample_query_string": null,
      "sample_headers": null,
      "sample_body": null,
      "team_name": "Testing",
      "call": false,
      "sms": false,
      "email": true,
      "push": true,
      "critical_alert": false,
      "team_wait": 180,
      "recovery_period": 0,
      "paused": false,
      "started_rule_type": "unused",
      "acknowledged_rule_type": "unused",
      "resolved_rule_type": "unused",
      "started_rules": [],
      "acknowledged_rules": [],
      "resolved_rules": [],
      "cause_field": {
        "name": null,
        "special_type": "cause",
        "field_target": "body",
        "match_type": "match_everything",
        "target_field": null,
        "content": null,
        "content_before": null,
        "content_after": null
      },
      "title_field": {
        "name": null,
        "special_type": "title",
        "field_target": "sns_envelope",
        "match_type": "match_everything",
        "target_field": "Subject",
        "content": null,
        "content_before": null,
        "content_after": null
      },
      "started_alert_id_field": {
        "name": null,
        "special_type": "alert_id",
        "field_target": "body",
        "match_type": "match_everything",
        "target_field": null,
        "content": null,
        "content_before": null,
        "content_after": null
      },
      "acknowledged_alert_id_field": null,
      "resolved_alert_id_field": null,
      "other_started_fields": null,
      "other_acknowledged_fields": null,
      "other_resolved_fields": null,
      "topic_arn": "arn:aws:sns:eu-west-1:123456789012:backend-alerts",
      "subscription_state": "active"
    }
  }
}

Example cURL

Example
curl -X "PATCH" "https://uptime.betterstack.com/api/v2/amazon-sns/4" \
     -H "Authorization: Bearer $TOKEN" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "name": "Production alerts"
}'


Sending a rule or field attribute replaces it entirely

Any *_rules or *_fields attribute you include is rebuilt from what you send, so the entries already stored under it are deleted first. To add one field to three that exist, send all four. Leave the attribute out to keep the current entries.

Why can't I set topic_arn?

Better Stack writes topic_arn and subscription_state itself once AWS confirms the subscription, so both are read-only. Sending either one back returns 422, as does any other attribute the endpoint does not recognize.