every.link is in private beta. Request access

Documentation

Publish with every.link

The shortest path from a local artifact to a governed URL, plus the project-scoped APIs available after publish.

The URL model

Every account owns one content host. Projects are addressed directly beneath it:account.every.link/project. Workspaces still organize publishers, permissions, and projects in the dashboard, but they never make the public URL longer.

acme.every.link/spring-campaign
ye.every.link/college-dropout

Project slugs are unique within an account. The first project keeps the requested slug. If that slug is already taken, every.link appends a short random suffix, such as college-dropout-1f09j.

Publish from the CLI

The official CLI accepts a single HTML or Markdown file, a ZIP archive, or a directory. A directory is packaged locally before upload.

every-link login
every-link whoami
every-link deploy ./dist \
  --workspace marketing \
  --project spring-campaign

Always select the workspace explicitly. It is the internal deployment target even though the successful command returns the shorter account-and-project URL.

Deploys are immutable. Publishing creates a new deploy and moves the project pointer to it; rollback moves that pointer to a previous deploy without rewriting history.

Give an agent the deploy skill

The repository includes skills/deploy-every-link/SKILL.md, a guarded workflow for coding agents. It requires an explicit account workspace, preserves the server-issued URL and deploy ID, excludes secret-bearing files, and avoids ambiguous retry loops.

Use it for static artifacts only. Server processes, private keys, environment files, and untrusted build steps do not belong in an every.link deploy.

Project data and uploads

Pro projects can use JSON collections configured in the dashboard. On a normal account host, the collection endpoint sits beneath the project:

GET    /spring-campaign/_data/leads
POST   /spring-campaign/_data/leads
GET    /spring-campaign/_data/leads/:id
PATCH  /spring-campaign/_data/leads/:id
DELETE /spring-campaign/_data/leads/:id

Reads return { "data": [...], "meta": { "limit": 50 } }. Writes accept a data object, validate it against the dashboard schema, and must originate from the same project. Runtime uploads usePOST /spring-campaign/_upload.

Projects using the optional isolated originproject.account.every.link omit the project prefix and use/_data/… and /_upload directly.

Choose who can view

  • Public: anyone with the URL.
  • Password: one shared project password.
  • Signed in: an authenticated viewer account.
  • Email domain: viewers whose verified email matches an allowlist.
  • SAML: organization identity and group rules on Business.

Viewer access is checked per request. Viewers do not become dashboard members and do not consume publisher seats.