---
title: Helicone API Integration on Truto
slug: helicone
category: Analytics
canonical: "https://truto.one/integrations/detail/helicone/"
---

# Helicone API Integration on Truto



**Category:** Analytics  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 46 tools for Helicone that AI agents can call directly.

- **helicone_ai_gateway_create_chat_completion** — Create a chat completion via the Helicone AI Gateway, routing the request to the specified model with pass-through billing. Returns the OpenAI-compatible completion response from the routed provider; response shape is provider-specific. Required: model, messages. In BYOK mode the standard OpenAI Chat Completions schema is allowed.
- **helicone_ai_gateway_create_response** — Create a response via the Helicone AI Gateway using the OpenAI Responses API format, routing to the specified model with pass-through billing. Returns the OpenAI-compatible response from the routed provider; response shape is provider-specific. Required: model, input. In BYOK mode the standard OpenAI Responses API schema is allowed.
- **list_all_helicone_ai_gateway** — List all AI models available through the Helicone AI Gateway. Returns: object, data, error. OpenAI-compatible /v1/models endpoint for discovering which models are available for routing.
- **helicone_ai_gateway_list_multimodal** — List all multimodal AI models supported by the Helicone AI Gateway. Returns: object, data, error. This is an OpenAI-compatible endpoint for discovering models that support multiple input or output modalities (e.g., text + images).
- **get_single_helicone_request_by_id** — Retrieve a single LLM request record by its unique ID, including the prompt, response, model, tokens used, latency, cost, and metadata.
- **helicone_requests_get_inputs** — Fetch the input variables and template parameters associated with a specific request.
- **helicone_requests_submit_feedback** — Submit a thumbs-up or thumbs-down feedback rating for a specific request to track user satisfaction.
- **helicone_requests_submit_score** — Attach a named numeric evaluation score (e.g. from a human reviewer or automated evaluator) to a specific request.
- **helicone_requests_submit_assets** — Upload or attach a file asset (e.g. an image or document) to a specific request by asset ID.
- **helicone_requests_upsert_property** — Add or update a custom key-value property on a request, useful for tagging requests with application-specific metadata.
- **list_all_helicone_requests** — Query and list LLM requests with filters for model, time range, user, properties, and scores. Returns paginated results with full request details.
- **helicone_requests_bulk_list** — Query large volumes of requests using ClickHouse for high-performance analytics. Supports the same filters as list but optimized for bulk data exports.
- **helicone_requests_bulk_get** — Fetch multiple request records in a single call by providing an array of request IDs.
- **list_all_helicone_dashboard** — List dashboard scoring metrics in Helicone filtered by time range, user filters, and scoring criteria. Returns score metric records from the data array with configuration-specific attributes. Supports filtering by model, provider, cost, latency, tokens, custom properties, scores, and many other request/response attributes.
- **create_a_helicone_eval** — Create an evaluation score for a specific request in Helicone. Returns: data, error. Required: eval_id, score, name.
- **helicone_evals_query_score_distributions** — Query eval score distributions in Helicone using flexible filters on request/response metadata and time range. Returns: data, error.
- **list_all_helicone_evals** — List evaluation scores from Helicone. Returns: a list of evaluation score string values. No required parameters.
- **helicone_evals_search** — Search Helicone evaluation scores with request/response filters. Returns: name, averageScore, minScore, maxScore, count, overTime, averageOverTime. All filter and timeFilter fields are optional.
- **list_all_helicone_models** — List all AI models from the Helicone model registry with their configurations, pricing, and provider capabilities. Returns: id, error.
- **list_all_helicone_properties** — List properties in Helicone with pagination. Returns: property (a property name string for each record). No required parameters.
- **create_a_helicone_prompt** — Create a new prompt in Helicone with a name, tags, and an initial prompt body following the OpenAI chat completion format. Returns: id, versionId. Required: name, tags, promptBody.
- **get_single_helicone_prompt_by_id** — Get a single Helicone prompt by id, retrieving its metadata including name and tags. Returns: id, name, tags, created_at. Required: id.
- **delete_a_helicone_prompt_by_id** — Delete a Helicone prompt by id, permanently removing the prompt and all associated versions. Returns an empty 204 response on success. Required: id.
- **helicone_prompts_delete_version** — Delete a specific version of a Helicone prompt while keeping the prompt and other versions intact. Returns an empty 204 response on success. Required: prompt_id, version_id.
- **helicone_prompts_get_count** — Get the total count of prompts in the Helicone organization. Returns the count as an integer.
- **helicone_prompts_get_environments** — List all environment names used across prompt versions in Helicone. Returns an array of environment name strings such as production, staging, and development.
- **helicone_prompts_get_tags** — List all unique tags used across prompts in Helicone. Returns an array of tag strings such as support, chatbot, and classification.
- **helicone_prompts_get_version_inputs** — Get the input variables used when a specific prompt version was executed in a Helicone request. Returns: request_id, version_id, inputs. Required: prompt_id, version_id, request_id.
- **helicone_prompts_get_body** — Get the complete prompt body content for a Helicone prompt version, including messages, model configuration, and parameters. Returns: id, name, tags, created_at. Required: prompt_version_id (must be a UUID, not the short prompt ID).
- **helicone_prompts_rename** — Rename an existing prompt in Helicone by updating its display name. Returns an empty 204 response on success. Required: prompt_id, name.
- **helicone_prompts_get_environment_version** — Get the prompt version assigned to a specific environment in Helicone (e.g., production, staging, development). Returns a version object including id, model, prompt_id, major_version, minor_version, commit_message, environment, created_at, and s3_url. Required: promptId, environment.
- **helicone_prompts_get_production_version** — Retrieve the currently designated production version of a prompt in Helicone. Returns: id, model, prompt_id, major_version, minor_version, commit_message, created_at, s3_url. Required: promptId.
- **helicone_prompts_get_version_counts** — Retrieve version statistics for a prompt in Helicone, including the total number of versions and major versions. Returns: totalVersions, majorVersions. Required: promptId.
- **helicone_prompts_get_version** — Get a specific Helicone prompt version by its version id, including the full prompt body content. Returns: id, model, prompt_id, major_version, minor_version, commit_message, environment, created_at, s3_url. Required: promptVersionId.
- **helicone_prompts_get_versions** — Get all versions of a specific Helicone prompt, optionally filtered by major version number. Returns an array of prompt version objects with id, model, prompt_id, major_version, minor_version, commit_message, created_at, and s3_url. Required: promptId.
- **update_a_helicone_prompt_by_id** — Create a new version of an existing Helicone prompt with updated content, as either a major or minor version. Returns: id. Required: promptId, promptVersionId, newMajorVersion, commitMessage, promptBody.
- **helicone_prompts_update_environment** — Set the environment for a specific Helicone prompt version. Environments can be production, staging, development, or any custom environment name. Returns null on successful update. Required: promptId, promptVersionId, environment.
- **list_all_helicone_prompts** — List Helicone prompts based on search criteria and tag filters. Returns an array of prompt objects with id, name, tags, and created_at. Required: search, tagsFilter.
- **helicone_prompts_bulk_update** — Update tags for a Helicone prompt, replacing all existing tags with the new set provided. Returns the updated array of tag strings. Required: prompt_id, tags.
- **helicone_sessions_submit_feedback** — Submit feedback (a boolean rating) for a Helicone session. Returns: data, error. Required: session_id, rating.
- **list_all_helicone_sessions** — Query Helicone sessions with filters, search, time-range filtering, and pagination. Returns: created_at, latest_request_created_at, session_id, session_name, total_cost, total_requests, prompt_tokens, completion_tokens, total_tokens, avg_latency, user_ids. Accepts a complex filter object with request/response-level and session-level conditions.
- **helicone_sessions_list_metrics** — Query Helicone session metrics with time-based aggregation and filtering. Returns: session_count, session_duration, session_cost, average. Accepts nameContains, timezoneDifference, useInterquartile, and a complex filter object.
- **list_all_helicone_users** — List user data in Helicone by user IDs. Returns: cost, user_id, completion_tokens, prompt_tokens, count. Required: userIds.
- **helicone_users_list_metrics** — List user metrics in Helicone with filters and pagination. Returns: hasUsers, count, users.
- **helicone_users_list_metrics_overview** — Query user metrics overview in Helicone with interquartile and percentile-based filtering. Returns: user_cost, request_count. Required: useInterquartile, pSize, filter. pSize must be one of p50, p75, p95, p99, p99.9.
- **create_a_helicone_webhook** — Create a webhook in Helicone by specifying a destination URL, a configuration object, and whether to include enhanced data in payloads. Returns: data, error. Required: destination, config.

## How it works

1. **Link your customer's Helicone account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Helicone.** The Proxy API is a 1-to-1 mapping of the Helicone API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Automate AI usage-based billing** — Finance and billing platforms can pull per-tenant token consumption and cost data from Helicone to generate accurate line-item invoices, eliminating the need to build an internal LLM metering engine.
- **Embed AI observability dashboards for your customers** — SaaS platforms building AI features can surface Helicone's request logs, latency, cost, and session telemetry natively inside their own UI so their users get first-class LLM visibility without leaving the product.
- **Ship a visual prompt management layer** — Low-code builders and internal developer portals can back their prompt editors with Helicone's Prompt Registry, giving non-technical users versioning, environment promotion, and production rollouts under the hood.
- **Close the human-in-the-loop feedback loop** — Support tools, copilots, and content platforms can push thumbs up/down signals and human corrections back to Helicone as feedback and evals, building a continuous quality dataset tied to specific AI traces.
- **Sync LLM traces into data warehouses** — Data platforms can ETL high-volume Helicone request logs into Snowflake, BigQuery, or internal analytics stores using bulk request endpoints, enabling cross-source AI performance reporting.

## What you can build

- **Per-tenant AI cost meter** — Use user metrics endpoints to aggregate cost, prompt tokens, and completion tokens by user_id and expose a tenant-level AI spend widget inside your app.
- **Embedded request explorer** — List and drill into individual Helicone requests — including inputs, responses, and assets — to give your users a native trace viewer for every LLM call your product makes on their behalf.
- **Visual prompt editor with environment promotion** — Create and update prompts in Helicone from your UI and promote a version to staging or production with a single click, backed by the prompt environment endpoints.
- **Thumbs up/down feedback capture** — Wire in-product feedback buttons to Helicone request feedback and score submissions so every rating is attached to the exact LLM trace that produced the output.
- **Session-level conversation analytics** — Surface multi-turn session metrics — total cost, latency, and request count per conversation — to help your users debug and optimize agentic or chat-based workflows.
- **Eval-driven quality dashboards** — Create evals from human corrections and query score distributions to render regression and quality trend charts directly inside your product.

## FAQs

### How does authentication work for the Helicone integration?

Helicone uses API key authentication. Your end users provide their Helicone API key during the connection flow in Truto, and Truto securely stores and injects it into every API call — you never handle raw credentials.

### Can we pull large volumes of LLM request logs efficiently?

Yes. Helicone exposes bulk list and bulk get endpoints backed by ClickHouse, which Truto surfaces as tools. These are designed for high-throughput ETL into data warehouses and analytics pipelines.

### How fresh is the data returned by the Helicone API?

Helicone ingests requests in near real time as they proxy through the gateway. Request, session, and user metrics are typically queryable within seconds of the underlying LLM call completing.

### Can we manage prompts and promote them across environments programmatically?

Yes. Truto exposes tools to create, update, version, and rename prompts, fetch the production or environment-specific version, and update which version is tagged to an environment like staging or production.

### How do we attribute costs to individual tenants in our SaaS?

When your app makes LLM calls through Helicone, pass a user_id (typically your tenant ID) in the request headers. You can then use the users list and user metrics overview tools to aggregate cost and token usage per tenant.

### Is Helicone still actively maintained after the Mintlify acquisition?

The managed SaaS platform is in maintenance mode as of 2026, but the open-source Rust gateway and the API endpoints Truto integrates with remain in active production use for routing and telemetry.

## Related reading

- [Connect Helicone to ChatGPT: Manage Prompts & Monitor LLM Requests](https://truto.one/blog/connect-helicone-to-chatgpt-manage-prompts-monitor-llm-requests/) — Learn how to connect Helicone to ChatGPT using a managed MCP server. Automate prompt versioning, monitor LLM request latency, and manage cost analytics.
- [Connect Helicone to Claude: Track LLM Costs & Evaluate AI Responses](https://truto.one/blog/connect-helicone-to-claude-track-llm-costs-evaluate-ai-responses/) — Learn how to connect Helicone to Claude using a managed MCP server. Track LLM costs, automate prompt evaluations, and monitor AI sessions without building custom integrations.
- [Connect Helicone to AI Agents: Route AI Traffic & Analyze Sessions](https://truto.one/blog/connect-helicone-to-ai-agents-route-ai-traffic-analyze-sessions/) — Learn how to connect Helicone to AI agents using Truto's unified tools. Automate prompt management, evaluate traces, and query session metrics programmatically.
