Version
READ

list_transaction_fees

List the transaction fees Subscriby charged the token's creator, newest first — what each was for, the payment it was priced from, how it was collected and the invoice that billed it. Read-only.

Page the creator's Transaction Fees ledger, newest first, in the shape GET /v1/me/transaction-fees answers. A line is written the moment a fee is decided and never re-priced: kind says what it was for (payment_fee, access_code_fee, trial_usage, outage_emails or processing_recovery) and channel how it was collected. The token says whose fees, so there is no project to resolve; month, from, to, project_id, channel and kind are typed first, so an unknown word is a VALIDATION_FAILED rather than an empty page.

Read-only. A line is written by the sale, the meter event or the invoice that decided the fee, never by a tool.

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

Read-only

It reads and never changes anything.

Arguments

monthstringoptional

Optional calendar month as "YYYY-MM" in UTC, such as "2026-10"; wins over from and to.

fromstringoptional

Optional lower bound, ISO 8601: lines incurred at or after it.

tostringoptional

Optional upper bound, ISO 8601: lines incurred before it.

project_idstringoptional

Optional project id: only the lines earned on that project.

channelstringoptional

Optional filter: "connect_at_source" or "metered".

kindstringoptional

Optional filter: "payment_fee", "access_code_fee", "trial_usage", "outage_emails" or "processing_recovery".

limitintegeroptional

Maximum rows to return per page (1..100).

min1max100
pageintegeroptional

1-indexed page number.

min1

What it returns

{  "data": [    {      "id": "7d2f9b4e-3c1a-4e5b-9f6d-2a8b7c6d5e4f",      "kind": "payment_fee",      "kind_label": "Payment Fee",      "channel": "metered",      "channel_label": "Billed on Invoice",      "provider": "paypal",      "project_id": "0f1e2d3c-4b5a-4968-8776-655443322110",      "project_name": "Acme Club",      "member_id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",      "member_name": "Jane Fox",      "subscription_id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",      "payment_id": "5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b",      "gross_amount": "39.0000",      "gross_currency": "USD",      "rate_percent": "3.0000",      "fee_amount": "1.1700",      "fee_currency": "USD",      "units": 117,      "meter_identifier": null,      "invoice_id": "in_1QExampleInvoice00",      "invoiced_at": "2026-11-01T06:30:12+00:00",      "occurred_at": "2026-10-14T18:02:41+00:00",      "created_at": "2026-10-14T18:02:41+00:00"    }  ],  "meta": { "page": 1, "limit": 25, "total": 1, "has_more": false }}

channel is connect_at_source (Stripe Connect deducted the fee from the member's payment; it never appears on a Subscriby invoice) or metered (the fee was reported to the usage meter and billed on the creator's own Subscriby invoice). invoice_id and invoiced_at are set on a metered line once the Subscriby invoice that billed it is paid, and stay null on a line taken at source. units are the cents the meter counted, zero on a line taken at source. A line of a kind that is not a payment's carries its meter_identifier and no project, member or payment.

Money is a decimal string in the creator's billing currency

fee_amount is in fee_currency, the creator's billing currency; gross_amount is in gross_currency, what the member paid in. Parse both as decimals, never floats.

How it fails

VALIDATION_FAILED

month is not YYYY-MM, from or to is not a date, project_id is not an id, or channel or kind is not one of the words above.

AUTHENTICATION_REQUIRED

no authenticated user on the request.

TOKEN_MISSING_ABILITY

token lacks account:read.

How is this guide?

Last updated on