When you cannot call the API
What to do if you can only GET, or have no network at all: compose the page JSON and hand the person a one-click link to /new that creates it in their browser.
Decide what you can do
| You can… | Then |
|---|---|
| make HTTP POST requests (code execution with network, an HTTP tool, MCP) | Do everything yourself: check, validate, create, verify, hand over. No account, key or approval is needed to create a page. Do not ask the person to run commands. |
| only fetch pages (GET), or read this documentation but not send a body | Read the docs, ask the person the questions, compose the JSON body, and give them a one-click link (below) plus the JSON itself. |
| not reach the network at all | Compose the JSON from the schema in the prompt you were given and give the person the link and the JSON. They open the link; the page is validated and previewed there before anything is created. |
The one-click link
https://tapmy.link/new?p=<payload> where <payload> is the request body of POST /api/agent/pages — the same JSON — encoded as base64url (RFC 4648 §5: +→-, /→_, no padding). The person opens it in a browser and sees a preview of the page on a phone, the address (editable, checked live), and an e-mail and password field. One tap creates the account and the page and lands them in the dashboard. Nothing is created until they tap.
https://tapmy.link/new?p=eyJ1c2VybmFtZSI6ImFubmEtYmFrZXMiLCJwYWdlIjp7ImRpc3BsYXlOYW1lIjoiQW5uYSBCYWtlcyIsImJpbyI6IlNvdXJkb3VnaCBhbmQgU2F0dXJkYXkgbWFya2V0cy4iLCJibG9ja3MiOlt7InR5cGUiOiJsaW5rIiwibGFiZWwiOiJPcmRlciBicmVhZCIsInVybCI6Imh0dHBzOi8vYW5uYWJha2VzLmV4YW1wbGUvb3JkZXIiLCJmZWF0dXJlZCI6dHJ1ZX1dfX0That link decodes to:
{ "username": "anna-bakes", "page": { "displayName": "Anna Bakes", "bio": "Sourdough and Saturday markets.",
"blocks": [ { "type": "link", "label": "Order bread", "url": "https://annabakes.example/order", "featured": true } ] } }- Keep the link under about 8 000 characters — roughly a page with fifteen blocks. Beyond that, send the JSON and point the person at
https://tapmy.link/newwith no parameter: it has a box to paste into. usernamemay be left out; the person chooses it on the page.emailandpasswordare never part of the link — the person types them.avatarUrlworks in the link too: the photo is fetched when the page is created.- Everything is validated on the page with the same rules as the API, and problems are shown next to the field they concern.
What to send the person
Here is your page, ready to create — open this link, check the preview, choose a password and tap Create:
https://tapmy.link/new?p=…
If the link does not open, go to https://tapmy.link/new and paste this:
{ …the JSON… }What you lose without the API
Nothing on the page. What you cannot do is verify the result yourself (page.md) or edit it later — the person does that in the dashboard, or gives you an API key from their account settings and you do it with PATCH. Since the person created the account in their browser, there is no claim link; the account is theirs from the start.
If you can GET but not POST, you can still read https://<name>.tapmy.link/page.md after the person has created the page, and tell them what you would change.