Bag is live — accept USDC & card payments globally. Get started →
BagBag Docs
API ReferenceSubscriptions

List Subscriptions

GET /api/subscriptions — List all subscriptions for the authenticated merchant.

List all subscriptions for the authenticated merchant.

GET
/api/subscriptions
AuthorizationBearer <token>

API key authentication for programmatic access. Include your key in the Authorization header:

Authorization: Bearer bag_live_sk_a1b2c3d4e5f6...

Keys are prefixed with bag_live_sk_ (production) or bag_test_sk_ (sandbox). Generate keys from the Bag Dashboard.

In: header

Query Parameters

mode?string

Filter by billing mode (live or test).

Value in"live" | "test"
status?string

Filter by subscription status.

Value in"trialing" | "active" | "past_due" | "canceled" | "paused" | "renewal_pending"
limit?integer

Maximum number of subscriptions to return.

Default25
Range1 <= value <= 100
starting_after?string

Cursor for pagination; return subscriptions after this ID.

Response Body

application/json

application/json

curl -X GET "https://getbags.app/api/subscriptions"
{
  "status": "success",
  "data": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "status": "trialing",
      "network": "string",
      "billingModel": "string",
      "customerWalletAddress": "string",
      "customerEmail": "user@example.com",
      "currentPeriodStart": "2019-08-24T14:15:22Z",
      "currentPeriodEnd": "2019-08-24T14:15:22Z",
      "cancelAtPeriodEnd": true,
      "productName": "string",
      "amount": 0,
      "billingInterval": "string",
      "mode": "live",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "hasMore": true
}
{
  "status": "error",
  "message": "Invalid or revoked API key",
  "code": "UNAUTHORIZED",
  "hint": "Include a valid API key in the Authorization header: Bearer bag_live_sk_..."
}