List transactions
/v1/analytics/transactions in the Analytics API.
A keyset-paginated list of payments for one project. project_id is required.
curl "https://api.subscriby.net/v1/analytics/transactions?project_id=$PROJECT_ID&limit=100" \ -H "Authorization: Bearer $SUBSCRIBY_TOKEN"Every row carries its owning project, plan and subscriber, so a payment can be attributed without a follow-up lookup. Follow meta.next_cursor on the next call to paginate. A null or missing cursor means the end of the range has been reached.
Requires ability
The token must hold this ability, or the call is refused with 403.
MCP tool
Runs the same action from an agent, behind the same ability.
Authorization
bearerToken A personal access token minted on the dashboard under Settings, then Tokens, sent as Authorization: Bearer sbt_live_…. The token carries the abilities each endpoint lists under Requires ability and is frozen to one team.
In: header
Query Parameters
The project whose payments to list. Required: transactions are always read for one project.
uuidThe preset window: 7d, 14d, 30d (the default), 60d, 90d, mtd, qtd, ytd, 1y or all. Ignored when both from and to are given; an unknown value falls back to the default rather than failing.
"30d"The first day of an explicit window, YYYY-MM-DD. Both from and to are needed to override period.
dateThe last day of an explicit window, YYYY-MM-DD. Both from and to are needed to override period.
dateOnly payments in these states: successful, failed, pending, refunded. Send them as statuses[]=a&statuses[]=b or as one comma-separated string; an unknown state is ignored.
Only payments taken through these payment methods. Send them as provider_ids[]=a&provider_ids[]=b or as one comma-separated string.
Count only these plans. Send it as plan_ids[]=a&plan_ids[]=b or as one comma-separated string.
Only payments in these currencies, by currency id. Send them as currency_ids[]=a¤cy_ids[]=b or as one comma-separated string.
The opaque keyset cursor a previous page returned as meta.next_cursor. Omit for the first page.
Rows per page, 1 to 200; a value outside the range clamps. Defaults to 50.
50Responses
200OKapplication/json
One keyset page of transactions.
401UnauthorizedAUTHENTICATION_REQUIREDapplication/json
The request carries no bearer token, or one that is revoked, malformed, or minted for another environment (an sbt_test_ token on production).
403ForbiddenTOKEN_MISSING_ABILITYapplication/json
The token is valid but does not carry the ability this endpoint requires; error.context.required_ability names the one to grant. An endpoint that also checks who owns a row or which tier the account is on answers FORBIDDEN, TEAM_TIER_REQUIRED or CONNECTOR_TIER_REQUIRED with the same status, and says so in its own description.
422Validation failedVALIDATION_FAILEDapplication/json
When project_id is missing or not a UUID.
429Too many requestsRATE_LIMITEDapplication/json
The token has spent its 300 requests a minute or 10,000 an hour; Retry-After says when the next one is accepted.
How is this guide?
Last updated on