Skip to main content
POST
https://memorymachines-core-api-mvp-gateway-6v1lw71z.uc.gateway.dev
/
v1
/
memories
/
feedback
curl -X POST https://memorymachines-core-api-mvp-gateway-6v1lw71z.uc.gateway.dev/v1/memories/feedback \
  -H "x-api-key: YOUR_API_KEY" \
  -F "memory_id=meeting-jan15_memory_0" \
  -F "rating=1" \
  -F "query_text=What did we discuss about the deadline?"
{
  "status": "success",
  "action": "rated",
  "memory_id": "meeting-jan15_memory_0",
  "rating": 1
}
Rate a memory as relevant or not relevant for a specific query. This helps improve search quality over time.
memory_id
string
required
The memory’s custom_id from search results.
rating
integer
required
Rating value:
  • 1 = Relevant/helpful
  • -1 = Not relevant
  • 0 = Remove previous rating
query_text
string
required
The query that surfaced this memory. Max 1,000 characters.
curl -X POST https://memorymachines-core-api-mvp-gateway-6v1lw71z.uc.gateway.dev/v1/memories/feedback \
  -H "x-api-key: YOUR_API_KEY" \
  -F "memory_id=meeting-jan15_memory_0" \
  -F "rating=1" \
  -F "query_text=What did we discuss about the deadline?"
{
  "status": "success",
  "action": "rated",
  "memory_id": "meeting-jan15_memory_0",
  "rating": 1
}

How Ratings Work

  • Ratings are query-specific: The same memory can have different ratings for different queries
  • Ratings help train the system to return more relevant results
  • Use rating=0 to remove a previous rating

Integration Example

def search_with_feedback(query, api_key):
    # Search memories
    search_response = requests.post(
        ".../v1/memories/recall",
        headers={"x-api-key": api_key},
        data={"text": query}
    )
    memories = search_response.json()["memories"]

    # Display to user and collect feedback
    for memory in memories:
        print(f"Memory: {memory['content']['narrative']}")
        rating = input("Relevant? (y/n/skip): ")

        if rating == 'y':
            rate_memory(memory['custom_id'], 1, query, api_key)
        elif rating == 'n':
            rate_memory(memory['custom_id'], -1, query, api_key)

def rate_memory(memory_id, rating, query, api_key):
    requests.post(
        ".../v1/memories/feedback",
        headers={"x-api-key": api_key},
        data={
            "memory_id": memory_id,
            "rating": rating,
            "query_text": query
        }
    )