DocumentationMarkdown editionagents.md

Endpoints

Every HTTP endpoint a program can call, with auth, purpose and a link to the page that explains it. The machine-readable form is /openapi.json.

Base URL https://tapmy.link. JSON bodies, JSON responses. Auth is Authorization: Bearer <key> unless marked *none*. The OpenAPI 3.0 document at https://tapmy.link/openapi.json is generated from the same validation schemas the server runs.

Create and discover

Method and pathAuthDoes
GET /api/username/check?u=<name>nonefree / taken (+ suggestions) / invalid (+ reason).
POST /api/agent/pagesnone or keyAccount (if needed) + page + key + claim link. Quickstart.
POST /api/agent/pages/validatenoneSame body, nothing written; every problem at once.
GET /api/agent/mekeyThe account, its pages, remaining page slots.
POST /api/agent/claim-linkkeyA fresh claim link for a provisional account.
GET /api/claim/<token>noneClaim status: pending, claimed, expired, invalid.

Pages

Method and pathAuthDoes
GET /api/profileskeyAll pages of the account.
POST /api/profileskeyClaim another subdomain on the account: { username, templateId? }.
GET /api/profiles/{id}keyOne page, every editable field.
PATCH /api/profiles/{id}keyChange any subset of fields. blocks replaces the list.
PUT /api/profiles/{id}keyReplace every editable field (what the editor does on autosave).
DELETE /api/profiles/{id}keyDelete the page and its files; the name is parked.
GET /api/profiles/{id}/statskeyViews, uniques, taps; daily series. Statistics.

Images and imports

Method and pathAuthDoes
POST /api/uploadkeyJSON { url, kind } or multipart file + kind → a storage key. Images.
POST /api/import/pagekeyLinks found on a public link page. Import.
POST /api/import/instagramkeyPhoto, name and bio from an Instagram handle.

Account

Method and pathAuthDoes
GET /api/accountkeyE-mail, language, creation date.
PATCH /api/accountkey{ locale }; password change needs the current password.
GET /api/account/exportkeyEverything stored about the account, as JSON.
GET /api/keys · POST /api/keys · DELETE /api/keys/{id}browser session onlyKeys are managed by a person, never by a key.

Public, per page

PathDoes
https://<name>.tapmy.link/page.mdThe page as Markdown. Also /?format=md or Accept: text/markdown.
https://<name>.tapmy.link/<path>A short link, counted and redirected.

Headers worth sending

HeaderWhy
Idempotency-KeyOn POST /api/agent/pages: a retry with the same key replays the first answer instead of making a second page.
User-AgentStored on accounts and pages you create; shown to the owner as "created by …".