AlexxIT/go2rtc · error
wyze: login failed (code )
Error message
wyze: login failed (code %s): %s
What it means
The Wyze cloud login API responded with an error payload (apiError.hasError), so authentication was rejected — e.g. wrong credentials, expired token, or account issues. Includes the API's error code and message; raised in Login, also reachable via LoginWithCaptcha.
Solutions
- Verify email/password and API key/id
- Handle MFA via LoginWithCaptcha/LoginWithVerify when required
- Retry after rate limiting clears
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pkg/wyze/cloud.go:128 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of AlexxIT/go2rtc@c245815e75 (2026-09-07).
Data as JSON: /api/errors/5b2d4e93725c47e7.
Report an issue: GitHub.
Appendix: source
Thrown at pkg/wyze/cloud.go:128
req.Header.Set("Apikey", c.apiKey)
req.Header.Set("Keyid", c.keyID)
req.Header.Set("User-Agent", "go2rtc")
resp, err := c.client.Do(req)
if err != nil {
return err
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
return err
}
var errResp apiError
_ = json.Unmarshal(body, &errResp)
if errResp.hasError() {
return fmt.Errorf("wyze: login failed (code %s): %s", errResp.code(), errResp.message())
}
var result loginResponse
if err := json.Unmarshal(body, &result); err != nil {
return fmt.Errorf("wyze: failed to parse login response: %w", err)
}
if len(result.MFAOptions) > 0 {
return &AuthError{
Message: "MFA required",
NeedsMFA: true,
MFAType: strings.Join(result.MFAOptions, ","),
}
}
if result.AccessToken == "" {
return errors.New("wyze: no access token in response")
}View on GitHub (pinned to c245815e75)