Skip to main content
GET
List Subscription Payments
This is a net-new endpointThere was no payments subresource before Plans — the payments array on the subscription object is a legacy, always-empty field. Since there’s no prior merchant integration to preserve here, this endpoint ships as one clean items[] shape with full plan/phase context — no legacy fields.
offset must be a multiple of limitA non-aligned offset would re-serve rows you already saw and corrupt has_more, so it’s rejected with 400 BAD_REQUEST instead of being silently floored.
Free cycles are total: 0, not a distinct statusA $0 billing cycle (e.g. a free trial payment) is recognizable by total == 0 — there’s no separate “free” status.

Authorizations

public-api-key
string
header
default:<Your public-api-key>
required
private-secret-key
string
header
default:<Your private-secret-key>
required

Path Parameters

subscription_id
string
required

The unique identifier of the subscription.

Query Parameters

limit
integer
default:20

Max items to return. 1-100, defaults to 20.

Required range: 1 <= x <= 100
offset
integer
default:0

Number of items to skip. Must be a non-negative multiple of limit, else 400 BAD_REQUEST — a non-aligned offset would re-serve rows you already saw and corrupt has_more. Defaults to 0.

Required range: x >= 0

Response

200 - application/json

200

items
object[]

Every payment attempt for this subscription, most recent first.

pagination
object