Set it upwithout a browser.
Everything on screen is reachable over HTTP. Nothing here assumes a human is clicking.
Point your agent at this first
/llms.txt says what this is and which endpoint to call, ordered by symptom rather than by feature. The longer version is /llms-full.txt.
From the terminal
npx nintact init creates a form and prints the snippet. Auth is a device code approved by email, so an agent in a terminal never needs a browser session.
npx nintact init # sign in, create a form, print the snippet
npx nintact messages # what has come in, sorted
# already have a key? skip the sign-in entirely
NINTACT_API_KEY=nk_... npx nintact messages --jsonDiagnose first, no key required
check_deliverability works with no API key. What matters is that an agent can find out mid-build that a domain cannot deliver mail — asking for a signup before that point removes the chance to notice at all. It only reads public DNS.
curl "https://nintact.com/api/v1/check?domain=example.com"
# SPF / DKIM / DMARC / MX, a verdict, and a next_stepMCP server
npx nintact-mcp exposes 32 tools: build and restyle forms, read the inbox, edit and approve drafts, register FAQ entries, connect Slack, hand the workspace to the client. Published to the MCP registry, so Claude Code and Cursor can install it by name.
claude mcp add nintact -- npx -y nintact-mcpHTTP API
One API key, then plain HTTP. No SDK required.
curl https://nintact.com/api/v1/messages \
-H "Authorization: Bearer nk_..."
curl -X POST https://nintact.com/api/v1/forms/design \
-H "Authorization: Bearer nk_..." \
-d '{"instruction":"quote request form for a renovation company"}'- forms
- Create, update, duplicate, delete, AI design, logo
- messages
- List, read, change status, regenerate a draft
- drafts
- Edit and approve — approving is what sends
- knowledge
- FAQ entries
- organization
- Industry, contacts, Slack, handover
- usage
- Drafts this month against the limit
Failures come back with a next_step telling the caller what to do about it — so an agent can recover without re-reading the documentation.
Hand the workspace over
Built the site for someone else? One call transfers the workspace to their email address. They become the owner, billing follows, and the embed code on the site does not change.
curl -X POST https://nintact.com/api/v1/organization/transfer \
-H "Authorization: Bearer nk_..." \
-d '{"email":"owner@client.com"}'