AWS log group subscriptions

Control which Amazon CloudWatch log groups Better Stack ingests for an aws source. These endpoints manage per-log-group subscription overrides. To subscribe every newly discovered log group automatically, set aws_auto_sub_log_groups when you update the source.

An override records the desired state for one log group, identified by its region and name. Set subscribed to true to ingest the log group or false to skip it. An override takes precedence over the source's auto-subscribe setting, and you can create one before the log group is discovered. Delete the override to return the log group to automatic behavior.

List log group subscriptions

Returns the log group subscription overrides for an aws source.

GET https://telemetry.betterstack.com/api/v2/sources/{source_id}/aws-log-group-subscriptions

URL parameters

source_id
required string

Query parameters

page
integer
per_page
integer

Headers

Authorization
required string
200

Response body

{
  "data": [
    {
      "id": "1",
      "type": "aws_log_group_subscription",
      "attributes": {
        "region": "us-east-1",
        "name": "/aws/lambda/checkout",
        "subscribed": true,
        "created_at": "2026-08-19T12:30:41.695Z",
        "updated_at": "2026-08-19T12:30:41.695Z"
      }
    }
  ],
  "pagination": {
    "first": "https://telemetry.betterstack.com/api/v2/sources/95/aws-log-group-subscriptions?page=1&per_page=10",
    "last": "https://telemetry.betterstack.com/api/v2/sources/95/aws-log-group-subscriptions?page=1&per_page=10",
    "prev": null,
    "next": null
  }
}

Example cURL

List log group subscriptions
curl --request GET \
  --url https://telemetry.betterstack.com/api/v2/sources/95/aws-log-group-subscriptions \
  --header "Authorization: Bearer $TOKEN"


Create a log group subscription

Creates an override that subscribes or unsubscribes one log group.

POST https://telemetry.betterstack.com/api/v2/sources/{source_id}/aws-log-group-subscriptions

URL parameters

source_id
required string

Headers

Authorization
required string

Body parameters

region
required string
name
required string
subscribed
required boolean
201

Response body

{
  "data": {
    "id": "1",
    "type": "aws_log_group_subscription",
    "attributes": {
      "region": "us-east-1",
      "name": "/aws/lambda/checkout",
      "subscribed": true,
      "created_at": "2026-08-19T12:30:41.695Z",
      "updated_at": "2026-08-19T12:30:41.695Z"
    }
  }
}
422

Response body

{
  "errors": [
    "Name has already been taken"
  ],
  "invalid_attributes": [
    "name"
  ]
}

Example cURL

Create a log group subscription
curl --request POST \
  --url https://telemetry.betterstack.com/api/v2/sources/95/aws-log-group-subscriptions \
  --header "Authorization: Bearer $TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "region": "us-east-1",
    "name": "/aws/lambda/checkout",
    "subscribed": true
  }'


Get a single log group subscription

Returns one log group subscription override.

GET https://telemetry.betterstack.com/api/v2/sources/{source_id}/aws-log-group-subscriptions/{id}

URL parameters

source_id
required string
id
required string

Headers

Authorization
required string
200

Response body

{
  "data": {
    "id": "1",
    "type": "aws_log_group_subscription",
    "attributes": {
      "region": "us-east-1",
      "name": "/aws/lambda/checkout",
      "subscribed": true,
      "created_at": "2026-08-19T12:30:41.695Z",
      "updated_at": "2026-08-19T12:30:41.695Z"
    }
  }
}
404

Response body

{
  "errors": "Resource with provided ID was not found"
}

Example cURL

Get a log group subscription
curl --request GET \
  --url https://telemetry.betterstack.com/api/v2/sources/95/aws-log-group-subscriptions/1 \
  --header "Authorization: Bearer $TOKEN"


Update a log group subscription

Subscribes or unsubscribes an existing override.

PATCH https://telemetry.betterstack.com/api/v2/sources/{source_id}/aws-log-group-subscriptions/{id}

URL parameters

source_id
required string
id
required string

Headers

Authorization
required string

Body parameters

subscribed
required boolean
200

Response body

{
  "data": {
    "id": "1",
    "type": "aws_log_group_subscription",
    "attributes": {
      "region": "us-east-1",
      "name": "/aws/lambda/checkout",
      "subscribed": false,
      "created_at": "2026-08-19T12:30:41.695Z",
      "updated_at": "2026-08-19T13:05:12.104Z"
    }
  }
}
404

Response body

{
  "errors": "Resource with provided ID was not found"
}

Example cURL

Update a log group subscription
curl --request PATCH \
  --url https://telemetry.betterstack.com/api/v2/sources/95/aws-log-group-subscriptions/1 \
  --header "Authorization: Bearer $TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "subscribed": false
  }'


Delete a log group subscription

Removes the override and returns the log group to automatic behavior.

DELETE https://telemetry.betterstack.com/api/v2/sources/{source_id}/aws-log-group-subscriptions/{id}

URL parameters

source_id
required string
id
required string

Headers

Authorization
required string
204
404

Response body

{
  "errors": "Resource with provided ID was not found"
}

Example cURL

Delete a log group subscription
curl --request DELETE \
  --url https://telemetry.betterstack.com/api/v2/sources/95/aws-log-group-subscriptions/1 \
  --header "Authorization: Bearer $TOKEN"