---
title: Limits
description: Per-space quotas, request and rate limits, and the size limits on each field. The hosted service is free, with these limits.
---

The hosted service is free, with per-space limits. There is no SLA. Self-hosted servers can change every limit with `OM_*` environment variables (see [Self-hosting](/docs/self-hosting#configuration)).

## Per-space quotas

| Item | Limit | When full |
| --- | --- | --- |
| Memories | 5,000 | `422 quota_exceeded` |
| Records (all collections) | 2,000 | `422 quota_exceeded` |
| Open actions (`pending`, `approved`, `executing`) | 500 | `422 quota_exceeded` |
| Journal entries (day and week) | 800 | `422 quota_exceeded` |
| KV keys | 1,000 | `422 quota_exceeded` |
| Events | 10,000 | Oldest dropped automatically |

`GET /v1/space` returns current `usage` and `limits`. To make room, [forget](/docs/forget-and-privacy) or delete items. Finished actions do not count toward the open-actions quota.

## Requests

| Limit | Value |
| --- | --- |
| Requests per space | 120 per minute (`429 rate_limited`) |
| New spaces per IP address | 10 per hour (`429 rate_limited`) |
| Request body | 256 KB (`413`) |
| Ops per batch | 50 |
| KV value size | 64 KB (JSON-encoded) |

## Retention and dreaming

| Setting | Value |
| --- | --- |
| Inactive space deletion | 90 days after the last request |
| Scratch facts | Removed by dreaming after 14 days if never recalled |
| Dream interval | At most one scheduled dream per 20 hours |
| Changes per dream | 50 (LLM stage) |
| Dream undo window | 7 days |

## Field sizes

| Field | Limit |
| --- | --- |
| Memory `text` | 1 to 4,000 characters |
| Memory `subject` | 200 characters |
| Memory `tags` | 20 tags, 50 characters each |
| `source_ref` | 500 characters |
| Journal `summary` | 4,000 characters |
| Journal `decisions`, `open_loops`, `source_refs` | 50 items, 500 characters each |
| Collection and KV namespace names | 1 to 64 characters: letters, digits, `_`, `.`, `-` |
| Record and KV `key` | 200 characters |
| Record `status` | 50 characters |
| Action `class` | 64 characters |
| Action `summary` | 1,000 characters |
| Action `idempotency_key` | 200 characters |
| Event `kind` / `status` | 64 characters each |
| Recall `q` | 500 characters (first 16 words are used) |
| Forget `ids` | 200 per call |
| Forget `query` | 2 to 200 characters |

## Page sizes

| List | Default | Max |
| --- | --- | --- |
| `GET /v1/memories` | 20 | 100 |
| `GET /v1/collections/{c}/records` | 50 | 100 |
| `GET /v1/actions` | 50 | 100 |
| `GET /v1/journal` | 31 | 100 |
| `GET /v1/events` | 50 | 200 |
| `GET /v1/kv/{ns}` | all, up to 500 | 500 |

`GET /v1/context` reads up to 200 pinned and core facts (cut to `budget_chars`, 200 to 20,000), 50 due records, 50 open records, and 50 open actions.
