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).

POST /api/nevai — live demoPublic · read-only · no keys needed

Or with curl:

curl -s https://nevetsinc.vercel.app/api/nevai

GETTING 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": {}
  }
}
MCP WORKBENCH (JSON-RPC 2.0)POST /.well-known/mcp
REQUEST PAYLOAD
RESPONSE OUTPUT
// Run a request to inspect JSON-RPC 2.0 output

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/developers

RESOURCES / 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

Machine-readable files

OpenAPI specopenapi.json
Agent card (A2A)/.well-known/agent.json
llms.txt indexllms.txt
security.txtRFC 9116