Skip to main content

Polo Legacy — API Endpoints

All endpoints return server-rendered HTML (htmxido → HTML). HTMX partial updates use the same endpoints with HX-Request headers.

Route Prefixes

PrefixRouter FilePurpose
/lambda_function.pyHome page
/dataroutes/data.pyResource browser
/statsroutes/stats.pyAnalytics (mostly stubs)
/actionsroutes/actions.pyCleanup recommendations
/dashboardsroutes/dashboards.pyCost reports
/budgetroutes/budget.pyBudget tracking
/queryroutes/query.pyFreeform data queries
/diagramroutes/diagram.pyInfrastructure visualization

Data Routes (/data)

MethodPathDescription
GET/data/Index (lazy-loads subsections)
GET/data/allAll resources at once
GET/data/usersCognito users (controller account)
GET/data/accountsCustomer accounts
GET/data/indexesMarqo indexes
GET/data/clustersK8s clusters
GET/data/instancesRunning EC2 instances
GET/data/volumesEBS volumes
GET/data/vpcsVPCs
GET/data/subnetsSubnets
GET/data/natsNAT gateways
GET/data/ipsPublic IPv4 (alive only)
GET/data/elbsLoad balancers
GET/data/bucketsS3 buckets
GET/data/notebooksSageMaker notebooks
GET/data/otherMiscellaneous resources
GET/data/savingsplansAWS Savings Plans
GET/data/pricesInstance pricing table
GET/data/resources/<short_key>Single resource detail + metrics
GET/data/resources/<short_key>/tagsResource tags as table
GET/data/resources/<short_key>/childrenChild resource tree
GET/data/metrics/<short_key>CloudWatch metrics for resource

Actions Routes (/actions)

MethodPathDescription
GET/actions/Index
GET/actions/prune_clustersCluster deletion candidates
GET/actions/stop_notebooksNotebook stopping candidates
GET/actions/prune_volumesVolume deletion candidates
GET/actions/prune_natsNAT gateway deletion candidates
GET/actions/prune_ipsIP deletion candidates
GET/actions/dev_indexesPersistent dev indexes
GET/actions/unroled_instancesEC2 without IAM roles
GET/actions/orphaned_instancesInstances not in any index

Dashboard Routes (/dashboards)

MethodPathQuery ParamsDescription
GET/dashboards/Index
GET/dashboards/costwhere_aws_id, where_type, etc.Cost breakdown
GET/dashboards/cost_seriesCost trends over time

Budget Routes (/budget)

MethodPathQuery ParamsDescription
GET/budget/where_aws_idBudget tracking with account filter

Query Routes (/query)

MethodPathDescription
GET/query/Query builder UI (SQL textarea)
POST/query/resultsExecute query (base64-encoded JSON body)

Stats Routes (/stats) — Mostly Stubs

MethodPathDescription
GET/stats/Index
GET/stats/allAll stats
GET/stats/clustersCluster stats
GET/stats/indexesIndex stats
GET/stats/roleRole analysis
GET/stats/categoryCategory breakdown
GET/stats/customer-computeCustomer compute
GET/stats/data-qualityData quality

Diagram Routes (/diagram)

MethodPathDescription
GET/diagram/Interactive infrastructure diagram

Static Routes

MethodPathDescription
GET/static/{path}CSS, JS, images (MIME-detected)