curl https://gateway.helicone.ai/v1/completions \
  -H 'Content-Type: application/json' \
  -H 'Helicone-Auth: Bearer HELICONE_API_KEY' \ # required header
  -H 'Helicone-<HEADER>: <VALUE>' # all headers will follow this format
  -d ...

Supported Headers

Helicone-Auth
string (HELICONE_API_KEY)
required

This is the first header you will use, which authenticates you to send requests to the Helicone API. Here’s the format: "Helicone-Auth": "Bearer <HELICONE_API_KEY>". Remember to replace it with your actual Helicone API key.

When adding the Helicone-Auth make sure the key you add has write permissions. As of June 2024 all keys have write access.

Helicone-Target-URL
string (url)

The URL to proxy the request to when using gateway.helicone.ai. For example, https://api.openai.com/.

Helicone-OpenAI-Api-Base
string (url)

The URL to proxy the request to when using oai.helicone.ai. For example, https://[YOUR_AZURE_DOMAIN].openai.azure.com.

Helicone-Request-Id
string (uuid)

The ID of the request, in the format: 123e4567-e89b-12d3-a456-426614174000

Helicone-Model-Override
string (model)

Overrides the model used to calculate costs and mapping. Useful for when the model does not exist in URL, request or response. For example, gpt-4-1106-preview.

Helicone-Prompt-Id
string

Assigning an ID allows Helicone to associate your prompt with future versions of your prompt, and automatically manage versions on your behalf. For example, both prompt_story and this is the first prompt are valid.

Helicone-Property-[Name]
string

Custom Properties allow you to add any additional information to your requests, such as session, conversation, or app IDs. Here are some examples of custom property headers and values: Helicone-Property-Session: 121, Helicone-Property-App: mobile, or Helicone-Property-MyUser: John Doe. There are no restrictions on the value.

Helicone-User-Id
string

Specify the user making the request to track and analyze user metrics, such as the number of requests, costs, and activity associated with that particular user. For example, alicebob@gmail.com or db513bc9-ff1b-4747-a47b-7750d0c701d3 are both valid.

Helicone-Fallbacks
JSON string dump

Utilize any provider through a single endpoint by setting fallbacks. See how it’s used in Gateway Fallbacks.

Helicone-RateLimit-Policy
string

Set up a rate limit policy. The value should follow the format: [quota];w=[time_window];u=[unit];s=[segment]. For example, 10;w=1000;u=cents;s=user is a policy that allows 10 cents of requests per 1000 seconds per user.

Helicone-Session-Id
string

Add a Helicone-Session-Id header to your request to start tracking your (sessions and traces.)[features/sessions].

Helicone-Session-Path
string

To represent parent and child traces we take advantage of a simple path syntax. For example, if you have a parent trace parent and a child trace child, you can represent this as parent/child.

3rd Party Integrations

Helicone-Posthog-Key
string

PostHog authentication for Helicone’s PostHog Integration

Helicone-Posthog-Host
string

Feature Flags

Helicone-Omit-Response
boolean

Whether to exclude the response from the request. Set to true or false.

Helicone-Omit-Request
boolean

Whether to exclude the request from the response. Set to true or false.

Helicone-Cache-Enabled
boolean

Whether to cache your responses. Set to true or false. You can customize the behavior of the cache feature by setting additional headers in your request.

ParameterDescription
Cache-controlSpecify the cache limit as a string in seconds, i.e. max-age=3600 is 1 hour.
Helicone-Cache-Bucket-Max-SizeThe size of cache bucket represented as a number.
Helicone-Cache-SeedDefine a separate cache state as a string to generate predictable results, i.e. user-123.
Header values have to be strings. For example, "Helicone-Cache-Bucket-Max-Size": "10".
Helicone-Retry-Enabled
boolean

Retry requests to overcome rate limits and overloaded servers. Set to true or false. You can customize the behavior of the retries feature by setting additional headers in your request.

ParameterDescriptionretru
helicone-retry-numNumber of retries as a number.
helicone-retry-factorExponential backoff factor as a number.
helicone-retry-min-timeoutMinimum timeout (in milliseconds) between retries as a number.
helicone-retry-max-timeoutMaximum timeout (in milliseconds) between retries as a number.
Header values have to be strings. For example, "helicone-retry-num": "3".
Helicone-Moderations-Enabled
boolean

Activate OpenAI moderation to safeguard your chat completions. Set to true or false.

Helicone-LLM-Security-Enabled
boolean

Secure OpenAI chat completions against prompt injections. Set to true or false.

Helicone-Stream-Force-Format
boolean

Enforce proper stream formatting for libraries that do not inherently support it, such as Ruby. Set to true or false.

Response Headers

HeadersDescription
Helicone-IdIndicates the ID of the request. !
Helicone-CacheIndicates whether the response was cached. Returns HIT or MISS.
Helicone-Cache-Bucket-IdxIndicates the cache bucket index used as a number.
Helicone-Fallback-IndexIndicates fallback idex used as a number.
Helicone-RateLimit-LimitIndicates the quota for the number of requests allowed in the time window.
Helicone-RateLimit-RemainingIndicates the remaining quota in the current window as a number.
Helicone-RateLimit-PolicyIndicates the active rate limit policy.