// Find every active Pro subscription that renews this week.
import { lambda } from "@acme/lambda";
const renewals = await lambda.subscriptions.list(({
where: {
plan: "pro_monthly",
status: "active",
renews_at: { lte: lambda.days(7) },
},
include: { customer: true },
limit: 100,
});
for (const sub of renewals) {
await lambda.queue.send("renewal_reminder", { id: sub.id });
}
// Same query, idiomatic Go. Errors elided for brevity.
import "github.com/acme/lambda-go"
renewals, _ := lambda.Subscriptions.List(ctx, &lambda.SubscriptionListParams{
Plan: "pro_monthly",
Status: "active",
RenewsAt: lambda.LTE(time.Now().Add(7 * 24 * time.Hour)),
Include: []string{"customer"},
Limit: 100,
})
for _, sub := range renewals {
lambda.Queue.Send(ctx, "renewal_reminder", lambda.M{"id": sub.ID})
}
# Same query, Pythonic. Async by default.
from acme.lambda import lambda_
renewals = await lambda_.subscriptions.list(
where={
"plan": "pro_monthly",
"status": "active",
"renews_at": { "lte": lambda_.days(7) },
},
include={"customer": True},
limit=100,
)
for sub in renewals:
await lambda_.queue.send("renewal_reminder", id=sub.id)
# Bare HTTP — every SDK is built on this.
curl https://api.lambda.dev/v1/subscriptions \
-H "Authorization: Bearer $LAMBDA_KEY" \
-H "Content-Type: application/json" \
-G \
--data-urlencode 'where[plan]=pro_monthly' \
--data-urlencode 'where[status]=active' \
--data-urlencode 'where[renews_at][lte]=2026-05-05T00:00:00Z' \
--data-urlencode 'include=customer' \
--data-urlencode 'limit=100'
// HTTP/1.1 200 OK · application/json · 24ms · iad
{
"data": [
{
"id": "sub_01HF8Q3K2ZX",
"plan": "pro_monthly",
"status": "active",
"renews_at": "2026-05-03T14:21:00Z",
"customer": {
"id": "cus_01HF8Q1A0PQ",
"email": "maya@acme.co",
"tier": "pro"
}
}
// 99 more rows…
],
"page": { "limit": 100, "next": "cur_..." }
}