not_found, no_employees, no_people_found, too_large, failed,
and cancelled cost 0. A successful result with zero persona matches costs 1.
Submit checks for a positive balance but does not charge. After the immutable result is ready, one
Postgres transaction inserts a unique spend ledger row and decrements the balance. Publication occurs
only after that commit, so poll, history and webhook all see the same result and charge.
credits_charged is the number 0.
Unmetered plans are internal, unlimited and enterprise. The pro plan bypasses the company-size gate but is metered like every other paid plan.
Request History always shows this numeric value; it does not replace it with labels such as
Pending or Included.
Use GET /v1/account for balance and concurrency, and GET /v1/credits for the auditable ledger.
Each spend uses the job ID as its unique ref.
The existing bounded-overdraft model remains: already accepted concurrent jobs can finish after the
balance reaches zero, while new submits receive 402 insufficient_credits.