Skip to content

Search Documentation

Search across all documentation pages

Limits and Quotas

This page documents all system limits and quotas in ExoVault.

Content Limits#

Memory Content#

FieldLimit
content (write-memory)1 - 100,000 characters
content (context-checkpoint)1 - 1,000,000 characters
summary (write-memory)Max 2,000 characters
summary (context-checkpoint)Max 500 characters
memoryType1 - 50 characters
writeReasonMax 2,000 characters
externalWriteId1 - 200 characters

Task Content#

FieldLimit
title1 - 10,000 characters
descriptionMax 100,000 characters
doneWhenMax 1,000 characters

Note Content#

FieldLimit
Note titleImplementation-specific
Note contentImplementation-specific

Message Content#

FieldLimit
content1 - 10,240 characters
subjectMax 200 characters

Session Start#

FieldLimit
query1 - 10,000 characters
sessionSummary1 - 100,000 characters

Conversation Turns#

FieldLimit
content (ingest-turn)1 - 50,000 characters

Numeric Limits#

Importance & Confidence#

FieldRange
importance1 - 5 (integer)
confidence1 - 5 (integer)
priority (tasks)1 - 5 (integer)
priority (messages)1 - 5 (integer)

Search Parameters#

FieldRangeDefault
topK1 - 5010
threshold0.0 - 1.00.4 (memories), 0.5 (notes)
decayHalfLife1 - 365 days30
diversity0.0 - 1.00.7

Context Profile Limits#

FieldRangeDefault
maxEpisodic0 - 10Profile-dependent
maxFacts0 - 20Profile-dependent
maxTasks0 - 10Profile-dependent
maxConstraints0 - 20Profile-dependent
maxResponseChars2,000 - 100,00016,000

Graph Exploration#

FieldRangeDefault
maxHops1 - 52
maxNodes1 - 20050

Batch Limits#

OperationLimit
context_checkpoint memoriesMax 50 per request
Webhook subscriptions per request1 event subscription per create
Agent messages per session_start5 pending messages
Agent messages per checkpoint3 pending messages

Rate Limits#

Agent Messaging#

The send-message route has per-user rate limiting to prevent message flooding. Exceeding the limit returns HTTP 429 with a retryAfter value.

General API#

There are no global per-route rate limits on most agent API routes. The primary throttling mechanism is the monthly memory quota.

Monthly Memory Quota#

When the MONTHLY_MEMORY_QUOTA environment variable is set, it enforces a monthly cap on memory units consumed:

Quota Enforcement#

  • Checked on write-memory and search-memories operations
  • Returns HTTP 429 with QUOTA_EXCEEDED: Memory monthly quota exceeded
  • Resets at the beginning of each calendar month
  • Window: first day of current month to last day of current month

Memory Units#

Memory units are a composite metric based on:

  • Embedding tokens consumed
  • Operations performed

The formula for units is implementation-specific and may vary.

Self-Hosted Quota#

For self-hosted deployments, the quota is optional. Set MONTHLY_MEMORY_QUOTA to a numeric value to enable, or leave unset for unlimited usage.

URL and String Limits#

FieldLimit
Webhook URLMax 2,048 characters
Agent key labelMax 200 characters
Agent IDMax 200 characters
Agent Run IDMax 200 characters
Model IDMax 200 characters
Link labelMax 500 characters
Search queryMax 10,000 characters
Explore graph queryMax 2,000 characters

Message Expiration#

SettingDefault
expiresInDays1 - 365 days (default: 30)

Messages expire and are excluded from pending queries after the expiration period.

Webhook Limits#

SettingLimit
Webhooks per list requestMax 100
Webhook events per subscription1+ events required