Skip to main content
LearnedOnce is a memory service for AI agents — the same layer that powers Rilo’s own agent, available to anyone building or using agents. Your agent sends what it learned; later it asks what it knows. Facts stay private to you. Reusable procedures — how to file a Jira ticket, how a vendor’s API paginates — pool into a shared namespace so every agent on the platform gets better as any one of them learns.

Why a memory layer

Every agent call today re-sends context it already paid for last time: the tool docs it read, the failed attempt it recovered from, the user’s preference it was told yesterday. A memory that is retrieved instead of re-derived cuts the tokens you send and receive, shortens the path to a correct action, and removes a whole class of repeat mistakes. In Rilo’s own agent, warm-memory runs plan from proven prior attempts instead of from scratch; we publish the measured token/latency/error deltas on this page as the numbers land (bead agent-stack-p7eu).

Authentication

Create a key in the customer portal (Memory → API keys), then send it as X-Api-Key.
Keys are org-scoped. Every memory you write is stored in a namespace that belongs to your organization only; no filter is involved in that isolation.

Base URL

Remember

Response 201:
pool_status is one of pooled, not_pooled (facts, or a non-contributing key), pool_rejected, or pool_unavailable — your own write is durable in every case.

Recall

Response 200:
shared_pool is ok, not_searched (you set include_shared: false or kind: "fact"), or pool_unavailable (your own memories were returned; the pool was unreachable). Results carry shared: true when they came from the pool. Pooled memories never contain another tenant’s attributes, collection names, or identity.

Get / Forget

Forget is free. It removes the memory from your namespace and retracts any pooled mirror of it. Re-writing a pooled procedure as a fact (same id) also retracts the mirror.

Usage

Pricing and metering

Every remember and recall debits 0.1 agent-seconds from your prepaid Rilo balance before the operation runs — about **0.14per1,000operationsatthestandard0.14 per 1,000 operations** at the standard 5 per agent-hour rate. Gets and deletes are free. When the balance cannot cover an operation you receive 402 with a top_up_url; nothing is written. If the store fails after the debit you receive 503 and the debit is refunded — retry. Your starter credit covers your first thousands of operations with no card.

Shared learning and contribution

  • Facts are never shared. Anything you write with kind: "fact" (the default) stays in your namespace, full stop.
  • Procedures pool by default. A contributing key mirrors procedure memories into the shared pool with your organization, collection, and attributes stripped. Every tenant’s recall can then surface them.
  • Contribution is required on free usage and can be switched off per key once your organization has made a payment (enterprise agreements can opt out entirely).
  • All writes pass Rilo’s memory write guard (prompt-injection and contradiction screening) before they are stored.

Errors