Skip to content

Send events (optional)

Connecting your cloud (the onboarding step) gives Venturi billing- and usage-level attribution from your provider’s own data. That’s enough for most customers.

If you want request-level attribution (per-call cost, tokens, latency, and the identity/service that made the call), you can additionally send Venturi events. There are two ways, and they’re additive:

  • Ingestion API


    Emit an InvocationEvent (or a generic observability event) with a single HTTP POST. Best when you already have a place in your code or pipeline that sees each AI call.

    Ingestion API

  • Drop-in proxy


    Point your provider SDK’s base URL at Venturi’s proxy. Venturi records the call and forwards it, failing open if anything is slow. No application logic changes are required beyond the base URL.

    Drop-in proxy

If you cannot connect a source at all

Both options above assume you can run code alongside your AI calls. A third path, file import, is specified for estates that can produce a provider export or a gateway log file but cannot grant API access yet.

Target-state: file import is specified, not yet shipped

File import has a governed specification (formats, source templates, dry-run validation, deduplication, provenance, and security) but no shipped upload surface, import API, or registered file drop. Read File import for the full specified contract and for what is deliberately still unstated. Until it ships, use a cloud connector, the Ingestion API, or the drop-in proxy.

When you don’t need this

  • You only need cost/budget attribution at the team/account level → the cloud connector already covers it.
  • Your inference runs entirely on Bedrock / Vertex AI / Azure OpenAI and you’ve enabled the relevant logging → Venturi reads that through the connector.

When you do want this

  • You call providers directly (OpenAI, Anthropic, etc.) from application code and want each request attributed.
  • You need decision-time signals (live cost, model recommendations) at the call site.
  • You want latency and token counts per request, not just aggregate billing.

Non-negotiables

  • Fail-open. No ingestion or proxy path may block your production traffic. The interceptor runs on a hard latency budget and forwards regardless.
  • No content capture. Venturi never stores prompt or completion text. Send metadata (tokens, model, cost, identity), not message bodies.

Continue to the Ingestion API