Version
READ

get_transaction_fee_summary

Add up one calendar month of the transaction fees Subscriby charged the token's creator — per channel, per kind, per project and per invoice. Read-only.

Add up one month of the creator's Transaction Fees ledger, the current month when month is left out, in the shape GET /v1/me/transaction-fees/summary answers. The token says whose fees. total_fee is every line; at_source_fee is what Stripe Connect deducted from members' payments and never invoiced; metered_fee is what reached the usage meter, the figure to hold against that month's Transaction Fees line on the creator's Subscriby invoice, split into invoiced_fee and awaiting_invoice_fee. Pass project_id to add up one project alone.

Read-only. Never mutates anything.

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"; the current month when left out.

project_idstringoptional

Optional project id: add up that project's lines alone.

What it returns

{  "data": {    "period_start": "2026-10-01",    "period_end": "2026-11-01",    "currency": "USD",    "total_fee": "48.5100",    "at_source_fee": "31.2000",    "metered_fee": "17.3100",    "metered_units": 1731,    "invoiced_fee": "12.4800",    "awaiting_invoice_fee": "4.8300",    "rows": 41,    "by_kind": [      { "kind": "payment_fee", "label": "Payment Fee", "fee": "46.1100", "units": 1491, "rows": 38 },      { "kind": "access_code_fee", "label": "Access Code Fee", "fee": "1.1700", "units": 117, "rows": 1 },      { "kind": "processing_recovery", "label": "Processing Recovery", "fee": "1.2300", "units": 123, "rows": 2 }    ],    "by_project": [      { "project_id": "0f1e2d3c-4b5a-4968-8776-655443322110", "name": "Acme Club", "fee": "47.2800", "rows": 39 },      { "project_id": null, "name": null, "fee": "1.2300", "rows": 2 }    ],    "invoices": [      { "invoice_id": "in_1QExampleInvoice00", "fee": "12.4800", "units": 1248, "rows": 27, "invoiced_at": "2026-11-01T06:30:12+00:00" }    ]  }}

by_kind lists the month per kind in catalogue order, a kind with no lines absent. by_project is largest first, and the fees no project carries (a trial's waived fees, an invoice's processing recovery) pool under a null id; it is empty when project_id narrowed the summary. invoices names the Subscriby invoices that billed the month's metered lines, newest first.

The month is a calendar month in UTC

period_start is the first day and period_end the first day of the next month; the window ends before it. Every amount is a decimal string with four places in currency, the creator's billing currency.

How it fails

VALIDATION_FAILED

month is not YYYY-MM, or project_id is not an id.

AUTHENTICATION_REQUIRED

no authenticated user on the request.

TOKEN_MISSING_ABILITY

token lacks account:read.

How is this guide?

Last updated on