Skip to main content
GET
/
subscriptions
/
{external_id}
/
alerts
List subscription alerts
curl --request GET \
  --url https://api.getlago.com/api/v1/subscriptions/{external_id}/alerts \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.getlago.com/api/v1/subscriptions/{external_id}/alerts"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.getlago.com/api/v1/subscriptions/{external_id}/alerts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getlago.com/api/v1/subscriptions/{external_id}/alerts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.getlago.com/api/v1/subscriptions/{external_id}/alerts"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.getlago.com/api/v1/subscriptions/{external_id}/alerts")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.getlago.com/api/v1/subscriptions/{external_id}/alerts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "alerts": [
    {
      "lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
      "lago_organization_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
      "external_subscription_id": "sub_1234567890",
      "billable_metric": {
        "lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
        "name": "Storage",
        "code": "storage",
        "recurring": false,
        "created_at": "2022-09-14T16:35:31Z",
        "aggregation_type": "sum_agg",
        "description": "GB of storage used in my application",
        "rounding_function": "round",
        "rounding_precision": 2,
        "expression": "round((ended_at - started_at) * units)",
        "field_name": "gb",
        "weighted_interval": "seconds",
        "filters": [
          {
            "key": "region",
            "values": [
              "us-east-1"
            ]
          }
        ]
      },
      "alert_type": "billable_metric_current_usage_amount",
      "code": "storage_threshold_alert",
      "name": "Storage Usage Alert",
      "previous_value": 1000,
      "last_processed_at": "2025-05-19T10:04:21Z",
      "thresholds": [
        {
          "code": "warn",
          "recurring": false,
          "value": "99.0"
        }
      ],
      "created_at": "2025-03-20T10:00:00Z",
      "lago_wallet_id": null,
      "wallet_code": null,
      "direction": "increasing"
    }
  ],
  "meta": {
    "current_page": 2,
    "total_pages": 4,
    "total_count": 70,
    "next_page": 3,
    "prev_page": 1
  }
}
{
"status": 401,
"error": "Unauthorized"
}
{
"status": 404,
"error": "Not Found",
"code": "object_not_found"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

external_id
string
required

External ID of the existing subscription

Example:

"5eb02857-a71e-4ea2-bcf9-57d3a41bc6ba"

Query Parameters

subscription_status
enum<string>
default:active

Filter by subscription status. When provided, the subscription is looked up with this status instead of the default active status. Possible values are pending, active, terminated, or canceled.

Available options:
pending,
active,
terminated,
canceled
Example:

"active"

Response

Subscription alerts

alerts
object[]
required
meta
object