Core concepts

Plans and entitlements

Which endpoints a plan can reach, and the four ways a call is refused.

Contents

There is no free plan. Three paid tiers, cumulative. Each includes everything below it.

PlanPriceAdds
Basic$24/mo12 device types, unlimited PDF export, TCC charts, paper-form scanning
Premium$89/moPre-Job Analyzer, coordination studies, cloud draft sync
Unlimited$199/moEquipment Database, Lead Scanner, AI contract summaries

Charts and reports are uncapped on every paid plan. The gate is which endpoints exist for you, not how many times you may call them. A $7 top-up is available for occasional use beyond a plan's included allowance.

Endpoint gates#

EndpointsRequiresRefusal code
/db/*Unlimiteddatabase_locked
/contracts/*, /leadsUnlimitedcontracts_locked
Pre-Job Analyzer, coordinationPremiumpremium_required
Generation endpointsany paid plan in good standingallowance_exhausted, payment_past_due

All four are 403, and all four carry a structured body rather than a string, so a client can branch on code without matching English.

Response 403
{
  "detail": {
    "code": "database_locked",
    "message": "The Power Automation Database is available on the Unlimited plan ($199/mo).",
    "upgrade": true
  }
}
Branch on code, render message

message is written for a person and will change wording without notice. code is the contract. The upgrade flag, where present, is a hint that the situation is resolved by changing plan rather than by waiting or retrying.

Reading current usage#

Rather than discovering a limit by hitting it, read the current position first.

GET/db/usage
GET/billing/usage