If you are using Home Bridge or other third-party apps (aside from Google, Alexa, or IFTTT), we have developed a portal for you to generate an API key.
To create an API key:
- Navigate to this portal, and click Login to sign in to your Wyze account.
- Note: Ensure that the login info you are using matches the info you use when logging into the Wyze app.
- Once you’ve signed in, you’ll be automatically redirected back to the developer page.
- Click Create an API key for your API key to be created.
- Once created, you can click view to see the entire key.
- You should receive an email that a new API key has been generated.
- Once you have the API key, you can use it in your script to get the access token and refresh token.
To delete an API key:
- Navigate to this portal, and click Login to sign in to your Wyze account.
- Note: Ensure that the login info you are using matches the info you use when logging into the Wyze app.
- Next to your API key, click Delete.
Notes:
- Only one API key can be created per user at a time.
- If you want to create a new API Key, you will need to delete the existing one and create a new one.
- Your API key is valid for 1 year from the date of creation.
- This endpoint is currently rate limited.
Log in using your API key:
Endpoint: https://auth-prod.api.wyze.com/api/user/login
POST Request
POST /api/user/login HTTP/2
Host: auth-prod.api.wyze.com
Keyid: <insert-keyid-here>
Apikey: <insert-apikey-here>
Content-Type: application/json
Content-Length: 100
{
"email":"<insert-email-here>",
"password": "md5(md5(md5(password)))"
}
Response
HTTP/2 200 OK
Content-Type: application/json
{
"access_token":"lvtx.xxxxxx",
"refresh_token":"lvtx.yyyyyy",
"user_id":"",
"mfa_options":null,
"mfa_details":null,
"sms_session_id":null,
"email_session_id":null
}
To get a new access token:
Endpoint: https://api.wyzecam.com/app/user/refresh_token
POST Request
POST /app/user/refresh_token HTTP/1.1
Host: api.wyzecam.com
Content-Type: application/json
Content-Length: 100
{
"app_ver":"wyze_developer_api",
"app_version":"wyze_developer_api",
"phone_id":"wyze_developer_api",
"refresh_token":"",
"sc":"wyze_developer_api",
"sv":"wyze_developer_api",
"ts":4070908800000
}
Response
HTTP/2 200 OK
Content-Type: application/json
{
"ts":"",
"code":"",
"msg":"",
"data":
{
"access_token":"",
"refresh_token":""
}
}
Notes:
- The access token generated is valid for 2 days only.
- The refresh token generated is valid for 30 days.
- Please do not repeatedly use the login endpoint (the first endpoint) to generate new access tokens as this endpoint has a rate limit protection. If you need a new access token after using the login endpoint, you can use the refresh token endpoint (the second endpoint) to get this. You'll want to use a valid refresh token generated from the login endpoint for this.