list_transactions
Keyset-paginated transaction listing for one project with date, status, provider, plan, and currency filters. Reverse-chronological.
Row-level transaction listing scoped to a single project. Filters by date range (explicit from / to or period preset), payment status, provider, plan, and currency. Reverse-chronological by occurred_at with opaque keyset pagination via meta.next_cursor. Each row carries its owning project, plan and subscriber, so a payment can be attributed without a follow-up lookup. No raw webhook payloads are returned.
Requires ability
The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.
Runs the same action as
The REST endpoint and this tool share one action, so validation, permissions and events are identical.
Annotations
It reads and never changes anything.
Arguments
project_id*stringUUID of the project whose transactions to list.
periodstringoptionalPeriod preset — 7d, 14d, 30d, 60d, 90d, mtd, qtd, ytd, 1y, all. Defaults to 30d.
fromstringoptionalExplicit start date (ISO YYYY-MM-DD). Overrides period when paired with "to".
tostringoptionalExplicit end date (ISO YYYY-MM-DD). Overrides period when paired with "from".
statusesarrayoptionalOptional payment-status allow-list. Values: successful, failed, pending, refunded.
provider_idsarrayoptionalOptional payment-method (provider) UUID allow-list.
plan_idsarrayoptionalOptional plan-UUID allow-list applied to the parent subscription.
currency_idsarrayoptionalOptional currency UUID allow-list.
cursorstringoptionalOpaque keyset cursor returned in a prior meta.next_cursor. Pass to continue pagination.
limitintegeroptionalMaximum rows to return (1..200, default 50).
1max200What it returns
{ "data": [ { "id": "8b0c4a15-e792-4360-95d8-1f47c0b3e926", "subscription_id": "5b7e2d40-1a86-4c39-97f2-e83d0b16c5a4", "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13", "project_name": "Beautiful Mouths", "plan_id": "c4e82f16-93a7-4d5b-b81c-6e0f27a94d3b", "plan_name": "Monthly", "subscriber_id": "6f9b2e37-c184-4a05-8d72-30e16bc9f458", "subscriber_name": "Ada Lovelace", "status": "successful", "amount": "29.00", "currency": "USD", "provider": "stripe", "provider_label": "Stripe", "method_id": "a15d70c8-3e46-4b92-b70f-58c9d2140e63", "calculated_fee": "1.16", "billing_reason": "subscription_cycle", "external_payment_id": "pi_3Nxy...", "occurred_at": "2026-04-22T10:05:00Z" } ], "meta": { "next_cursor": "MjAyNi0wNC...", "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13" }}How it fails
VALIDATION_FAILEDmissing project_id.
AUTHENTICATION_REQUIREDno authenticated user on the request.
TOKEN_MISSING_ABILITYtoken lacks project-subscription:view-any.
How is this guide?
Last updated on