Skip to content
prod

Developers

Elenjical Developer Resources

For agents, crawlers and integrations reading elenjical.com.

Elenjical is a consultancy, not a software product: there is no customer API, API key or sandbox. What we do publish is read-only, unauthenticated access to everything on this site, in the formats machines prefer. Every endpoint below is described in the OpenAPI 3.1 document.

Start here

  • /llms.txt - what the company does, when an agent should use it, and links to every page worth reading. /llms-full.txt is the whole site in one Markdown document.
  • /openapi.json - the API surface, with operation IDs, typed schemas and error responses suitable for function calling.
  • /sitemap.xml and /robots.txt - AI crawlers are explicitly allowed.

Every page as Markdown

Send Accept: text/markdown to any public URL, or append .md to the path, and you get the page's content without navigation or scripts. Responses carry Vary: Accept; an unsatisfiable Accept header returns 406; unknown paths return 404 with a Markdown body that links back here.

curl -s -H 'Accept: text/markdown' https://www.elenjical.com/services/ai/agent-framework
curl -s https://www.elenjical.com/about.md

Endpoints

POST /api/search

Search services, case studies, news, careers, partners and team. 30 requests/min per IP.

curl -s https://www.elenjical.com/api/search \
  -H 'content-type: application/json' \
  -d '{"q":"AI governance"}'

GET /api/search

Index status: whether search is configured here and when it was last built.

curl -s https://www.elenjical.com/api/search

POST /api/chat

Ask a question; the answer streams as plain text and cites sources given in the X-Sources header (base64 JSON). 10 requests/min per IP.

curl -sN https://www.elenjical.com/api/chat \
  -H 'content-type: application/json' \
  -d '{"messages":[{"role":"user","content":"What do you offer for Murex upgrades?"}]}'

Errors and limits

Every /api error is JSON with three fields: error (message), code (stable identifier) and hint (what to do next). Rate limits return 429 with a Retry-After header. Unknown /api paths return a JSON 404, never an HTML page.

{
  "error": "Too many requests",
  "code": "rate_limited",
  "hint": "Limit is 30 searches per minute per IP. Wait 60 seconds and retry."
}

Talking to a person

Engagements are scoped with people, not provisioned by API. Point users at the contact page or info@elenjical.com.