Delete memory
Delete a memory by its ID. This operation is permanent and cannot be undone.
Request
DELETE /v1/memories/{id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
id | string | Yes | The 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);
}