Wyze REST API documentation and local IP access

Hi everyone,

I’ve been working with the Wyze developer API and have achieved consistent results. The [documentation for creating authentication tokens is excellent](https://support.wyze.com/hc/en-us/articles/16129834216731-Creating-an-API-Key and Wyze REST API?) but, I’m struggling to find comprehensive documentation on the API itself. There is also a post in the forum about it, but nothing about documentation.

Has anyone else been experimenting with this API? Specifically, are there any plans or insights into enabling local IP event polling?

Thanks for sharing your knowledge!

2 Likes

This is a pretty common request, though afaik wyze has no plans on documenting it.

They do not want to dedicate resources towards creating public documentation and dealing with support and other things.

They have however created this API key portal and the limited documentation it has, as well as worked with some of the communities of the larger projects to ensure they continue to function when wyze makes breaking api changes.

This shows that they intend on supporting the community, but don’t want to prioritize it resource wise.

There are lots of great open source api wrappers and other projects that use the api (wyze docker bridge, etc) you could look to for inspiration, and their communities are pretty active and helpful.

Don’t expect to get much official wyze support on this however.

Please let us know what you create!

Also, would you mind sharing how you implemented the part that hashes the password 3 times? I was playing around with it and tried to do this but the server wouldn’t accept my credentials.

What command/script/code did you use?

Thanks @IEatBeans .

I used this python script (download python 3, save those contents as triple_hash.py and execute python triple_hash.py

import hashlib

def triple_md5(password):
    # Hash the password the first time
    first_hash = hashlib.md5(password.encode()).hexdigest()
    # Hash the first hash
    second_hash = hashlib.md5(first_hash.encode()).hexdigest()
    # Hash the second hash
    third_hash = hashlib.md5(second_hash.encode()).hexdigest()
    
    return third_hash

# Example usage
password = "your_password_here"  # Replace with the actual password
hashed_password = triple_md5(password)
print("Triple MD5 Hashed Password:", hashed_password)
1 Like

Hi,

After authenticating I used https://api.wyzecam.com/app/user/get_user_info rest call to use it as https://api.wyzecam.com/app/v2/device/get_event_list.

I hope it helps.

That’s the body of the rest call (you can use PostMan to make the calls)

{
 "order_by": 1,
 "end_time": "1615328146000",
 "begin_time": "1615327146000",
 "count": 100,
  "device_mac_list": ["REMOVED"],
 "app_ver":"wyze_developer_api",

 "app_version":"wyze_developer_api",

 "phone_id":"wyze_developer_api",

    "access_token": "REMOVED",
    "refresh_token": "REMOVED",
    "user_id": "REMOVED_THE_ONE_YOU_GET_FROM_GET_USER_INFO",

 "sc":"wyze_developer_api",

 "sv":"wyze_developer_api",

 "ts":4070908800000
1 Like

Thank you so much, this worked for me!