For Agents
Keep Google Assistant in sync with cloud-to-cloud smart-home devices by pushing state changes and triggering device syncs after add/remove events.
Get started with HomeGraph API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"report smart home device state to google"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with HomeGraph API API.
Push real-time state and notification updates from device cloud to Google Assistant via reportStateAndNotification
Trigger a fresh device list sync for a user after the integration adds or removes hardware
Query the current cached state of a user's devices known to Google Assistant
Run a server-side sync to validate the device payload returned by your SYNC intent handler
GET STARTED
Use for: Tell Google Assistant a smart light just turned on, Trigger a request sync after a user adds a new thermostat, Check the current state of a user's smart-home devices, Send a notification that a doorbell was pressed
Not supported: Does not fulfil voice intents, control devices directly, or stream telemetry — use for syncing cloud-to-cloud smart-home device state with Google Assistant only.
The HomeGraph API is the cloud surface that smart-home device makers use to keep Google Assistant in sync with the state of devices in a user's home. Cloud-to-cloud integrations call HomeGraph to request a fresh device sync after the user adds or removes hardware, push state and notification updates when a device changes (lights turn on, door is unlocked), and query the current state of devices Assistant has cached. The API is paired with the Smart Home action fulfilment pattern: device makers serve their own intent handlers and use HomeGraph to keep Google's home graph in sync.
Unlink a Google account from the device cloud by deleting its agent user mapping
Patterns agents use HomeGraph API API for, with concrete tasks.
★ Cloud-to-Cloud Smart Home State Sync
A smart-home device manufacturer with a cloud backend uses HomeGraph's reportStateAndNotification endpoint to push every device-state change (light brightness, lock state, thermostat setpoint) into Google's home graph in near real time. This keeps Assistant responses ("Hey Google, is the front door locked?") accurate without Assistant having to query the device cloud on demand. The agentUserId in the payload identifies which user's home graph to update.
For agentUserId user-123, call POST /v1/devices:reportStateAndNotification with a payload that sets device-456's on state to true and brightness to 80, and report the requestId returned.
Device Onboarding Refresh
When a user adds or removes a device in the manufacturer's app, the integration calls POST /v1/devices:requestSync with the user's agentUserId. Google then re-invokes the integration's SYNC intent handler and refreshes the home graph. This avoids the user having to say "Hey Google, sync my devices."
After a user adds a new smart plug, call POST /v1/devices:requestSync with the user's agentUserId and confirm the response is a 200 with an empty body.
Account Unlink Cleanup
When a user unlinks the manufacturer's Google account or deletes their cloud account, the integration calls DELETE /v1/{+agentUserId} on HomeGraph to remove their devices from the home graph. This keeps Assistant from offering devices the user no longer has and is required for full Works With Google Home certification.
For agentUserId user-789 who has just unlinked their account, call DELETE /v1/{+agentUserId} and verify the response is 200.
AI Agent Diagnostic for Smart Home Integrations
An AI agent helping a smart-home developer debug their cloud-to-cloud integration uses Jentic to call HomeGraph's devices.query and devices.sync endpoints with the developer's service account. The agent compares the device payload Google sees with what the manufacturer's cloud thinks it sent and surfaces mismatches. Jentic isolates the service-account credential so the agent never holds raw OAuth secrets.
For agentUserId user-test, call POST /v1/devices:query for device-abc and POST /v1/devices:sync, then diff the two payloads and list devices present in one but not the other.
5 endpoints — the homegraph api is the cloud surface that smart-home device makers use to keep google assistant in sync with the state of devices in a user's home.
METHOD
PATH
DESCRIPTION
/v1/devices:reportStateAndNotification
Push real-time device state and notifications to Google Assistant
/v1/devices:requestSync
Trigger Google to re-fetch the device list for an agent user
/v1/devices:query
Query Google's cached state for the user's devices
/v1/devices:sync
Server-side validate the SYNC intent payload for an agent user
/v1/{+agentUserId}
Unlink a user and remove their devices from the home graph
/v1/devices:reportStateAndNotification
Push real-time device state and notifications to Google Assistant
/v1/devices:requestSync
Trigger Google to re-fetch the device list for an agent user
/v1/devices:query
Query Google's cached state for the user's devices
/v1/devices:sync
Server-side validate the SYNC intent payload for an agent user
/v1/{+agentUserId}
Unlink a user and remove their devices from the home graph
Three things that make agents converge on Jentic-routed access.
Credential isolation
Smart-home action service-account keys are stored encrypted in the Jentic vault. Each HomeGraph call mints a short-lived access token so raw service-account JSON never reaches the integration runtime.
Intent-based discovery
Agents search 'report smart home device state' and Jentic returns the reportStateAndNotification operation with its full state schema, so the agent constructs the payload without reading the smart home docs.
Time to first call
Direct integration: 2-5 days to wire OAuth, build the SYNC/QUERY/EXECUTE intents, and add reportState. Through Jentic: under 1 hour for the HomeGraph side once intents exist.
Alternatives and complements available in the Jentic catalogue.
Smart Device Management API
First-party API for Nest devices; HomeGraph is the cloud-to-cloud channel for third-party smart-home integrations.
Use Smart Device Management when controlling Google's own Nest devices. Use HomeGraph when integrating a third-party device cloud with Google Assistant.
Pub/Sub API
Pub/Sub is commonly used to fan device events from the manufacturer cloud into the worker that calls reportStateAndNotification.
Use Pub/Sub to decouple high-volume device telemetry from the HomeGraph reportState worker.
IAM Service Account Credentials API
Mints short-lived tokens for the service account that calls HomeGraph.
Use IAM Credentials when an integration needs to impersonate a HomeGraph service account from another principal without storing its private key.
Specific to using HomeGraph API API through Jentic.
What authentication does the HomeGraph API use?
Google OAuth 2.0 via a service account associated with the project's smart home action. The service-account JSON key is exchanged for an access token. Through Jentic the JSON key is held in the vault and a scoped access token is minted at call time.
Can I push device state changes in real time?
Yes. POST /v1/devices:reportStateAndNotification accepts batched state updates for an agentUserId and is designed to be called whenever a device changes state in the manufacturer's cloud. Google updates the home graph and emits any user-facing notifications.
What are the rate limits for the HomeGraph API?
Google enforces a per-project quota; reportStateAndNotification is the highest-traffic endpoint and supports thousands of QPS in production. Exact limits are visible in Cloud Console quotas for the HomeGraph API.
How do I trigger a device list refresh through Jentic?
Search Jentic with 'request sync homegraph', load the POST /v1/devices:requestSync operation, and execute with the user's agentUserId in the request body. Jentic handles OAuth and returns the empty 200 response.
Does HomeGraph fulfil voice commands directly?
No. Voice commands are handled by your Smart Home action's intent fulfilment (EXECUTE, QUERY, SYNC). HomeGraph is the side channel for keeping Google's cached device state in sync between those intents.