{"record":{"id":"b6bc6770d4974167","repo":"home-assistant/core","slug":"blink-authorization-failed-b6bc67","errorCode":null,"errorMessage":"Blink authorization failed","messagePattern":"Blink authorization failed","errorType":"exception","errorClass":"ConfigEntryAuthFailed","httpStatus":null,"severity":"error","filePath":"homeassistant/components/blink/camera.py","lineNumber":88,"sourceCode":"    @property\n    @override\n    def extra_state_attributes(self) -> Mapping[str, Any] | None:\n        \"\"\"Return the camera attributes.\"\"\"\n        return self._camera.attributes\n\n    @override\n    async def async_enable_motion_detection(self) -> None:\n        \"\"\"Enable motion detection for the camera.\"\"\"\n        try:\n            await self._camera.async_arm(True)\n        except TimeoutError as er:\n            raise HomeAssistantError(\n                translation_domain=DOMAIN,\n                translation_key=\"failed_arm\",\n            ) from er\n        except UnauthorizedError as er:\n            self.coordinator.config_entry.async_start_reauth(self.hass)\n            raise ConfigEntryAuthFailed(\"Blink authorization failed\") from er\n\n        self._camera.motion_enabled = True\n        await self.coordinator.async_refresh()\n\n    @override\n    async def async_disable_motion_detection(self) -> None:\n        \"\"\"Disable motion detection for the camera.\"\"\"\n        try:\n            await self._camera.async_arm(False)\n        except TimeoutError as er:\n            raise HomeAssistantError(\n                translation_domain=DOMAIN,\n                translation_key=\"failed_disarm\",\n            ) from er\n        except UnauthorizedError as er:\n            self.coordinator.config_entry.async_start_reauth(self.hass)\n            raise ConfigEntryAuthFailed(\"Blink authorization failed\") from er\n","sourceCodeStart":70,"sourceCodeEnd":106,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/blink/camera.py#L70-L106","documentation":"In blink camera.async_enable_motion_detection, an UnauthorizedError from camera.async_arm(True) triggers async_start_reauth on the config entry and raises ConfigEntryAuthFailed('Blink authorization failed'). The stored Blink token was rejected, so the motion-enable command cannot proceed and HA switches the entry to reauth-pending.","triggerScenarios":"Enabling motion detection with an expired/revoked Blink token — password changed, session revoked, or Blink auth API changes not handled by the installed blinkpy version.","commonSituations":"Aged token on a long-running instance; password rotation; multiple active sessions causing revocation; outdated HA core / blinkpy.","solutions":["Follow the reauth prompt for the Blink integration entry.","Remove and reconfigure the Blink integration if reauth loops.","Confirm credentials work in the Blink app.","Update Home Assistant core for current blinkpy auth support."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"from homeassistant.exceptions import ConfigEntryAuthFailed\n\ntry:\n    await camera.async_enable_motion_detection()\nexcept ConfigEntryAuthFailed:\n    notify_user(\"Blink session expired — complete reauth\")","preventionTips":["Resolve Blink reauth prompts immediately; every camera action fails while the token is bad.","Keep credentials stable and HA updated."],"tags":["home-assistant","blink","auth","reauth","camera"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}