{"record":{"id":"acef9e5d184921d1","repo":"appwrite/appwrite","slug":"no-default-sms-provider-found","errorCode":null,"errorMessage":"No default SMS provider found","messagePattern":"No default SMS provider found","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"src/Appwrite/Platform/Workers/Messaging.php","lineNumber":1184,"sourceCode":"            $provider = $this->createProviderFromDSN($dsns[0]);\n            $adapter = $this->getSmsAdapter($provider);\n            return $adapter;\n        }\n\n        $defaultDSN = null;\n        $localDSNs = [];\n\n        /** @var DSN $dsn */\n        foreach ($dsns as $dsn) {\n            if ($dsn->getParam('local', '') === 'default') {\n                $defaultDSN = $dsn;\n            } else {\n                $localDSNs[] = $dsn;\n            }\n        }\n\n        if ($defaultDSN === null) {\n            throw new \\Exception('No default SMS provider found');\n        }\n\n        $defaultProvider = $this->createProviderFromDSN($defaultDSN);\n        $adapter = $this->getSmsAdapter($defaultProvider);\n        $geosms = new GEOSMS($adapter);\n        $geosms->setTelemetry($this->telemetry);\n\n        /** @var DSN $localDSN */\n        foreach ($localDSNs as $localDSN) {\n            try {\n                $provider = $this->createProviderFromDSN($localDSN);\n                $adapter = $this->getSmsAdapter($provider);\n            } catch (\\Exception) {\n                continue;\n            }\n\n            $callingCode = $localDSN->getParam('local', '');\n            if (empty($callingCode)) {","sourceCodeStart":1166,"sourceCodeEnd":1202,"githubUrl":"https://github.com/appwrite/appwrite/blob/ce3a85157f30ff289c7511f62ff076005fa106d1/src/Appwrite/Platform/Workers/Messaging.php#L1166-L1202","documentation":"Error \"No default SMS provider found\" thrown in appwrite/appwrite.","triggerScenarios":"Thrown at src/Appwrite/Platform/Workers/Messaging.php:1186 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Create an SMS provider for the project in the Appwrite console and mark it as default.","Verify no default provider was deleted while SMS messages were still queued; re-queue affected messages after restoring a provider."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"ce3a85157f30ff289c7511f62ff076005fa106d1","analyzedAt":"2026-08-18T21:34:56.994Z","contentChangedAt":"2026-08-18T21:34:56.994Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}