Who can use this feature: Anyone on any plan.


Custom Properties allow you to add any additional information to your requests, such as:

  • The session, conversation, or app id
  • The prompt chain by adding a common value to group of requests
  • Application or user metadata making the request

Custom Properties appear as headers in the `Request` table.

Why Custom Properties

  • Get the total cost or latency for a group of requests in a prompt chain
  • Get the “unit economics” of your application. For example, the average cost of a conversation.
  • Slice and dice your requests and metrics by any custom property.

Quick Start

Adding Custom Properties at Request Time

Use headers to add Custom Properties to your LLM requests.


Define the Header

Name your header in the format Helicone-Property-[Name] where Name is the name of your custom property.


Define the Value

The value is a string that labels your request for this custom property. Here are some examples:

curl https://oai.helicone.ai/v1/completions \
  -H 'Content-Type: application/json' \
  -H 'Helicone-Auth: Bearer HELICONE_API_KEY' \
  -H 'Helicone-Property-Session: "24"' \ # Example 1
  -H 'Helicone-Property-Conversation: "support_issue_2"' \ # Example 2
  -H 'Helicone-Property-App: "mobile"' # Example 3
  -d ...

Updating Custom Properties After Request

You can also update Custom Properties post-request submission by making a PUT request to a designated API endpoint.


Obtain the Request ID


Make a PUT Request

Here are the code snippets on how to make a PUT request:

PUT Request API

Check out the detailed documentation.


Questions or feedback? Reach out to help@helicone.ai or schedule a call with us.