Agent-First REST API
The simplest path for bring-your-own-agent. An agent reads the public Agent Instructions, creates a session, lets the user finish the login in a browser, and then controls displays over HTTP.
If you simply want to use agentView with ChatGPT, Claude, Home Assistant, or n8n, the landing page is enough. If you want to connect your own agent or automation, this page exposes the public entry points for REST API, MCP, and the secure login flow.
The simplest path for bring-your-own-agent. An agent reads the public Agent Instructions, creates a session, lets the user finish the login in a browser, and then controls displays over HTTP.
MCP is now available as modern Streamable HTTP with OAuth 2.1. This fits custom agents, local clients, remote MCP clients, and modern AI integrations that prefer tool-based control over plain REST.
/mcp
OAuth 2.1 + PKCE
Legacy SSE stays available
At its core, agentView is an HTML rendering pipeline for displays. That makes integration with workflows, automations, and existing AI tools straightforward, without requiring a dedicated agentView-specific agent.
content_only: the agent may only send content to existing displays.admin: the agent may create, rename, delete, and otherwise manage displays on
behalf of the user.content_only. Use admin only when true
management rights are required.
POST /api/v1/agent/session/request with the appropriate
scope.loginUrl and chooses Google, Microsoft, or email magic
link.Some third-party agents cannot perform background requests or reliable polling. The flow is built for that case as well: the user can complete the login in another browser or on another device and then simply return to the chat.
Recommended user message:
"I finished the login."
If an agent already has a valid tokenized sign URL, it does not need the full account login flow first. A direct HTML request to the public send endpoint is enough.
POST /send/DISPLAY_ID?token=TOKEN&duration=300
Content-Type: text/html; charset=utf-8
<html>...demo sign content...</html>
duration=300 means 5 minutes of display time.ai-connect URL is available, the agent can extract id and
token and use the same /send path.POST /api/v1/agent/session/request
Creates a login session and returns loginUrl, requestedScope, and
pollUrl.
GET /api/v1/agent/session/status?id=...
Returns session status and, after approval, the agent token.
/mcp
Preferred MCP endpoint for Streamable HTTP. Modern remote clients should use this path.
/.well-known/oauth-protected-resource/mcp
OAuth discovery for MCP clients. Contains the protected resource and linked authorization
servers.
/.well-known/oauth-authorization-server
OAuth metadata with /oauth/authorize, /oauth/token, and
/oauth/revoke.
POST /send/{displayId}?token=...&duration=300
Direct demo/badge path for tokenized sign URLs without full agent login.
/mcp/sse
Legacy SSE entry point for older desktop or local MCP clients.
POST /mcp/messages?sessionId=...
Legacy JSON-RPC message endpoint for MCP. Secure login happens inside MCP via
create_auth_session, get_auth_session, and authenticate.
1. GET /.well-known/oauth-protected-resource/mcp
2. GET /.well-known/oauth-authorization-server
3. GET /oauth/authorize + PKCE
4. User signs in on /login.html
5. POST /oauth/token
6. POST /mcp with Bearer token and Mcp-Session-Id
Legacy still works:
- POST /api/v1/agent/session/request
- User opens loginUrl
- Agent polls /api/v1/agent/session/status?id=...