Skip to content

How usage accrues

Four things in ax1om are metered. Everything else you do in the product moves no meter at all.

This page walks the route a normal week takes through the product and names what accrues at each step. For the numbers themselves, see limits and what is included. For what any of it costs you, the short answer is on billing: nothing beyond your plan.

MeterUnitWhat moves it
Training runs1 per runStarting a training run, from the model wizard or from an agent
Score maintenance1 per record rescoredThe scheduled weekly rescore of your activated scores, on Pro and above
Timing refresh1 per refreshA refresh of the Timing module for a scoring route
Records scored over the API1 per recordEvery record in a successful POST /v1/score or POST /v1/webhooks/score request

Each meter counts in its own calendar month and resets when the month does.

Connect a CRM. Nothing meters. Reading your objects and fields, refreshing the field list, and reconnecting all cost you nothing.

Pick your fields and run diagnostics. Nothing meters. Dataset health, field signal, leakage checks, and redundant-field detection are all free to run, and free to re-run. You are meant to iterate here.

Train. One training run, whether you started it from the wizard or an agent called train_model for you. The run also counts against your plan’s runs per day and runs per week. The meter moves when the run is dispatched, so a run that fails still counted: it occupied the compute either way. Plan retries the way you would plan any other job.

Read the results. Nothing meters. The readout, the lift curve, the score distribution, feature importance, and the model history are all reads of work you already paid for with the run.

Activate and write back. Nothing meters. Writing scores onto CRM records, exporting scores as CSV, and reading per-record factors move no meter.

Let score maintenance run. On Pro and above, activated scores are rescored weekly across all records. That rescore is metered per record. It is scheduled work, so it accrues on its own cadence rather than when you click something.

Refresh Timing. One timing refresh per dispatched job. Timing is a module rather than a separate score, and it refreshes on its own schedule once a scoring route has it switched on.

Score on demand. One record scored is one unit, and the two live endpoints count identically. A batch of 200 records counts 200 whether it arrived as one call or four. Records the response marks as cold still count, because they were still scored.

  • A failed request. POST /v1/score and POST /v1/webhooks/score return an error before any metering, so a rejected batch counts nothing.
  • Test API keys. Keys prefixed ax1m_sk_test_ meter into their own separate test allowance and are never billed. Integration work does not eat your live allowance.
  • The local MCP tools. assess_fit, generate_export_spec, validate_csv, and safe_export_policy run entirely in your own process. Nothing leaves your machine and nothing meters. See the MCP reference.
  • Reading anything. Dashboards, readouts, exports, model history, and the API’s own usage object are reads.

Every batch response from POST /v1/score carries a usage object with your monthly limit, what you have used, what remains, and whether you are inside the grace band. The field list is in the API reference. The product shows the same standing for your live API allocation.

There are no usage overages on any plan, by design. Past your included live API allocation, requests keep working through a grace band up to 2x the limit, then scoring pauses with quota_exceeded until the month resets or you upgrade. Nothing you do in the product can make an invoice larger than the plan you picked.

That is the contract. If a request is refused, it is refused clearly and it is free.