diff --git a/langfuse/api/reference.md b/langfuse/api/reference.md
index 6598e7cc4..759ddbdec 100644
--- a/langfuse/api/reference.md
+++ b/langfuse/api/reference.md
@@ -3635,7 +3635,7 @@ Use the `fields` parameter to control which observation fields are returned:
- `basic` - name, level, statusMessage, version, environment, bookmarked, public, userId, sessionId
- `time` - completionStartTime, createdAt, updatedAt
- `io` - input, output
-- `metadata` - metadata
+- `metadata` - metadata (truncated to 200 chars by default, use `expandMetadata` to get full values)
- `model` - providedModelName, internalModelId, modelParameters
- `usage` - usageDetails, costDetails, totalCost
- `prompt` - promptId, promptName, promptVersion
@@ -3699,6 +3699,19 @@ Example: "basic,usage,model"
-
+**expand_metadata:** `typing.Optional[str]`
+
+Comma-separated list of metadata keys to return non-truncated.
+By default, metadata values over 200 characters are truncated.
+Use this parameter to retrieve full values for specific keys.
+Example: "key1,key2"
+
+
+
+
+
+-
+
**limit:** `typing.Optional[int]` — Number of items to return per page. Maximum 1000, default 50.
diff --git a/langfuse/api/resources/observations_v_2/client.py b/langfuse/api/resources/observations_v_2/client.py
index e6796fd46..ea9599c69 100644
--- a/langfuse/api/resources/observations_v_2/client.py
+++ b/langfuse/api/resources/observations_v_2/client.py
@@ -26,6 +26,7 @@ def get_many(
self,
*,
fields: typing.Optional[str] = None,
+ expand_metadata: typing.Optional[str] = None,
limit: typing.Optional[int] = None,
cursor: typing.Optional[str] = None,
parse_io_as_json: typing.Optional[bool] = None,
@@ -56,7 +57,7 @@ def get_many(
- `basic` - name, level, statusMessage, version, environment, bookmarked, public, userId, sessionId
- `time` - completionStartTime, createdAt, updatedAt
- `io` - input, output
- - `metadata` - metadata
+ - `metadata` - metadata (truncated to 200 chars by default, use `expandMetadata` to get full values)
- `model` - providedModelName, internalModelId, modelParameters
- `usage` - usageDetails, costDetails, totalCost
- `prompt` - promptId, promptName, promptVersion
@@ -76,6 +77,12 @@ def get_many(
If not specified, `core` and `basic` field groups are returned.
Example: "basic,usage,model"
+ expand_metadata : typing.Optional[str]
+ Comma-separated list of metadata keys to return non-truncated.
+ By default, metadata values over 200 characters are truncated.
+ Use this parameter to retrieve full values for specific keys.
+ Example: "key1,key2"
+
limit : typing.Optional[int]
Number of items to return per page. Maximum 1000, default 50.
@@ -234,6 +241,7 @@ def get_many(
method="GET",
params={
"fields": fields,
+ "expandMetadata": expand_metadata,
"limit": limit,
"cursor": cursor,
"parseIoAsJson": parse_io_as_json,
@@ -292,6 +300,7 @@ async def get_many(
self,
*,
fields: typing.Optional[str] = None,
+ expand_metadata: typing.Optional[str] = None,
limit: typing.Optional[int] = None,
cursor: typing.Optional[str] = None,
parse_io_as_json: typing.Optional[bool] = None,
@@ -322,7 +331,7 @@ async def get_many(
- `basic` - name, level, statusMessage, version, environment, bookmarked, public, userId, sessionId
- `time` - completionStartTime, createdAt, updatedAt
- `io` - input, output
- - `metadata` - metadata
+ - `metadata` - metadata (truncated to 200 chars by default, use `expandMetadata` to get full values)
- `model` - providedModelName, internalModelId, modelParameters
- `usage` - usageDetails, costDetails, totalCost
- `prompt` - promptId, promptName, promptVersion
@@ -342,6 +351,12 @@ async def get_many(
If not specified, `core` and `basic` field groups are returned.
Example: "basic,usage,model"
+ expand_metadata : typing.Optional[str]
+ Comma-separated list of metadata keys to return non-truncated.
+ By default, metadata values over 200 characters are truncated.
+ Use this parameter to retrieve full values for specific keys.
+ Example: "key1,key2"
+
limit : typing.Optional[int]
Number of items to return per page. Maximum 1000, default 50.
@@ -508,6 +523,7 @@ async def main() -> None:
method="GET",
params={
"fields": fields,
+ "expandMetadata": expand_metadata,
"limit": limit,
"cursor": cursor,
"parseIoAsJson": parse_io_as_json,