DEVELOPER PORTAL
Build on NevetsInc.
Every surface an agent — or a human — might call: REST APIs, MCP, markdown content negotiation, machine-readable files, and structured data. Try a live request below, then dig into the docs.
GETTING STARTED / OVERVIEW
Overview
NevetsInc exposes a small, typed, agent-friendly API surface. There are currently four public HTTP endpoints plus a first-party MCP server. Everything is documented in a single OpenAPI 3.1 spec at /openapi.json and mirrored in machine-readable files for LLM crawlers.
Every endpoint returns JSON. Unknown /api/* paths return { "error": "not_found" } with status 404. Public endpoints require no keys. Captcha-protected operations (support form) are intended for humans, not automated agents.
GETTING STARTED / QUICKSTART
Quickstart
Try the live endpoint below — it runs in your browser against the public NevAI API (read-only, no keys, no side effects).
Or with curl:
curl -s https://nevetsinc.vercel.app/api/nevaiGETTING STARTED / AUTHENTICATION
Authentication
Public API operations require no authentication — they read from static corpora and in-memory models only. There are no API keys to manage for the documented public surface.
The only protected operations are the human-facing support and account-deletion flows, which use Cloudflare Turnstile (a proof-of-work captcha, not an API key) and Gmail delivery. These are deliberately not exposed as machine-callable endpoints. Do not attempt to bypass them.
The hiring application form (POST /api/hiring) works the same way: human-facing, captcha-protected, and not meant for scripts.
APIS / NEVAI
NevAI — grounded Q&A
GET /api/nevai returns the assistant status (online, engine, document count, term count). POST /api/nevai asks a question; answers use published pages and public company data with source links.
Request — POST /api/nevai
{
"message": "Who founded NevetsInc?"
}Response
{
"text": "NevetsInc was founded by Birloi Eduard Ștefan and Patrinoiu Calin.",
"sources": [
{
"title": "About",
"url": "https://nevetsinc.vercel.app/about"
}
]
}APIS / CHAT
Chat — helper assistant
POST /api/chat powers the floating chat bubble. First it tries local intent rules; when useGemini is true and no local answer matches, it falls back to a server-side model (when configured) with automatic fallback across models.
Request — POST /api/chat
{
"message": "What is Spark?",
"history": [],
"useGemini": false
}Response (local intents)
{
"text": "Spark is a verified social platform by NevetsInc.",
"intent": "products",
"source": "local",
"suggestions": ["How do I verify?", "How do I delete my account?"]
}APIS / SUPPORT
Support — humans only
POST /api/support delivers the support form to the team. It requires a Cloudflare Turnstile token obtained from the form widget. It is intended for humans, not scripts. A missing or invalid token returns403.
Request — POST /api/support
{
"name": "Ada Lovelace",
"email": "<your email>",
"message": "I cannot enable 2FA.",
"token": "<turnstile token from the form>"
}Response
{
"ok": true,
"message": "Message delivered to NevetsInc Support."
}APIS / HIRING
Hiring — humans only
POST /api/hiring delivers the open application form to the NevetsInc hiring team. It requires a Cloudflare Turnstile token obtained from the form widget. It is intended for humans, not scripts. A missing or invalid token returns 403.
Request — POST /api/hiring
{
"name": "Ada Lovelace",
"email": "<your email>",
"role": "Engineering — Backend",
"message": "I'd love to work on Spark's infrastructure.",
"token": "<turnstile token from the form>"
}Response
{
"ok": true,
"message": "Application delivered to the NevetsInc hiring team."
}AGENTS / MCP
MCP server
A first-party MCP (Model Context Protocol) server over Streamable HTTP at /.well-known/mcp. Handshake with JSON-RPC initialize, then tools/list andtools/call. Tools: get_company_info,list_products, read_page, andask_nevai.
tools/list
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}tools/call
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_company_info",
"arguments": {}
}
}AGENTS / A2A
A2A agent card
/.well-known/agent.json is an agent-discovery card (A2A-style) describing capabilities, preferred transport, and example prompts. Read it, then call the MCP endpoint with protocol version 0.3.0.
AGENTS / LLMS.TXT
llms.txt
/llms.txt is the LLM-readable index: every public page, the API surface, markdown variants, and trust files. Point inference agents at it before scraping; it doubles as a discovery map.
REFERENCE / OPENAPI
OpenAPI 3.1
The complete public HTTP surface lives at /openapi.json. It describes every operation with a unique operationId and typed request/response schemas — ready for function calling and codegen.
REFERENCE / SCHEMAS
Schemas
The base machine-readable error, used by every endpoint:
{
"error": "not_found"
}The NevAI status object: online, engine,documents, terms. The status endpoint adds achecks array with per-system status,latencyMs, checkedAt, and detail.
REFERENCE / ERRORS
Errors
All error bodies are JSON with a single error string. Common codes: 400 (missing/invalid input), 403(captcha rejected), 404 (unknown path), 503(service not configured), and -32601 (JSON-RPC method not found).
RESOURCES / EXAMPLES
End-to-end examples
Ask NevAI from curl, with source links back into this site:
curl -s -X POST https://nevetsinc.vercel.app/api/nevai \
-H "Content-Type: application/json" \
-d '{"message":"What is the support contact?"}'Read this page as markdown, for grounding:
curl -s -H "Accept: text/markdown" https://nevetsinc.vercel.app/developersRESOURCES / CHANGELOG
Changelog & status
Platform changes live at /changelog. Live service health lives at ... — see/server-overview (or the footer dot).
RESOURCES / STATUS
Status
Live self-checked service status is at /server-overview, with raw JSON at /api/status — every check re-runs on each request (no hardcoding).
RESOURCES / MACHINE-READABLE FILES