Memory Layer
API/Memories

Delete memory

Delete a memory by its ID. This operation is permanent and cannot be undone.

Request

DELETE /v1/memories/{id}

Path Parameters

ParameterTypeRequiredDescription
idstringYesThe unique identifier of the memory to delete

Example Request

curl -X DELETE "https://api.memorylayer.dev/v1/memories/mem_1234567890" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

Success Response (200)

{
  "success": true,
  "message": "Memory deleted successfully"
}

Error Responses

Bad Request (400)

{
  "success": false,
  "message": "Invalid memory ID: id must be at least 1 character"
}

Not Found (404)

{
  "success": false,
  "message": "Memory not found"
}

Server Error (500)

{
  "success": false,
  "message": "Failed to delete memory"
}

Important Notes

  • Permanent Deletion: Once deleted, a memory cannot be recovered
  • Graph Cleanup: Associated entities and relationships in the graph database are not automatically removed
  • Cascade Effects: Deleting a memory does not affect other memories or relationships
  • Idempotent: Attempting to delete a non-existent memory returns a 404 error

Examples

Basic Delete

curl -X DELETE "https://api.memorylayer.dev/v1/memories/mem_1234567890" \
  -H "Authorization: Bearer YOUR_API_KEY"

JavaScript Example

const memoryId = "REPLACE_THIS_MEMORY_ID";

const response = await fetch(`https://api.memorylayer.dev/v1/memories/${memoryId}`, {
  method: 'DELETE',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  }
});

const result = await response.json();
if (result.success) {
  console.log('Memory deleted successfully');
} else {
  console.error('Error:', result.message);
}

Python Example

import requests

memory_id = "REPLACE_THIS_MEMORY_ID"

response = requests.delete(
    f"https://api.memorylayer.dev/v1/memories/{memory_id}",
    headers={"Authorization": "Bearer YOUR_API_KEY"}
)

if response.status_code == 200:
    print("Memory deleted successfully")
elif response.status_code == 404:
    print("Memory not found")
else:
    result = response.json()
    print(f"Error: {result['message']}")

Bulk Delete Example (JavaScript)

// Delete multiple memories
const memoryIds = ["memory_id_1", 'memory_id_2', 'memory_id_3'];

const deletePromises = memoryIds.map(id => 
  fetch(`https://api.memorylayer.dev/v1/memories/${id}`, {
    method: 'DELETE',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY'
    }
  })
);

try {
  const responses = await Promise.all(deletePromises);
  const results = await Promise.all(responses.map(r => r.json()));
  
  results.forEach((result, index) => {
    if (result.success) {
      console.log(`Memory ${memoryIds[index]} deleted successfully`);
    } else {
      console.error(`Failed to delete ${memoryIds[index]}: ${result.message}`);
    }
  });
} catch (error) {
  console.error('Bulk delete failed:', error);
}

Error Handling Best Practice

async function deleteMemory(memoryId) {
  try {
    const response = await fetch(`https://api.memorylayer.dev/v1/memories/${memoryId}`, {
      method: 'DELETE',
      headers: {
        'Authorization': 'Bearer YOUR_API_KEY'
      }
    });

    const result = await response.json();
    
    if (!response.ok) {
      throw new Error(`HTTP ${response.status}: ${result.message}`);
    }
    
    if (result.success) {
      return { success: true, message: 'Memory deleted successfully' };
    } else {
      throw new Error(result.message);
    }
  } catch (error) {
    console.error('Delete operation failed:', error);
    return { success: false, error: error.message };
  }
}

// Usage
const result = await deleteMemory("REPLACE_THIS_MEMORY_ID");
if (result.success) {
  console.log(result.message);
} else {
  console.error('Deletion failed:', result.error);
}