Version
READ

list_recent_payments

List the most recent subscription payments for one project with optional status filter. Reverse-chronological, no raw webhook payloads.

Return the most recent subscription payment rows for a project, reverse-chronological by occurred_at. Rows carry provider references (external_payment_id, external_event_id) but omit raw webhook payloads. Useful for quick revenue inspection and failure triage.

The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.

Annotations

Read-only

It reads and never changes anything.

Arguments

project_id*string

UUID of the project whose payments to list.

statusstringoptional

Payment status filter. One of: successful, failed, pending, refunded

successfulfailedpendingrefunded
limitintegeroptional

Maximum payments to return (1..200, default 50).

min1max200

What it returns

{  "data": [    {      "id": "8b0c4a15-e792-4360-95d8-1f47c0b3e926",      "subscription_id": "5b7e2d40-1a86-4c39-97f2-e83d0b16c5a4",      "method_id": "8b0c4a15-e792-4360-95d8-1f47c0b3e926",      "currency_id": "8f27a0d4-63be-4915-8c07-1a5d9e34b628",      "status": "successful",      "amount": "29.00",      "transaction_fee": 87,      "calculated_fee": "0.87",      "external_payment_id": "pi_...",      "external_event_id": "evt_...",      "billing_reason": "subscription_cycle",      "occurred_at": "2026-05-18T10:05:00Z"    }  ],  "meta": {    "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",    "total": 50,    "limit": 50  }}

How it fails

TOKEN_MISSING_ABILITY

token lacks project-subscription:view-any.

RESOURCE_NOT_FOUND

project_id names a project the token cannot see: unknown, another team's, or outside the token's scope:project: allow-list.

VALIDATION_FAILED

status is not one of the payment statuses; the error context lists the supported values.

How is this guide?

Last updated on