Skip to main content
Noorle exposes three request surfaces. They are separate hosts with separate protocols, separate error formats, and separate authentication rules. Pick the one that matches what you are doing. Each gateway host is derived from the gateway’s or agent’s handle, not its UUID. Every account gets its own gateway hosts; there is no shared platform-wide MCP server.
These are the production hosts. Staging uses noorle.app and development uses noorle.dev with the same prefixes.

Management API

Path-versioned under /v1. Responses wrap their payload in a data envelope:
The two OAuth routes are the exception — /oauth/device/authorize and /oauth/token return their fields bare, with no data wrapper.

What it covers

The management API is a narrow CLI and integration surface, not a mirror of the Portal. It exists so a script, a CI job, or the CLI can do the handful of things that need to happen without a browser. Read this list before you design against it.
Most Portal areas have no API equivalent at all. There is no create, update, or delete for agents, gateways, connectors, knowledge bases, users, API keys, threads, or workflows — and no endpoints for billing, activity, notifications, chat, or profile.Note the shape of the two rows above that mention agents and gateways: those endpoints manage a workflow association and an agent’s files. They do not create, configure, or delete the agent or gateway itself.
Everything outside that table happens in the Portal. If you are planning an integration, treat the table as the whole surface rather than assuming a REST route exists for each screen you can see.

REST reference

Capabilities, plugin upload, and the OAuth device flow.

MCP gateway

The transport is Streamable HTTP, mounted at the gateway origin. There is no separate /sse endpoint and no WebSocket transport — JSON-RPC responses come back as text/event-stream frames on the POST response.
The gateway advertises tools only. It does not implement MCP resources, prompts, logging, or completions.

MCP reference

Transport, session posture, tools/list, tools/call, and what is not implemented.

Agent gateway

A2A 1.0 over JSON-RPC 2.0. Every method is a POST to the origin root — the method name is in the JSON-RPC envelope, not the path. Method names are PascalCase (SendMessage, GetTask), not the slash-separated 0.x names.
The agent card at GET /.well-known/agent-card.json is public and tells callers what authentication to attach.

A2A reference

The eleven methods, task lifecycle, streaming, and the agent card.

Authentication at a glance

There is no session cookie on any of these surfaces, and no query-parameter token form.

Authentication

Header forms, the device flow, and per-gateway OAuth.

Errors

The three surfaces do not share an error format. The management API returns a flat JSON body whose category field determines the HTTP status; the gateways return JSON-RPC errors in the response envelope.

Errors and limits

Status mapping, JSON-RPC codes, and the limits that actually exist.

Choosing a surface

Next steps