{"record":{"id":"3d37dc65082ccdf3","repo":"router-for-me/CLIProxyAPI","slug":"xai-device-code-request-failed-with-status-d-s","errorCode":null,"errorMessage":"xai device code request failed with status %d: %s","messagePattern":"xai device code request failed with status (.+?): (.+?)","errorType":"http","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/auth/xai/xai.go","lineNumber":158,"sourceCode":"\treq.Header.Set(\"Content-Type\", \"application/x-www-form-urlencoded\")\n\treq.Header.Set(\"Accept\", \"application/json\")\n\n\tresp, err := a.httpClient.Do(req)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"xai device code request failed: %w\", err)\n\t}\n\tdefer func() {\n\t\tif errClose := resp.Body.Close(); errClose != nil {\n\t\t\tlog.Errorf(\"xai device code: close response body error: %v\", errClose)\n\t\t}\n\t}()\n\n\tbody, err := io.ReadAll(resp.Body)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"xai device code: read response: %w\", err)\n\t}\n\tif resp.StatusCode != http.StatusOK {\n\t\treturn nil, fmt.Errorf(\"xai device code request failed with status %d: %s\", resp.StatusCode, strings.TrimSpace(string(body)))\n\t}\n\n\tvar deviceCode DeviceCodeResponse\n\tif err = json.Unmarshal(body, &deviceCode); err != nil {\n\t\treturn nil, fmt.Errorf(\"xai device code: parse response: %w\", err)\n\t}\n\tif strings.TrimSpace(deviceCode.DeviceCode) == \"\" {\n\t\treturn nil, fmt.Errorf(\"xai device code: response missing device_code\")\n\t}\n\tif strings.TrimSpace(deviceCode.UserCode) == \"\" {\n\t\treturn nil, fmt.Errorf(\"xai device code: response missing user_code\")\n\t}\n\tif strings.TrimSpace(deviceCode.VerificationURI) == \"\" && strings.TrimSpace(deviceCode.VerificationURIComplete) == \"\" {\n\t\treturn nil, fmt.Errorf(\"xai device code: response missing verification URI\")\n\t}\n\tdeviceCode.TokenEndpoint = strings.TrimSpace(tokenEndpoint)\n\treturn &deviceCode, nil\n}","sourceCodeStart":140,"sourceCodeEnd":176,"githubUrl":"https://github.com/router-for-me/CLIProxyAPI/blob/78f0c4079e3e6273d65d03b5549cffc898703264/internal/auth/xai/xai.go#L140-L176","documentation":"Error \"xai device code request failed with status %d: %s\" thrown in router-for-me/CLIProxyAPI.","triggerScenarios":"Thrown at internal/auth/xai/xai.go:158 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the status code and body for the failure reason (e.g. invalid client).","Verify the client credentials used for the device code request."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"78f0c4079e3e6273d65d03b5549cffc898703264","analyzedAt":"2026-08-15T12:26:37.444Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}