ActionBoxDOCS

Billing & Usage

Understand monthly Action usage, plan limits, overage behavior, and the billing API.

ActionBox measures usage on the server. The billing page and GET /v1/billing return the active workspace's current plan, live Action count, limits, and overage meter. The usage period starts at midnight UTC on the first day of each month.

Plan limits

PlanLive Actions included / monthActive SourcesDevicesWatchesHistoryContext / Action
Developer2503237 days16 KB
Pro1,000UnlimitedUnlimited2030 days64 KB
Founder1,500UnlimitedUnlimited5090 days64 KB
Team5,000UnlimitedUnlimited5090 days128 KB

Team includes 5 seats for active members and unexpired pending invitations. The billing owner manages its subscription. Changing that person's workspace role does not move the subscription to another owner. Other members must leave every shared Team workspace before purchasing a separate subscription for their personal workspace; a valid pending Team invitation must first be accepted, revoked, or allowed to expire. Read the account-specific state from GET /v1/billing/purchase-eligibility before opening checkout. Additional members cost $8 USD each per month, plus applicable tax, purchased from Subscription → Add capacity. Each purchase creates a separate recurring subscription; cancel it separately in Billing when no longer needed. Capacity becomes available after payment confirmation. Founder sales are closed; existing purchases retain their allowance.

All plans block new live Actions at their available allowance. Pro and Team can purchase 1,000-Action packs for $8 and $5 USD respectively, plus applicable tax. Packs apply to the UTC calendar month in which payment completes, expire at its end, and do not roll over or renew automatically. There are no automatic usage charges. Existing Actions remain available for decisions, and Watch incidents continue to be recorded even when Action creation is capped. Prices and checkout status are authoritative on the pricing page and billing portal; do not hard-code a price in an integration.

Decision health in Usage

The authenticated Usage page includes workspace-level decision health for all retained live Actions. Depending on the data available, it shows Actions created and resolved, median decision time, resolution, expiration and escalation rates, outcome coverage, and outcome failure or rollback rates.

Decision-context adoption and its observed latency comparison appear only when both Actions with decision context and Actions without it contain resolved records. Optional metrics stay hidden when the retained history is too small; the dashboard does not invent a benchmark, target, or individual-member score.

Observed workspace history

Decision health is an aggregate operational view over retained live Actions, not a configurable reporting window or an employee-performance measure.

Read the authoritative snapshot

Use a user session to read billing data:

curl -fsS https://api.actionbox.cloud/v1/billing \
  -H "Authorization: Bearer $ACTIONBOX_USER_TOKEN"

The response includes entitlements, usage_count, overage_actions, overage_charge_usd (zero for prepaid usage), purchased_actions, additional_members, period_start, and the billing status. A workspace keeps a separate billing owner identity; only that person can open the customer billing portal through POST /v1/billing/portal.

Read quota headers from Action creation

Source-authenticated Action-creation responses include these useful headers:

HeaderMeaning
X-Actionbox-PlanPlan used for this request
X-Actionbox-Quota-LimitTotal available live Actions, including purchased packs
X-Actionbox-Quota-RemainingIncluded Actions not yet used, never below zero
X-Actionbox-Quota-ResetUnix timestamp for the next UTC monthly period
X-Actionbox-Overage-ActionsLive Actions above the included allowance
X-Actionbox-Overage-RateMeter rate, or hard-block on Developer and Founder

Treat the response body and headers as informational. Admission is decided by the server at create time, so do not rely on a locally cached counter to decide whether to submit an Action.

What gets blocked

ErrorMeaningFix
429 QUOTA_EXCEEDEDAvailable live Action allowance is exhaustedBuy packs on an eligible paid plan, wait for the next period, or upgrade.
429 RATE_LIMITEDRequest-rate or hourly admission limit was reachedHonor Retry-After, add bounded backoff, and spread worker retries.
403 SOURCE_LIMIT_REACHEDToo many active Sources for the planRevoke an unused Source or review the plan.
403 DEVICE_LIMIT_REACHEDToo many active connected devicesRevoke an old installation or review the plan.
403 WATCH_LIMIT_REACHEDToo many active WatchesArchive an unused Watch or review the plan.
413 PAYLOAD_CONTEXT_TOO_LARGEContext exceeds the plan's per-Action ceilingSummarize the context and link to an access-controlled artifact.

Exact idempotency retries and deduplicated replays remain safe even when a hard-capped workspace has reached its quota. Use the same idempotency key only for the same request body; a changed body requires a new key.

Billing recovery

If the dashboard reports that live pricing is temporarily unavailable, do not assume a price or retry checkout in a loop. Confirm the plan and status from GET /v1/billing, then retry the billing page once live pricing is available again. Your current plan is unchanged while checkout is unavailable.

Keep billing support safe

For a billing question, send the workspace ID, plan/status, approximate UTC time, HTTP status, and X-Request-ID. Never send a payment method, customer portal URL, Source key, user token, webhook secret, or full billing response if it contains personal or payment data.

Watch capacity is per workspace. Paused Watches count; archived Watches do not. Existing Watches are retained when a workspace is above its limit, but new Watches cannot be added until capacity is available.

On this page