# Update Amazon SNS integration

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

[endpoint]
base_url = "https://uptime.betterstack.com"
path = "/api/v2/amazon-sns/{amazon_sns_integration_id}"
method = "PATCH"

[[path_param]]
name = "amazon_sns_integration_id"
description = "The ID of the Amazon SNS integration you want to update"
required = true
type = "string"

[[body_param]]
name = "name"
description = "The name of the Amazon SNS integration that you can see in the dashboard."
required = false
type = "string"

[[body_param]]
name = "*"
description = "Any params you'd like to set. See the [list of all Amazon SNS integration API parameters](https://betterstack.com/docs/uptime/api/amazon-sns-integrations-response-params/) for details."
required = false

[[header]]
name = "Authorization"
description = "Bearer `$TOKEN`"
required = true
type = "string"

[[header]]
name = "Content-Type"
description = "application/json"
required = false
type = "string"
[/endpoint]

[responses]
[[response]]
status = 200
description = '''Returns the Amazon SNS integration'''
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"
    }
  }
}'''

[/responses]

#### Example cURL

```shell
[label 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"
}'
```

[warning]
#### 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.
[/warning]

[warning]
#### 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.
[/warning]

[info]
#### Looking for the details of a specific parameter?
Explore [the list of all Amazon SNS integration API parameters](https://betterstack.com/docs/uptime/api/amazon-sns-integrations-response-params/).
[/info]
