Skip to main content
The GET /v1/subscriptions endpoint returns recurring subscription records for your merchant account. Each subscription represents a donor who has committed to a repeating gift at a fixed frequency and amount. You can filter by status to target active donors or review cancellations. This endpoint requires the subscriptions:read permission on your API key.

Request

limit
integer
default:"50"
Maximum number of subscriptions to return per page. Accepts values between 1 and 100.
lastEvaluatedKey
string
Pagination cursor returned by a previous response. Pass this value to retrieve the next page of results. Omit on the first request.
status
string
Filter results by subscription status. Accepted values: ACTIVE, CANCELLED. Omit to return all subscriptions regardless of status.

Response

subscriptions
Subscription[]
required
Array of subscription objects for this page of results.
count
integer
required
Number of subscriptions returned in this response.
hasMore
boolean
required
true if additional pages of results exist beyond this response.
lastEvaluatedKey
string
Pagination cursor for the next page. Pass this as the lastEvaluatedKey query parameter on your next request. Absent when hasMore is false.

Example

curl "https://0k90mc4jjj.execute-api.us-east-2.amazonaws.com/v1/subscriptions?status=ACTIVE&limit=2" \
  -H "Authorization: Bearer cs_live_your_key"
Response
{
  "subscriptions": [
    {
      "id": "sub_01HABC1234MNOPQR",
      "status": "ACTIVE",
      "amount": 25.00,
      "frequency": "MONTHLY",
      "nextBillingDate": "2025-05-14T00:00:00Z",
      "lastBillingDate": "2025-04-14T00:00:00Z",
      "endBillingDate": "2026-04-14T00:00:00Z",
      "coveredFee": false
    },
    {
      "id": "sub_01HABC5678STUVWX",
      "status": "ACTIVE",
      "amount": 100.00,
      "frequency": "ANNUALLY",
      "nextBillingDate": "2026-01-01T00:00:00Z",
      "lastBillingDate": "2025-01-01T00:00:00Z",
      "endBillingDate": "2030-01-01T00:00:00Z",
      "coveredFee": true
    }
  ],
  "count": 2,
  "hasMore": false
}