Register for Client Notifications

This API call allows for requesting an encrypted WebSockets URL which will receive the events requested. See Notification Events for full details of each events payload type. This API call will 301 redirect to a one-time use WebSockets URL. When following the redirect you MUST NOT set the Authorization header and you MUST NOT cache the resulting URL. The returned URL will have a different hostname than the main API Server, is valid once, and only for 30 seconds after issuance.

If you don't want the automatic redirect behavior, then add a header called X-Logi-NoRedirect and set the value to "true". This will return the one-time use WebSockets URL in a response header called X-Logi-WebSocket-Url.

Important Notes

  • Your WebSockets client MUST send Ping frames at least once an hour or the connection may drop due to the Firewall or NATs.
  • If the WebSockets connection drops, timeouts or is disconnected by the server, you must reinitiate via this main API call, not the redirected URL previously used.
  • New registrations take a few seconds to a minute to propagate internally. You must handle Activity race conditions that will occur during this period.
  • You must handle missing events, such as receiving activity_updatedactivity_finished, or motion_ended without the previous states.
  • Only register for event types that your system intends to use. Over registration will cause your client application to be shut-off and removed. This is especially true for high frequency events such as motion_started and motion_ended. You will always receive the account_deleted event if its not included in your eventTypes.

Permissions

Requires a Permissions scope of: circle:notifications or circle:notifications_motion

Event Notification

See Notification Events for the body of events.

{
    "accountId": "9385e6f9-70c3-45b2-62e4-ace3d027988a",
    "eventType": "activity_created",
    "eventData": { ... }
}
Language
Authentication
OAuth2