NrtVixAIAGENT CONTROL & SECURITY
Developers · API reference

Endpoints, events and errors.

The HTTP API behind hosted agents, as it exists in the current build. Paths will move under a version prefix at launch.

NrtVix AI / Developers / API reference

Endpoints

Hosted agents.

EndpointWhat it does
GET /api/m17/agentsList your hosted agents.
POST /api/m17/agentsCreate an agent: name, tools, monthly budget, kind of agent, business information.
GET /api/m17/agents/{id}/messagesThe recent conversation with an agent.
POST /api/m17/agents/{id}/chatSend a message and receive the full reply.
POST /api/m17/agents/{id}/chat/streamSend a message and receive the reply as server-sent events.
POST /api/m17/agents/{id}/continueAfter the owner approves a request, run it once.
PUT /api/m17/agents/{id}/knowledgeReplace the agent’s business information.
POST /api/m17/agents/{id}/archiveStop an agent and cancel its unused permissions.

Request

POST /api/m17/agents/{id}/chat
Content-Type: application/json
X-SaaS-CSRF: <token from your session>

{"message": "Refund ORDER-1042 for $180"}

Response

{
  "reply": "I have requested a $180 refund for ORDER-1042. It is waiting for the store owner.",
  "tool_results": [
    {"tool": "refund_order", "status": "awaiting_approval", "executed": false,
     "event_id": "5f0c...", "reason": "Above the automatic limit"}
  ],
  "pending_approvals": [{"event_id": "5f0c...", "tool": "refund_order"}],
  "stopped": "completed"
}

All write requests need a signed-in owner session and a CSRF token, and must come from the same origin. Requests from another site are refused.

Streaming events

The /chat/stream endpoint.

EventDataMeaning
delta{text}Text as the model writes it.
turn{}A new model turn starts after tool calls; earlier streamed text is only a preview.
tool{tool, status, executed, event_id, reason}One Guardian-checked tool result.
done{reply, tool_results, pending_approvals, stopped}The stored reply and all results.
error{detail, status}The run could not finish.
Statuses

What a tool result can say.

StatusMeaning
executedThe trusted gateway ran the action once.
awaiting_approvalThe request is in the owner’s queue. Nothing has happened yet.
already_executedThis request was completed earlier; it is not run twice.
blockedPolicy does not allow it. Do not retry.
rejectedThe owner said no.
expiredThe approval or permission ran out of time.
invalidThe arguments were not acceptable.
duplicate_refusedThe same call was already made in this task.
limit_reachedThe task used all the tool calls it is allowed.
Errors and limits

What to expect when something is refused.

StatusMeaning
401Not signed in.
403Missing or wrong CSRF token, or a cross-site request.
404The agent does not exist in your workspace.
409The agent is archived.
422The request body is not valid.
429The daily message limit for this agent was reached.
503The AI model is not configured on the server.
LimitValue
Message length1 to 2,000 characters
Model turns per messageUp to 6
Tool calls per messageUp to 4; duplicates are refused
Conversation memoryThe last 8 turns, each capped in length
Business informationUp to 6,000 characters per agent
Messages per agent per day50 by default; configurable
Streamed response sizeCapped; an unusable stream is asked once more without streaming

Preview. Everything on this page describes the current build. Names and paths may change before release, and the hosted API is not live yet. Documentation opens fully with early access.

Early access · December 2026

Let agents act. Keep control.

We are opening NrtVix AI to a small group of businesses first. Tell us about yours and we will be in touch.