canonical: https://jentic.com/apis/cnrcode.com/cnrcode

# Cnrcode Tillpad

The Tillpad API gives an agent bounded storage and search for its jobs. It stores namespaced key-value pairs and memory convention values, indexes files and notes for retrieval, and runs semantic RAG search over them. On top of storage it provides receive-only email inboxes with webhooks, scheduled HTTPS jobs, and metered usage with budget estimates. Run-scoped API keys can be wiped at the end of a job and return a signed wipe receipt, so ephemeral agent state does not linger.

## For AI agents

Store namespaced key-value pairs and memory values, index files and notes for semantic RAG search, receive email into inboxes, and schedule HTTPS jobs. Run keys can be wiped with a signed receipt when a job ends.

## Scope

Does not send outbound email, provide a full relational database, or execute agent code. Use for bounded key-value storage, RAG search, receive-only inboxes, and scheduled HTTPS jobs only.

## Capabilities

- Store and read namespaced key-value pairs for agent state
- Index files and notes and run semantic RAG search over them
- Keep memory convention values across prefs, facts, and run scopes
- Receive email into receive-only inboxes and register email webhooks
- Schedule recurring HTTPS jobs at an interval
- Issue account, run, and sub keys with ACLs and wipe run namespaces with a signed receipt
- Track metered usage and budgets and estimate whether an operation would be throttled

## Use cases

### Agent Memory and State Through Jentic

An AI agent can keep its working state in Tillpad through Jentic instead of wiring a storage backend. The agent writes namespaced key-value pairs and memory convention values, reads them back on the next run, and keeps prefs and facts separate from run-scoped data. Because namespaces are addressed in the path, the agent's reach is easy to bound to its own folder.

Example prompt: Store a preference value under a namespace, then read it back on a later run to restore the agent's state

### RAG Knowledge Base for an Agent

Tillpad turns uploaded files and plain-text notes into a retrieval base an agent can search. A workflow uploads documents into a namespace, indexes notes, and runs a semantic RAG search to pull the passages relevant to a question, optionally filtered by memory scope.

Example prompt: Upload a document into a namespace, index a note, then run a semantic RAG search and return the top matching passages

### Receive-Only Email Inboxes for Workflows

An agent that needs to receive email, such as confirmations or inbound replies, can create a receive-only inbox in Tillpad and register an email.received webhook. It reads message metadata and attachments, downloads the raw MIME when needed, and blocks unwanted senders with a blocklist.

Example prompt: Create a receive-only inbox, register an email.received webhook, and list the messages that arrive

### Ephemeral Run-Scoped Storage With Wipe Receipts

For short-lived jobs, Tillpad issues run-scoped keys whose namespaces can be wiped when the job finishes, returning a signed wipe receipt you can verify. That keeps a batch of agent work from leaving data behind and gives an auditable proof that it was removed.

Example prompt: Create a run key, store working data under its namespace, finish the run to wipe it, and verify the returned wipe receipt

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| PUT | `/api/kvp/{namespace}/{key}` | Store a key-value pair |
| GET | `/api/kvp/{namespace}/{key}` | Read a key-value pair |
| POST | `/api/rag/search` | Run a semantic RAG search |
| POST | `/api/files/{namespace}` | Upload a file for RAG indexing |
| POST | `/api/inboxes` | Create a receive-only inbox |
| POST | `/api/schedules` | Create an HTTPS interval schedule |
| POST | `/api/keys` | Create an API key with an optional ACL |
| POST | `/api/runs/{keyId}/finish` | Wipe run-key namespaces and return a signed receipt |

## Key resources

- **Key-Value and Memory** — Namespaced key-value pairs and memory convention values across prefs, facts, and run scopes
- **Files and RAG** — Upload files, index notes, run semantic RAG search, and manage file vectors
- **Inboxes** — Receive-only email inboxes, messages and attachments, webhooks, and sender blocklists
- **Schedules** — Create and list HTTPS interval schedules and review their run attempts
- **Keys and Wipe Receipts** — Account, run, and sub API keys with ACLs, namespace wipes, and signed wipe receipts
- **Usage and Billing** — Usage snapshots, budget views and estimates, and Stripe-based billing operations

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 44 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 67 / 100
  - Developer Experience & Jentic Compatibility: 58 / 100
  - AI-Readiness & Agent Experience: 20 / 100
  - Agent Usability: 92 / 100
  - Security: 60 / 100
  - AI Discoverability: 66 / 100
- **View full report:** https://jentic.com/apis/cnrcode.com/cnrcode/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring the Tillpad API by hand means passing a bearer API key or session JWT, threading namespaces into your key-value and file paths, and watching the metered usage and budget so a write is not throttled. Through Jentic you install once, import Tillpad from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Tillpad puts the namespace in the URL path (the `/api/kvp`/ and `/api/files`/ paths), so a rule can pin your agent to one namespace and the storage operations you choose. You choose the operations it may call, so destructive ones like wiping a namespace or deleting an inbox are not included unless you add them.
- **Credential handling:** Your Tillpad key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as store a value or run a RAG search, and Jentic returns the matching Tillpad operation with its input schema so the agent calls the right endpoint without reading the reference docs.

## Related APIs

- **Upstash** — Serverless key-value and vector storage aimed at applications and agents.
- **Pinecone** — A dedicated vector database for semantic search and retrieval.
- **Supabase** — A fuller database and storage backend you can pair with Tillpad for relational data.

## FAQ

### What authentication does the Tillpad API use?

The Tillpad API authenticates with an HTTP bearer token, which can be an API key beginning with tp_ or a session JWT, per its OpenAPI spec. Health, config, sign-in, and webhook endpoints need no authentication, while storage, RAG, inbox, and schedule operations expect the token. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at call time.

### Can I run RAG search with the Tillpad API?

Yes. You upload files or index plain-text notes into a namespace, Tillpad builds the vectors, and a semantic RAG search returns the matching content. A memory search can also filter by a memory scope such as prefs, facts, or run.

### Can the Tillpad API receive email for my agent?

Yes. You create receive-only inboxes, list their messages and attachments, download raw MIME, and register an email.received webhook so your agent is notified when mail arrives. A blocklist lets you block sender addresses or domains.

### How do I store agent state with the Tillpad API through Jentic?

Install Jentic One, then import Tillpad from the API Directory and store your key once. Your agent searches by intent such as store a value under a namespace, and Jentic returns the key-value operation with its input schema so the agent writes and reads state without wiring the storage API. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Is there a Tillpad API MCP server?

You don't need an MCP server to give your agent the Tillpad API. Jentic connects it directly from the API Directory: import it, store your key once, and your agent calls the storage, RAG, and inbox operations on demand. Operations are discovered when the agent needs them, so they do not fill its context ahead of time.

### Can I limit what my agent is allowed to do with the Tillpad API?

Yes. Because the namespace sits in the URL path, you can write a rule that pins your agent to one namespace and allows only the storage and search operations it needs. Wiping a namespace, deleting an inbox, or revoking keys stays out of that set unless you add them, and every call is logged.
