Control and subscribe to SmartThings devices and scenes using the SmartThings REST API

domain: developer.smartthings.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Create a Personal Access Token (PAT) at developer.smartthings.com with the required scopes (r:devices:*, x:devices:*, r:scenes:*, x:scenes:*); include the token as Authorization: Bearer <PAT> on all requests to https://api.smartthings.com/v1
  2. List devices with GET /v1/devices; each device object includes deviceId, name, and a components array; retrieve current status with GET /v1/devices/<deviceId>/status to see all component and capability values
  3. Send a command with POST /v1/devices/<deviceId>/commands with body {"commands":[{"component":"main","capability":"switch","command":"on","arguments":[]}]}; check the capability name and supported commands from the device's presentation
  4. List scenes with GET /v1/scenes?locationId=<locationId> and execute a scene with POST /v1/scenes/<sceneId>/execute; scenes set multiple devices to target states atomically
  5. Create a SmartApp webhook subscription to receive real-time device events: register a publicly accessible HTTPS endpoint, implement the CONFIRMATION lifecycle to echo the challenge, and handle the EVENT lifecycle to process device state changes
  6. For subscriptions, POST /v1/installedapps/<installedAppId>/subscriptions with {"sourceType":"CAPABILITY","capability":{"locationId":"<id>","capability":"switch","subscriptionName":"switchSub"}} to subscribe to capability events

Known gotchas

Related routes

Subscribe to SmartThings device events via the Subscriptions API from a webhook SmartApp
iot · 5 steps · unrated
Control Home Assistant devices and automate via the REST API and WebSocket API
home-assistant.io · 6 steps · unrated
Call the Home Assistant WebSocket API to subscribe to state change events and trigger services programmatically
home-assistant.io · 6 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans