Paste
Paste anything.
Get a private link.
Text of any kind, a PDF or an image, behind a secret link. No account. Markdown renders as a document, code is highlighted and folds, and the link expires when you say. Only a hash of the secret is kept, so nobody can list or find it.
From the terminal, a script, or an agent
The page above is a form over one endpoint. Everything it does, these do too.
npm i -g @profullstack/readm3
# prints https://readm3.com/p/<token>
readm3 paste notes.md
# any file: the extension decides the language
readm3 paste config.json
# no name: the content is sniffed (YAML here)
kubectl get pods -o yaml | readm3 paste
# a PDF or image is shown as itself
readm3 paste spec.pdf
readm3 paste app.log --expires 1h --title crash.log
readm3 paste get https://readm3.com/p/<token> --raw
readm3 paste delete https://readm3.com/p/<token># create: any text; the language is detected,
# title and expiresIn (1h, 1d, 7d, 30d) are optional
curl -s https://readm3.com/api/v1/pastes \
-H 'content-type: application/json' \
-d '{"source":"{\"live\":true}","title":"status.json"}'
# → {"url":"https://readm3.com/p/<token>",
# "raw":"https://readm3.com/p/<token>/raw",
# "language":"json","mime":"application/json",…}
# the text itself, always text/plain
curl https://readm3.com/p/<token>/raw
# the file with its own type and name
curl -OJ 'https://readm3.com/p/<token>/raw?download=1'
# the paste as JSON: title, source, language, mime, expiresAt
curl https://readm3.com/api/v1/pastes/<token>
# gone for everyone
curl -X DELETE https://readm3.com/api/v1/pastes/<token>
# a file straight from disk, jq does the quoting
jq -Rs '{source: ., title: "notes.md"}' notes.md \
| curl -s https://readm3.com/api/v1/pastes \
-H 'content-type: application/json' -d @-POST /api/v1/pastes
{ source, title?, expiresIn?, language? }
GET /api/v1/pastes/<token> the paste as JSON
GET /api/v1/pastes/<token>/raw the text, or the bytes
of a PDF or image
DELETE /api/v1/pastes/<token> delete by link
256 KB per paste. 10 creates a minute per address.
Only the hash of the token is stored: a lost link is gone.
A PDF or image is sent as base64 with its file name.readm3 mcp # stdio server; add it to your agent
paste_create { source, title?, expiresIn?, language? }
→ url, raw, title, language, expiresAt
paste_get { url } → title, source, language, mime
paste_delete { url }