Usage, budgets, and alerts
Workspace usage limits in Settings, plus the separate usage ledger, budgets, and alerts API.
Confluye tracks three usage surfaces. Their measures have different meanings and are not interchangeable.
| Surface | Where | What it measures |
|---|---|---|
| Subscription limits | Settings → Subscription, GET /api/v1/usage/limits | Resource counts and summed run costCredits for the current calendar month |
| Usage ledger | /api/v1/usage/events, budgets, and alerts | Append-only priced events in micros, optional spend budgets |
| Organization costs | Organization → Consumo y costos | Retained compute credits and measured AI-node usage by workflow, responsible user, workspace, node and invocation |
Organization costs
An organization Owner or Admin opens Organization → Consumo y costos. Choose a UTC period (end date included, maximum 366 days), select names for workspace, workflow or responsible user, and apply the filters. Provider and model filters narrow the AI evidence. Group by workflow, responsible user or workspace; Ver nodos opens the workflow's nodes and models, then Ver invocaciones shows individual occurrences and their retained calculation references. Each filter lists up to 50 choices. Use Buscar opciones de filtros, then Buscar opciones, to find other historical names or IDs in the selected UTC period. This search only changes the available choices; it does not filter the report. Select a choice and use Aplicar filtros to apply it. Choose the comparison measure to change both the ranking and daily chart. The daily chart draws the measure as a line over a zero-based axis labelled in its unit, with the period total, the highest day and the number of days with consumption above it. For AI measures, days without invocations sit on the baseline; days whose value is unavailable appear as dashed columns and break the line, because unknown is not zero. Isolated measured days remain visible as points, including in longer periods. Hover or focus a day to read its value, use the arrow keys, Home and End to move between days, and select a day to filter to it. Loading more results preserves the whole-period totals. If consumption changes between pages, the panel reloads from the first page so a workflow that moves up the ranking is not skipped. Applying a new period or workspace keeps that selection when returning from detail; clearing filters also clears the previous detail navigation context. Return actions restore the parent's provider/model choices while keeping actual filter edits; dimensions added only by drilling into a node do not narrow the parent view.
If a Claude root includes several models, its combined cost appears once under Varios modelos. Open the invocation's Ver cálculo for its retained numeric model breakdown and equivalents. These parts are already included in the root total; they are not additional charges. Model filters select the root's observed model bucket, rather than redistributing a mixed root between rows. For an owned Claude continuation, that bucket follows the models that contributed to this call's delta. Historical models with a fully measured zero delta remain in its audit breakdown without making the call a mixed-model bucket.
- Compute credits consumed: finalized compute from the billing ledger. One credit covers each started 30-second Standard segment; Heavy uses four times as many. Parked approval, event and timer waits consume no compute. Provisional compute is shown separately until finalized.
- Known AI estimate: measured Claude Code, Codex and AI-agent token evidence where a price reference is available. CLI-reported dollar costs and public API references are estimates, not a provider invoice. Subscription usage may already be included in the provider plan.
- Equivalent AI credits: estimated USD cost × retained MXN/USD exchange rate ÷ retained reference price per compute credit. The current reference is MXN 0.03 per credit. These credits are informational: they do not reduce a balance, change a budget or add a Stripe charge.
Recorded AI usage can coexist with an Agent run waiting for tool confirmation. The run resumes only after its confirmation decision; recording usage leaves that wait active.
Failed or canceled hosted AI calls retain their execution outcome even when the provider returned no measurements. Those quantities remain unavailable; a failed call is not evidence of zero consumption. Missing prices, exchange rates or measurements appear as No disponible. The report labels known subtotals and shows how many invocations have measurements, prices and equivalences. Tokens stay visible when a cost cannot be priced. A genuine measured zero remains zero. An interrupted Codex stream retains its available token counters as partial evidence until the protocol confirms the turn completed. A failed preflight check before dispatch records no AI invocation. Cancellation during the accounting admission is checked again before the CLI starts; an undispatched entry is withdrawn while measured evidence and newer session activity remain intact. Overlapping preparations canceled before dispatch preserve the last recoverable session baseline in either order. If older evidence cannot be recovered, quantities stay unavailable rather than being inferred as zero. The tokens ranking reports how many invocations have confirmed input and output measurements; the compute ranking omits AI price coverage because compute has its own billing ledger. The invocation's model breakdown keeps each known quantity and estimate even when another counter is missing. Hosted OpenAI estimates require a confirmed standard service tier from the provider response; an absent or unsupported tier stays No disponible. Historical consumption before capture is not reconstructed from assistant text. A continued Claude session without an owned cumulative baseline keeps its quantities unavailable until a valid baseline exists. A stronger verified model can correct an unpriced observation using the same historical pricing catalog and conversion references. Known monetary amounts and the references supporting them stay unchanged. Its observed model stays visible in filters and rankings even when consumption cannot be assigned; unknown consumption is not converted to zero.
Attribution uses names and responsibility retained at admission, including workflows or users that later change. Responsibility distinguishes Sistema, Sin responsable atribuido and Histórico sin responsable conocido; missing historical evidence is not reassigned to today's owner. Numeric evidence survives execution-history pruning. Compute belongs to the workflow: it is not distributed to a selected node, provider or model. Organization invoices and the existing Managed AI meter remain separate. Organization report access does not grant access to a run's prompts, outputs or private content.
Open Facturación y metodología to see invoices and billing adjustments separately from AI estimates. Allocated adjustments follow the applied compute attribution filters. Unallocated adjustments are organization totals and are available without dimension filters; they are never spread among workflows, users or AI nodes. An unavailable amount is shown as No disponible, rather than as zero.
Known USD, MXN and equivalent-credit amounts have independent coverage. A known MXN amount remains visible when its credit equivalent is unavailable, and an unavailable MXN amount is never inferred as zero from a known equivalent. Known USD and a valid retained exchange reference can determine MXN even when the compute-credit reference needed for its equivalent is unavailable. For owned Claude continuations, exact cumulative dollar amounts are subtracted before the invocation estimate is rounded to a micro-dollar; older rounded-only baselines cannot establish the missing fractional precision.
The MXN subtotal shows its own count of invocations with a retained MXN amount. Select Costo estimado de IA (MXN) to compare the ranking and daily series in pesos, including known zero amounts before unavailable entries. Ver cálculo shows each occurrence's retained USD, MXN and equivalent-credit amounts separately, even when calculation references are missing.
Subscription usage (UI)
Open Settings → Subscription (/{slug}--{workspaceId}/settings/subscription). The page loads workspaceShell.usage.get (same payload as session GET /api/usage and v1 GET /api/v1/usage/limits).
The Team plan includes up to 10 workspaces per organization, shared or private.
The current-plan card shows the plan name for an active or trial plan, Sin plan when no plan is current (none chosen yet, or the subscription was canceled), and Acceso interno for operator-waived billing. After a paid Checkout the page shows Confirmando tu pago con Stripe… and refreshes itself every two seconds, for up to 90 seconds, until the plan is active. Every plan can be chosen again after a cancellation; Checkout and plan changes are available only where Stripe billing is enabled for the deployment.
If Elegir plan cannot continue, the explanation appears directly below Comparar planes. While a payment page is being prepared, wait briefly and try again; that preparation window lasts two minutes. After that window, you can choose another plan even if you abandoned an earlier Checkout. Confluye reuses an open payment page for the same plan, or expires the organization's other open pages before creating a replacement, so those older tabs can no longer be paid. If payment already completed, wait a few seconds and reload for subscription activation instead of paying again. If the organization already has a subscription, reload before changing its plan.
An organization Owner/Admin can also request or recover the payment page through billing.checkout on
Confluye MCP. Open the returned approval link, verify MFA, review the exact plan and cap, and approve;
then continue the original MCP request. The same Checkout recovery protections apply. See
Organization invitations and Checkout.
Organization usage reports currently use UTC calendar days only. The timeZone query parameter
must be omitted or set to UTC; non-UTC IANA zones fail with 400 until rollups support local
calendar boundaries and DST conversion. This prevents a report from silently assigning usage to the
wrong day.
Limits are computed in getWorkspaceUsageSummary against a fixed internal-test catalog:
| Key | Label | Limit | Counted as |
|---|---|---|---|
credits | Execution credits | 10,000 | Sum of costCredits on workspace runs |
workflows | Workflows | 100 | All workflows, including trashed |
schedules | Scheduled tasks | 100 | Schedules |
apiKeys | API keys | 20 | API keys |
documents | Documents | 500 | Documents without trashedAt |
documentTokens | Document tokens | 1,000,000 | Sum of those documents' tokens |
tableRows | Table rows | 50,000 | Rows on all tables (trashed tables still count) |
Each limit has used, limit, remaining, percentUsed, and status: exceeded if used is greater than the limit, warning at ≥ 80%, otherwise ok. The period is the current local calendar month (periodStart / periodEnd).
Usage ledger, budgets, and alerts (API)
The ledger is not shown in Settings. Operators append events with a workspace API key. Success and error bodies use the contract envelope { ok, data|error, meta: { contractVersion: "api-contracts.v1", generatedAt } }.
Mutations require Idempotency-Key (24-hour replay window). Missing keys return 400 with error.code: "idempotency_key_invalid".
GET /api/v1/usage/events can filter by a product's pseudonymous usageTag and an ISO dateFrom / dateTo period. The API key's workspace scopes the results. Runs with product context inherit the run's tag; internal runs without product context remain untagged. The ledger stores no end-user external ID.
See Usage API.
Pricing
POST /api/v1/usage/events ignores client costMicros unless it matches the server quote. Token pricing version is pricing-2026-01-01. Known models use per-million input/output micros; unknown hosted models use 3,000,000 / 15,000,000. Providers ollama, vllm, local:codex, and local:claude-code quote zero. Image generation uses a separate catalog (image-pricing-2026-07-17) in code; the events POST path only calls token calculateUsageCost.
costCredits on serialized events is costMicros / 10_000 (estimated USD cents). It is a legacy
budget unit, separate from actual compute credits and the informational AI equivalents above.
The zero quote for local CLIs in this legacy ledger does not prove that they consumed no resources.
Budgets and alerts
Budgets are unique per workspace + period (daily or monthly). New rows default to enabled: false and warningPercent: 80. Evaluation is on-demand via POST /api/v1/usage/alerts — no scheduler tick creates alerts.
For an enabled budget, spend is the ledger sumCost in the UTC day or UTC calendar month. If spend reaches warningPercent or 100 of limitMicros, an alert is created once per {workspaceId, budgetId, periodStart, threshold} eventKey. Re-evaluate returns created: [] for the same keys.
Authorization
| Path | Auth |
|---|---|
Settings Subscription / tRPC usage.get / GET /api/usage | Session; other workspaces only if the user is a member |
/api/v1/usage/* | Bearer API key; workspace scope required (403 otherwise) |
Workspace usage v1 routes have no extra Admin/Owner check. The organization costs report requires an organization Owner or Admin and the organization's applicable MFA policy.
