get_plan_performance
Per-plan performance metrics for a project — active subscribers, revenue in window, and average ticket size.
Purpose
Return one row per plan in a project with active-subscriber count, successful-payment count and revenue in the requested window, and an average ticket size. Accepts period presets or explicit from / to ISO dates.
Required ability
dashboard:read
Input schema
{
"type": "object",
"required": ["project_id"],
"properties": {
"project_id": {
"type": "string",
"description": "UUID of the project to report on."
},
"period": {
"type": "string",
"description": "Period preset — 7d, 14d, 30d, 60d, 90d, mtd, qtd, ytd, 1y, all. Defaults to 30d. Ignored when both from and to are supplied."
},
"from": {
"type": "string",
"description": "Explicit start date (ISO YYYY-MM-DD). Overrides period when paired with 'to'."
},
"to": {
"type": "string",
"description": "Explicit end date (ISO YYYY-MM-DD). Overrides period when paired with 'from'."
}
}
}Output shape
{
"data": [
{
"plan_id": "pln_01HX...",
"plan_name": "Premium Monthly",
"active_subscribers": 120,
"payments_in_window": 98,
"revenue_in_window": "2842.00",
"avg_ticket": "29.00"
}
],
"meta": {
"project_id": "prj_01HX...",
"range": {
"from": "2026-03-22",
"to": "2026-04-22"
}
}
}Example prompts
"Which plans on project
prj_01HX...generated the most revenue in the last 30 days?"
"Plan performance for my Research Premium project from 2026-01-01 to 2026-03-31."
Failure modes
VALIDATION_FAILED— missingproject_id.TOKEN_MISSING_ABILITY— token lacksdashboard:read.
Related
How is this guide?
get_transaction_breakdown
USD-normalized successful-payment totals split by plan, payment_provider, currency, or project. Includes share percent per group.
list_transactions
Keyset-paginated transaction listing for one project with date, status, provider, plan, and currency filters. Reverse-chronological.