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:
/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.
Everything outside that table happens in the Portal.
If you are planning an integration, treat the table as the customer-facing
surface rather than assuming a REST route exists for each screen you can see —
it omits a few narrow, non-CRUD routes that exist for specific integrations
rather than general use:
GET /v1/noorle-cli/config (CLI bootstrap),
POST /v1/identity/verify (link a platform identity), GET /v1/files/{id}
(a presigned redirect), and GET /v1/agents/{agent_id}/skills.
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.
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 aPOST 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.
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 whosecategory 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.