2026-07-11 · 6 min read
Complementary export: Metronome, Orb, and hierarchy reserve
Invoice platforms win at contracts, rating, and money movement. They systematically under-invest in pre-flight hard deny and mid-stream kill for agent loops. FluxMeter v2.8.0 closes Phase 4 by leaning into that split: we enforce on the hot path; Metronome, Orb, and Stripe remain the invoice system of record.
First-class partner exporters
Enable targets with BILLING_EXPORT_TARGETS=stripe,metronome,orb (default: stripe). The shared exporter in api/billing_export.py sends idempotent deltas, with hardened Stripe retries.
Link a customer once with POST /admin/billing/{id}/link and platform set to stripe, metronome, or orb. Partner recipes live under docs/integrations/stripe.md, metronome.md, and orb.md in the engine repo — including env vars and mapping notes.
Interop mappings for external export schemas are documented in spec/schema/external-export-mappings.md so you are not guessing field names.
Hierarchy reserve-confirm
v2.7 shipped hard caps via POST /budget/{id}/cap and check?parent_span_id=. v2.8 adds the missing hold: POST /budget/{id}/reserve?parent_span_id= atomically reserves against both the customer wallet and the span cap pool.
Python SDK 1.5.0 mirrors this with reserve(parent_span_id=) and reconcile(parent_span_id=), so streaming and multi-step agent runs can hold hierarchy budget the same way they hold customer balance.
Per-key budgets and metadata dims
Resellers often need a budget per issued API key, not only per customer wallet. POST /admin/customers/{id}/apikeys/{key_id}/budget sets that limit; /check enforces it when the request authenticates with that key.
For product analytics without a warehouse, pass metadata on /ingest (whitelist keys with FLUXMETER_USAGE_DIMS) and query GET /usage/dim/{key}/{value}?period=YYYY-MM for feature or workflow slices.
Try it locally
Run make demo, link a test customer with /admin/billing/{id}/link, exercise reserve?parent_span_id=, and curl /usage/dim after ingesting events with metadata. Full partner recipes and API details are in the engine repository docs.