Skip to content

Everylink for AI agents

The link in bio your AI agent can edit.

Anything you can do in the editor, your agent can do through the same API, or as tools over MCP.

Works today.

The dashboard and your agent use the same API, with the same rules.

A documented REST API

Every endpoint is described in a live OpenAPI spec at /openapi, with readable docs at /docs and an agent-friendly summary at /llms.txt.

API keys for agents

Create a key in your settings and send it as the x-api-key header. A key acts as your account, is shown only once, and can be revoked any time.

No clobbered edits

Every write carries the page version it was based on. If you and your agent edit at the same moment, the second write is refused instead of silently overwriting the first.

Agency access, built in

When a client shares a profile with an agency, the agency's own keys can edit it too, with the same edit or manage permission the client granted.
# Add a link block
curl -X POST https://api.everyl.ink/profiles/$PROFILE_ID/blocks \
  -H "x-api-key: $EVERYLINK_KEY" -H "content-type: application/json" \
  -d '{"type":"link","data":{"title":"Tour dates","url":"https://example.com/tour"},"expectedVersion":7}'

# Update the bio
curl -X PATCH https://api.everyl.ink/profiles/$PROFILE_ID \
  -H "x-api-key: $EVERYLINK_KEY" -H "content-type: application/json" \
  -d '{"bio":"New album out Friday.","expectedVersion":8}'

# Move a block on the grid
curl -X POST https://api.everyl.ink/profiles/$PROFILE_ID/layout \
  -H "x-api-key: $EVERYLINK_KEY" -H "content-type: application/json" \
  -d '{"layouts":[{"id":"'"$BLOCK_ID"'","x":0,"y":0,"w":2,"h":1}],"expectedVersion":9}'

Connect over MCP.

Add Everylink as a tool in Claude, Cursor and other MCP clients. Same key, same permissions, same version checks as the API.

Endpoint

https://api.everyl.ink/mcp (Streamable HTTP). Send your API key in the x-api-key header.

Safe writes

Every write takes the profile's current version as expectedVersion. A stale version comes back as a VERSION_CONFLICT error, so your agent re-reads and retries instead of overwriting.
  • profiles.list List the profiles your account owns.
  • profiles.delegated Agencies: list the client profiles shared with you.
  • profiles.get Read a profile and its blocks.
  • profiles.update Change name, bio, image, username or theme.
  • blocks.types Discover block types and the data each one accepts.
  • blocks.add Add a block.
  • blocks.update Edit a block's content or visibility.
  • blocks.delete Remove a block.
  • blocks.setLayout Arrange blocks on the grid.
{
  "mcpServers": {
    "everylink": {
      "type": "http",
      "url": "https://api.everyl.ink/mcp",
      "headers": { "x-api-key": "YOUR_EVERYLINK_KEY" }
    }
  }
}

# Or, in Claude Code:
claude mcp add --transport http everylink https://api.everyl.ink/mcp \
  --header "x-api-key: YOUR_EVERYLINK_KEY"

Quickstart.

Three steps from sign-up to your first agent edit.

  1. 1

    Claim your page

    Pick your everyl.ink username and set up your profile.
  2. 2

    Create an API key

    In the dashboard, open Settings, then Developers, then API keys. Copy the key; it is shown once.
  3. 3

    Point your agent at the docs

    Give it https://api.everyl.ink/llms.txt or the OpenAPI spec and let it take it from there.

Give your agent a page to run.