1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
---
title: "Status Monitoring"
description: "Monitor memory processing status and completion rates"
---
Monitor memory processing status and track completion rates using the list endpoint.
## Status Overview
<Tabs>
<Tab title="TypeScript">
```typescript
const response = await client.documents.list({ limit: 100 });
const statusCounts = response.memories.reduce((acc: any, memory) => {
acc[memory.status] = (acc[memory.status] || 0) + 1;
return acc;
}, {});
console.log('Status breakdown:', statusCounts);
```
</Tab>
<Tab title="Python">
```python
response = client.documents.list(limit=100)
status_counts = {}
for memory in response.memories:
status = memory.status
status_counts[status] = status_counts.get(status, 0) + 1
print("Status breakdown:", status_counts)
```
</Tab>
<Tab title="cURL">
```bash
curl -X POST "https://api.supermemory.ai/v3/documents/list" \
-H "Authorization: Bearer $SUPERMEMORY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"limit": 100}' | \
jq '.memories | group_by(.status) | map({status: .[0].status, count: length})'
```
</Tab>
</Tabs>
## Filter Processing Memories
<Tabs>
<Tab title="TypeScript">
```typescript
const response = await client.documents.list({ limit: 100 });
const processing = response.memories.filter(m =>
['queued', 'extracting', 'chunking', 'embedding', 'indexing'].includes(m.status)
);
console.log(`${processing.length} memories currently processing`);
```
</Tab>
<Tab title="Python">
```python
response = client.documents.list(limit=100)
processing_statuses = ['queued', 'extracting', 'chunking', 'embedding', 'indexing']
processing = [m for m in response.memories if m.status in processing_statuses]
print(f"{len(processing)} memories currently processing")
```
</Tab>
<Tab title="cURL">
```bash
curl -X POST "https://api.supermemory.ai/v3/documents/list" \
-H "Authorization: Bearer $SUPERMEMORY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"limit": 100}' | \
jq '.memories[] | select(.status | IN("queued", "extracting", "chunking", "embedding", "indexing"))'
```
</Tab>
</Tabs>
## Failed Memories
<Tabs>
<Tab title="TypeScript">
```typescript
const response = await client.documents.list({ limit: 100 });
const failedMemories = response.memories.filter(m => m.status === 'failed');
failedMemories.forEach(memory => {
console.log(`Failed: ${memory.id} - ${memory.title || 'Untitled'}`);
});
```
</Tab>
<Tab title="Python">
```python
response = client.documents.list(limit=100)
failed_memories = [m for m in response.memories if m.status == 'failed']
for memory in failed_memories:
title = memory.title or 'Untitled'
print(f"Failed: {memory.id} - {title}")
```
</Tab>
<Tab title="cURL">
```bash
curl -X POST "https://api.supermemory.ai/v3/documents/list" \
-H "Authorization: Bearer $SUPERMEMORY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"limit": 100}' | \
jq '.memories[] | select(.status == "failed") | {id, title, status}'
```
</Tab>
</Tabs>
<Note>
For real-time monitoring of individual memories, use the [Track Processing Status](/memory-api/track-progress) guide.
</Note>
|