Skip to main content
Attach user-defined metadata to any message regardless of format. Metadata is stored separately and can be retrieved or updated independently.

Store Message with Metadata

client.sessions.store_message(
    session_id=session.id,
    blob={"role": "user", "content": "Hello!"},
    format="openai",
    meta={"source": "web", "request_id": "abc123", "user_agent": "mobile"}
)

Retrieve Metadata

The metas array in get_messages response contains metadata for each message in the same order as items and ids.
result = client.sessions.get_messages(session_id=session.id, format="openai")

for i, msg in enumerate(result.items):
    meta = result.metas[i]
    print(f"Message: {msg}, Meta: {meta}")

Update Metadata

Use patch_message_meta to add, update, or delete metadata keys after message creation.
# Add or update keys
updated = client.sessions.patch_message_meta(
    session_id=session.id,
    message_id=msg.id,
    meta={"status": "processed", "score": 0.95}
)

# Delete a key by passing None
updated = client.sessions.patch_message_meta(
    session_id=session.id,
    message_id=msg.id,
    meta={"old_key": None}
)

Next Steps