RocketChat/Rocket.Chat · error
Failed to retrieve registration confirmation poll data: ${re
Error message
Failed to retrieve registration confirmation poll data: ${response.statusText} What it means
During device-code style registration, getConfirmationPoll polls cloud /api/v2/register/workspace/poll with the device token. Any non-ok response or unreadable body is rethrown as 'Failed to retrieve registration confirmation poll data: <statusText>'. The original detail (including the cloud's JSON error) is only visible in SystemLogger under 'Failed to get confirmation poll from Rocket.Chat Cloud'.
Source
Thrown at apps/meteor/server/lib/cloud/getConfirmationPoll.ts:26
export async function getConfirmationPoll(deviceCode: string): Promise<CloudConfirmationPollData> {
assertNotOfflineLicense();
try {
const cloudUrl = settings.get<string>('Cloud_Url');
const response = await fetch(`${cloudUrl}/api/v2/register/workspace/poll`, {
params: { token: deviceCode },
// SECURITY: the URL is a default hardcoded value or an envvar/setting set by an admin. It's safe to disable this check.
ignoreSsrfValidation: true,
});
try {
if (!response.ok) {
throw new Error((await response.json()).error);
}
return await response.json();
} catch (err) {
throw new Error(`Failed to retrieve registration confirmation poll data: ${response.statusText}`);
}
} catch (err: any) {
SystemLogger.error({
msg: 'Failed to get confirmation poll from Rocket.Chat Cloud',
url: '/api/v2/register/workspace/poll',
err,
});
throw err;
}
}
View on GitHub (pinned to b2c16d5842)
Solutions
- Check SystemLogger for the underlying error detail before trusting the generic statusText message.
- Restart the registration to obtain a fresh device code and approve it promptly in the cloud console.
- Verify network egress and proxy access to Cloud_Url from the server.
- If the cloud is temporarily down, wait and retry the poll later.
Defensive patterns
Strategy: retry
Try / catch
try {
const poll = await getConfirmationPoll(deviceCode);
} catch (e) {
if (e instanceof Error && e.message.startsWith('Failed to retrieve registration confirmation poll data')) {
// inspect SystemLogger for the real cause; restart registration if the device code expired
}
throw e;
} Prevention
- Approve device-code requests promptly — codes expire; poll results only within their lifetime.
- Correlate the generic message with the SystemLogger 'Failed to get confirmation poll' entry before debugging.
- Monitor egress to Cloud_Url so poll failures due to network are distinguished from cloud rejections.
When it happens
Trigger: Polling while the cloud rejects the device code (expired or unknown), during cloud outages, or when a proxy answers instead of the cloud so the body cannot be parsed.
Common situations: Registration left pending past the device-code expiry; cloud maintenance windows; blocked egress to cloud.rocket.chat; slow approvals exceeding the code lifetime.
Related errors
- App package download failed
- App metadata download failed
- error-ai-provider-request-failed
- Failed to connect to Rocket.Chat Cloud: ${error}
- Failed to connect to Rocket.Chat Cloud: ${response.statusTex
AI-assisted analysis of RocketChat/Rocket.Chat@b2c16d5842 (2026-08-18).
Data as JSON: /api/errors/4e27795e5e4b81b1.
Report an issue: GitHub.