{"record":{"id":"8d6edf83e22610e8","repo":"tonhowtf/omniget","slug":"a-conta-do-trakt-est-bloqueada-fale-com-o-suporte-deles","errorCode":null,"errorMessage":"a conta do Trakt está bloqueada; fale com o suporte deles","messagePattern":"a conta do Trakt está bloqueada; fale com o suporte deles","errorType":"exception","errorClass":"anyhow","httpStatus":423,"severity":"error","filePath":"src-tauri/omniget-core/src/core/tools/lists/trakt.rs","lineNumber":493,"sourceCode":"                )\n                .send()\n                .await?;\n            let status = r.status();\n            if status.as_u16() == 401 {\n                return Err(anyhow!(\n                    \"o Trakt recusou o token (401). Reconecte a conta no botão acima\"\n                ));\n            }\n            if status.as_u16() == 426 {\n                return Err(anyhow!(\"esse recurso é só para contas VIP do Trakt\"));\n            }\n            if status.as_u16() == 420 {\n                return Err(anyhow!(\n                    \"a conta do Trakt bateu no limite do plano gratuito (HTTP 420)\"\n                ));\n            }\n            if status.as_u16() == 423 {\n                return Err(anyhow!(\n                    \"a conta do Trakt está bloqueada; fale com o suporte deles\"\n                ));\n            }\n            if status.as_u16() == 429 || status.is_server_error() {\n                if attempt == 4 {\n                    return Err(anyhow!(\"o Trakt está limitando o acesso (HTTP {})\", status));\n                }\n                let retry = r\n                    .headers()\n                    .get(reqwest::header::RETRY_AFTER)\n                    .and_then(|v| v.to_str().ok())\n                    .and_then(|v| v.trim().parse::<u64>().ok())\n                    .map(Duration::from_secs);\n                tokio::time::sleep(retry.unwrap_or(wait)).await;\n                wait *= 2;\n                continue;\n            }\n            if !status.is_success() {","sourceCodeStart":475,"sourceCodeEnd":511,"githubUrl":"https://github.com/tonhowtf/omniget/blob/8600b91f4246848bac346874daa9e61c1fc5677a/src-tauri/omniget-core/src/core/tools/lists/trakt.rs#L475-L511","documentation":"get_page translates HTTP 423 (Locked) from the Trakt API into this error. It means Trakt has locked/banned the account, so no list data can be fetched; the library refuses to retry because the condition won't self-heal.","triggerScenarios":"Any get_page call (via get_all) that receives HTTP 423 from api.trakt.tv — the authenticated access token belongs to an account blocked by Trakt moderation/abuse systems.","commonSituations":"Account flagged for ToS violations or suspicious automated activity; token reused after the account was suspended; shared accounts locked by Trakt support.","solutions":["Contact Trakt support (support@trakt.tv) to appeal the account lock","Log in on trakt.tv to confirm the account state and any ban notice","Revoke and re-authenticate the app after the account is unlocked (new access token)","If the lock is permanent, use a different account and re-connect via the device-code flow"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"let c = trakt_config::load();\nif c.account_locked_reported { return Err(\"Trakt account previously reported locked\"); }","typeGuard":null,"tryCatchPattern":"if let Err(e) = trakt_lists::run(&opts, &progress) {\n    if e.to_string().contains(\"bloqueada\") {\n        // stop all automated Trakt activity; direct user to Trakt support\n    }\n}","preventionTips":["Keep API usage within polite rate limits to avoid abuse flags","Don't share one account across many automated clients","Re-authenticate after any account issue instead of hammering the API"],"tags":["trakt","http-423","account-locked"],"backgroundTag":"api-error-response","analyzedSha":"8600b91f4246848bac346874daa9e61c1fc5677a","analyzedAt":"2026-09-12T14:29:19.317Z","contentChangedAt":"2026-09-12T14:29:19.317Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}