Skip to main content
PUT
Add Properties to Request
Add custom properties to a request after it has been logged. This is useful when you need to enrich request metadata based on business logic, user actions, or post-processing results that aren’t available at the time of the original request.
Properties added via this endpoint are merged with existing properties. To add properties at request time, use the Helicone-Property-* headers. See Custom Properties for more details.

Path Parameters

string
required
The unique identifier of the request to add properties to. This can be found in the Helicone-Id response header when making requests through Helicone.Example: req_abc123def456

Request Body

string
required
The property key/name. Should be descriptive of the metadata being stored.Examples: "ConversationOutcome", "UserSatisfaction", "ProcessingStatus"
string
required
The property value. Must be a string.Examples: "resolved", "high", "completed"

Response

null
Returns null on success.
string | null
Error message if the request failed.

Examples

Add Single Property

Add a property to mark conversation outcome:
cURL
TypeScript
Python

Add Multiple Properties

Add multiple properties to a request (requires multiple API calls):
TypeScript
Python

Use Cases

Post-Processing Enrichment

Add properties after processing the LLM response:

Workflow Status Tracking

Track multi-step workflow progress:

Customer Support Tagging

Tag support conversations with resolution details:

A/B Test Results

Add experiment results after evaluation:

Querying by Properties

Once properties are added, you can query requests by those properties:

Best Practices

  • Consistent Naming: Use consistent property key names across your application for easier filtering and analysis
  • String Values: All property values must be strings. Convert numbers and booleans to strings when needed
  • Meaningful Keys: Use descriptive property keys that clearly indicate the metadata being stored
  • Combine with Headers: Use Helicone-Property-* headers for properties known at request time, and this API for post-request enrichment
  • Batch Operations: When adding multiple properties, use Promise.all() to make parallel requests for better performance

Get Request by ID

Retrieve request with all properties

Query Requests

Query requests filtered by properties

Add Feedback

Add user feedback to requests

Add Scores

Add evaluation scores to requests

See Also