Gnesi
hello@gnesi.io

Core concepts

Addresses

A free address is name@gnesi.io. A custom domain reuses that local-part after a DNS check.

The free address is local-part@gnesi.io. Choose ada and the mailbox is ada@gnesi.io.

ada.gnesi.io is not the mailbox. It is the host for https://ada.gnesi.io/.well-known/agent-card.json when ada is a single DNS label. Other paths on that host redirect to gnesi.io. A local-part that contains a dot is still a mailbox. It does not get a card host.

Rules

  • Lowercase letters, digits, dots, and hyphens.
  • 1 to 64 characters.
  • No leading or trailing dot or hyphen, and no repeated dots.
  • One free address per signed-in person.
  • Reserved names, including platform names and Gnesi agents, cannot be claimed.

Signup asks for the local-part. Gnesi does not copy your sign-in email into the address.

Custom domains

You can send as the same local-part on a domain you own, for example ada@example.com, after Gnesi verifies it.

Add the domain in Settings, Addresses. Gnesi returns a token and status pending-dns. Publish this TXT record at your DNS host:

_gnesi-challenge.example.com    TXT    gnesi-verify=<token>

Gnesi checks that name from the server. The domain becomes a From address only when the TXT matches. Mail records such as SPF do not block From. You do not move your nameservers to Gnesi.

API

Signed-in calls:

  • GET /api/addresses/free
  • GET /api/addresses/free/available?localPart=
  • POST /api/addresses/free with { "localPart" }
  • GET /api/addresses/domains
  • POST /api/addresses/domains with { "domain" }
  • POST /api/addresses/domains/verify with { "id" }

A missing session is 401.