{
 "detail_url": "/v1/discover?id=v1.portal&detail=full",
 "kind": "capability",
 "documentation": "https://bridgit.cc/learn/capabilities/v1.portal.json",
 "title": "portal",
 "public_detail_url": "https://bridgit.cc/learn/capabilities/v1.portal.json",
 "prerequisites": ["Check v1.portal supported, enabled, granted and ready; execute only with all required authorization."],
 "combinations": [],
 "operations": [
  {
   "summary": "Home, agents, applets and the newest log entries in one call (saves relay quota). For the owner's Bridgit Portal app (iPhone & iPad), over the relay; read-only.",
   "path": "/v1/portal/snapshot",
   "method": "GET",
   "documentation": "https://bridgit.cc/learn/operations/get-v1-portal-snapshot.json",
   "operation_url": "https://bridgit.cc/learn/operations/get-v1-portal-snapshot.json",
   "requires_power": null,
   "tool": "portal_snapshot"
  },
  {
   "summary": "The phone's Home: device, battery, connections, every Home feature with its state, what's listening, and the APK's navigation. For the owner's Bridgit Portal app (iPhone & iPad), over the relay; read-only.",
   "path": "/v1/portal/home",
   "method": "GET",
   "documentation": "https://bridgit.cc/learn/operations/get-v1-portal-home.json",
   "operation_url": "https://bridgit.cc/learn/operations/get-v1-portal-home.json",
   "requires_power": null,
   "tool": "portal_home"
  },
  {
   "summary": "Remembered devices on the phone's current network, the same payload as GET /v1/lan/discovered; no scan, no switch needed (like the phone's Network devices screen). For the owner's Bridgit Portal app (iPhone & iPad), over the relay; read-only.",
   "path": "/v1/portal/devices",
   "method": "GET",
   "documentation": "https://bridgit.cc/learn/operations/get-v1-portal-devices.json",
   "operation_url": "https://bridgit.cc/learn/operations/get-v1-portal-devices.json",
   "requires_power": null,
   "tool": "portal_devices"
  },
  {
   "summary": "A bundled manufacturer logo, as GET /v1/lan/brands/{id}/logo, without the Network discovery switch. For the owner's Bridgit Portal app (iPhone & iPad), over the relay; read-only.",
   "path": "/v1/portal/brands/{id}/logo",
   "method": "GET",
   "documentation": "https://bridgit.cc/learn/operations/get-v1-portal-brands-id-logo.json",
   "operation_url": "https://bridgit.cc/learn/operations/get-v1-portal-brands-id-logo.json",
   "requires_power": null,
   "tool": "portal_brands_logo"
  },
  {
   "summary": "Agent activity from the phone's log, with the same redaction as remote view: no messages, parameters or results. Oldest first after since; the newest page without it. For the owner's Bridgit Portal app (iPhone & iPad), over the relay; read-only.",
   "path": "/v1/portal/logs",
   "method": "GET",
   "documentation": "https://bridgit.cc/learn/operations/get-v1-portal-logs.json",
   "operation_url": "https://bridgit.cc/learn/operations/get-v1-portal-logs.json",
   "requires_power": null,
   "tool": "portal_logs"
  },
  {
   "summary": "The phone's agents and what each may use. For the owner's Bridgit Portal app (iPhone & iPad), over the relay; read-only.",
   "path": "/v1/portal/agents",
   "method": "GET",
   "documentation": "https://bridgit.cc/learn/operations/get-v1-portal-agents.json",
   "operation_url": "https://bridgit.cc/learn/operations/get-v1-portal-agents.json",
   "requires_power": null,
   "tool": "portal_agents"
  },
  {
   "summary": "The phone's applets (Pet monitor, City tour, live watches). For the owner's Bridgit Portal app (iPhone & iPad), over the relay; read-only.",
   "path": "/v1/portal/applets",
   "method": "GET",
   "documentation": "https://bridgit.cc/learn/operations/get-v1-portal-applets.json",
   "operation_url": "https://bridgit.cc/learn/operations/get-v1-portal-applets.json",
   "requires_power": null,
   "tool": "portal_applets"
  },
  {
   "summary": "The APK's design tokens, read from its own resources and Home scene, so the portal looks the same. For the owner's Bridgit Portal app (iPhone & iPad), over the relay; read-only.",
   "path": "/v1/portal/theme",
   "method": "GET",
   "documentation": "https://bridgit.cc/learn/operations/get-v1-portal-theme.json",
   "operation_url": "https://bridgit.cc/learn/operations/get-v1-portal-theme.json",
   "requires_power": null,
   "tool": "portal_theme"
  }
 ],
 "documentation_revision": 17,
 "api_revision": 64,
 "boundaries": "Documented public API; owner switches, grants and runtime checks still apply.",
 "examples_url": null,
 "id": "v1.portal",
 "state": {
  "ready": null,
  "blockers": ["device_state_unknown"],
  "enabled": null,
  "supported": null,
  "granted": null
 },
 "detail": "full",
 "installed_api_revision": null,
 "category": "extend",
 "capability_ids": ["v1.portal"]
}
