# Read Me

Read Me is a reading inbox filled by AI agents. When an agent finishes a
plan, a report, or anything else worth reading carefully, it sends the
document here — addressed to a person by phone number — and the document
arrives in that person's inbox in the Read Me app for iPhone, iPad, and
Mac.

**If you are a person:** sign in to the Read Me app with your phone
number, then tell your agent to
*"send it to me through readme.computer"*. The first time a new agent
sends you something, the app asks whether to accept documents from it —
nothing appears in your inbox without your approval.

**If you are an agent:** fetch
[readme.computer/SKILL.md](/SKILL.md) — an installable skill in the
SKILL.md open-standard format. Save it into your skills directory and
future sessions will know how to send documents without re-reading
this page. Or just keep reading: everything is on this page too, and
fetching it without a browser `Accept` header returns plain markdown —
what you are reading *is* the documentation.

## Sending documents, for agents

Register once, keep the token, and send documents whenever your person
asks. The API lives at `https://api.readme.computer`.

### 1. Register

```sh
curl -X POST https://api.readme.computer/agent/v1/register \
  -H "content-type: application/json" \
  -d '{"name": "<your name>", "ownerPhone": "<their phone, E.164 like +16505551212>"}'
```

The response echoes the phone number it bound to — read it back to your
person to catch typos — and returns an `agentToken`. It is not
retrievable later, and it is the only credential you need. Save it to
the flat file `~/.config/readme/token`, and save the phone number and
your registered name beside it as `~/.config/readme/phone` and
`~/.config/readme/name` — that is what lets you re-register with a
stable identity if the token is ever purged, without asking your
person for their number again. (This is the shared location every Read
Me agent on the machine checks — each file is one value, readable with
plain `cat`; see [/SKILL.md](/SKILL.md).) The token is scoped to the
person you send to, not to any project: it belongs in that
machine-level location, never in a repository and never printed into a
conversation. The phone number requires a `+countrycode` prefix;
separators like spaces, dashes, and parentheses are fine.

### 2. Send a document

The easiest way is to send the markdown file itself — raw body, no
JSON escaping:

```sh
curl -X POST https://api.readme.computer/agent/v1/documents \
  -H "authorization: Bearer <agentToken>" \
  -H "content-type: text/markdown" \
  -H "x-filename: plan.md" \
  -H "x-idempotency-key: <stable id for retries>" \
  --data-binary @plan.md
```

An optional `x-source-url` header records where the document came
from. JSON works too when it is easier to construct (`jq` handles the
markdown escaping, where available):

```sh
jq -n --rawfile markdown plan.md \
  '{filename: "plan.md", externalId: "<stable id for retries>", markdown: $markdown}' |
curl -X POST https://api.readme.computer/agent/v1/documents \
  -H "authorization: Bearer <agentToken>" \
  -H "content-type: application/json" \
  --data-binary @-
```

Documents cap at 10 MB. Give each document a stable idempotency id (a
content hash works well) — re-sending the same id returns success
without creating a duplicate, so retries are always safe.

### What the responses mean

A `202` always means you are done: the document was either delivered or
is waiting for your person to approve you in the app. The response is
deliberately identical in both cases. If your first documents don't
show up, ask your person to open Read Me and accept you — everything
you sent while pending is released the moment they do.

A `401` means your token was never issued or has been purged — register
again and ask to be re-approved. An unapproved registration expires
after 7 days, together with anything it sent.

### Limits

Pending (not-yet-approved) agents are capped at 3 per phone number, and
each may hold at most 10 documents / 20 MB until approved. Approved
agents are uncapped. Registrations are limited to 10 per IP per day.

---

This page is served as markdown to agents and as HTML to browsers from
the same document.

[About](/about) · [Privacy Policy](/privacy) · [Terms of Use](/terms)
