enso.bot / developers
Developer portal
Everything an agent - or a human building one - needs to read from, write to and navigate enso. Public REST endpoints, an OpenAPI 3.1 spec, a landing page write API, an authenticated signal stream, an MCP server and a full map of the site.
- 19
- documented endpoints
- 4
- API surfaces
- 3
- auth modes
- 9
- machine-readable files
Quickstart
Base URL is https://www.enso.bot. Everything speaks JSON. Read endpoints need nothing; write and signal endpoints take a key header; the MCP endpoint speaks OAuth 2.1.
Hit /api/public/v1/company and you have the whole company model in one call.
Feed /openapi.json to your client generator or your agent's tool loader.
Content and Signal APIs are issued per partner. Request one at /contact.
Point an MCP client at /mcp and the same data arrives as tools.
curl -sS https://www.enso.bot/api/public/v1/company | jq '.name, .agents[].name'
Authentication
Public read
All /api/public/v1/* content endpoints and every .txt / .md / .json file. CORS is open, responses are cacheable.
Partner key
Content API (CONTENT_API_KEY) and Signal API (SIGNALS_API_KEY). Send on every request; Authorization: Bearer also works for signals.
MCP
Dynamic Client Registration, discovery at /.well-known/oauth-authorization-server, scopes openid email profile.
Content API
x-api-keyPublish on-brand landing pages at /p/{slug}. Send content only - the enso design system supplies layout, styling and customer logos. Every write passes a brand quality gate.
POST /api/public/content/pages/generateSend a brief, enso writes the copy and hero visual and saves a draft
POST /api/public/content/pagesCreate or replace a page from finished blocks
GET /api/public/content/pagesList pages
GET /api/public/content/pages/{slug}Read one page
PATCH /api/public/content/pages/{slug}Partial edit
DELETE /api/public/content/pages/{slug}Unpublish (soft delete)
curl -X POST https://www.enso.bot/api/public/content/pages/generate \
-H "x-api-key: $CONTENT_API_KEY" \
-H "content-type: application/json" \
-d '{"slug":"agentic-seo-for-fintech",
"topic":"Getting fintech brands cited inside AI answers",
"icp":"Growth leads at Series B fintech companies",
"proof":["64 citations placed","47 still live after 90 days"],
"cta_label":"Book a call","cta_href":"/book-a-call"}'Reference: /content-api.md
Signal API
x-api-keyEvery touch a person or account has with enso.bot - form fills, URL submissions, reads and unlocks, newsletter signups, wizard progress, email opens and clicks - normalized into one pollable event stream.
GET /api/public/v1/signalsNewest-first event stream across every source
Query: since, until, days, type, domain, email, q, limit
GET /api/public/v1/signals/accountsEvents rolled up per company domain
Query: since, days, stage, limit
GET /api/public/v1/signals/accounts/{domain}One account: summary, people, full timeline
GET /api/public/v1/signals/people/{email}One person: summary and full timeline
curl -sS "https://www.enso.bot/api/public/v1/signals?days=7&limit=500" \ -H "x-api-key: $SIGNALS_API_KEY" curl -sS https://www.enso.bot/api/public/v1/signals/accounts/acme.com \ -H "x-api-key: $SIGNALS_API_KEY"
Reference: /signals-api.md · /signals-agent.md
Public read API
no keyOpen, read-only JSON about enso: the company, the blog, the research ledger and open roles. No key, no rate-limit signup, CORS enabled.
GET /api/public/v1/companyCompany overview: agents, engagement model, founders, canonical URLs
GET /api/public/v1/blogIndex of blog posts with slugs, titles, authors and URLs
GET /api/public/v1/researchIndex of Agentic Lab research experiments
GET /api/public/v1/research/{slug}Full write-up for one experiment
GET /api/public/v1/careersOpen roles with slug, title, tagline, location
GET /api/public/v1/careers/{slug}Full description for one role
curl -sS https://www.enso.bot/api/public/v1/research | jq '.experiments[0]' curl -sS https://www.enso.bot/api/public/v1/company | jq '.agents'
Reference: /openapi.json
MCP server
OAuth 2.1Model Context Protocol server over streamable HTTP, protected by OAuth 2.1 with Dynamic Client Registration. Point Claude, Cursor or any MCP client at it and the enso knowledge base becomes tool-callable.
ANY /mcpMCP endpoint. Tools: get_company_info, list_experiments, get_experiment, list_blog_posts, list_careers, get_career
GET /.well-known/oauth-authorization-serverRFC 8414 authorization server metadata
GET /.well-known/oauth-protected-resourceRFC 9728 protected resource metadata for /mcp
{
"mcpServers": {
"enso": { "url": "https://www.enso.bot/mcp" }
}
}Reference: Setup guide
Errors and limits
Success. Every body is an object with ok: true plus the payload.
invalid_domain, invalid_email or a malformed query parameter.
unauthorized - missing or wrong key.
not_found - unknown slug or route.
invalid_payload with issues[] naming each field that failed the brand or schema gate.
The authoring model failed. Safe to retry once.
Signal ids are stable (source:row_id) so they double as idempotency keys. Poll the signal stream on next_since rather than a fixed interval, and keep account lookups - they return seen: false instead of a 404, so they are safe as an enrichment check.
Machine-readable files
/llms.txtCompact site overview, routing rules and navigation hints for AI crawlers.
llms-full.txt/llms-full.txtExtended enso documentation in markdown for LLM consumption.
AGENTS.md/AGENTS.mdConventions and rules for AI coding agents working in the enso codebase.
OpenAPI 3.1 spec/openapi.jsonMachine-readable spec for every public endpoint. Also at /api/openapi.json.
Content API reference/content-api.mdBlock schema, layout rules, brand quality gate and publishing checklist.
Signal API reference/signals-api.mdEvent types, filters, account and person lookups, polling notes.
Signal agent manual/signals-agent.mdPolling loop, intent ranking, allowed actions and enso voice rules for drafted outreach.
Sitemap/sitemap.xmlCanonical URL index. Image sitemap at /sitemap-images.xml.
robots.txt/robots.txtCrawl rules and sitemap declarations.
developers.json/developers.jsonThis entire portal as one machine-readable JSON manifest: APIs, endpoints, auth, agent files and the full site map.
Site map
Every public surface on enso.bot, grouped by intent. Content routes are server-rendered, so a plain HTTP GET returns the full HTML - title, headings, body copy and links - on the first byte.
Start here
The core story and how an engagement runs.
/The agentic growth lab: what enso deploys and where.
/aboutMethodology, thesis and the marketing-as-cybersecurity philosophy.
/how-it-worksPick a growth hack, set budget and goal, get an operator, book onboarding.
/compareHead-to-head capability tables against traditional growth tooling.
/book-a-callScope a pilot with the team. Work email required.
/contactReach the team without booking a call.
Agents
One page per always-on agent surface.
/agentic-seoWins AI Overviews, GEO answers and classic search.
/agentic-sdrBooks meetings with in-market accounts on autopilot.
/agentic-communitySurfaces buying-signal threads in Slack, Discord, Reddit and Circle.
/agentic-newsletterShips a weekly newsletter the team never has to write.
/agentic-socialPosts daily across X, LinkedIn, Threads, Bluesky and Instagram.
Research and writing
Everything the lab publishes.
/researchLive experiments. Detail pages at /research/{slug}.
/agentic-labsExperiment write-ups and downloadable artifacts.
/blogLong-form growth hack write-ups at /blog/{slug}.
/resourcesWeekly SEO and GEO articles at /resources/{slug}.
/authorsBylines and bios at /authors/{slug}.
/podcastThe Autonomous Business, hosted by Mickey Haslavsky.
/liveReal-time stream of agent actions, synthetic identifiers.
Tools and programs
Interactive surfaces anyone can run.
/growth-planGenerates an llms.txt, a funnel review and budget/ramp modeling.
/icp-mapWizard over the world's largest ICP database.
/bountySubmission form, tiered payouts and rules.
/chat-on-slackSpins up a dedicated Slack channel with the team.
/wikipedia-citationsLanding page for the citation placement hack.
/skylightHidden page. One free month for whoever finds it.
Company
Team, hiring and legal.
Machine surfaces
Endpoints and files built for agents, not people.
/developersThis page: the index of everything below.
/openapi.jsonOpenAPI 3.1 description of the public API.
/mcpOAuth-protected Model Context Protocol endpoint.
/api/public/v1/companyRead-only JSON at /api/public/v1/*.
/llms.txtAgent navigation instructions.
/sitemap.xmlCanonical URL index.
Need a key, or something the API does not expose yet?
Tell us what you are building and we will issue credentials and shape the endpoint around it.