RocketChat/Rocket.Chat · error · Error
Failed to fetch registration intent endpoint
Error message
Failed to fetch registration intent endpoint
What it means
After the intent POST, the code expects a parsed JSON payload; if payload is still falsy (an ok response with an empty or null body, or the assignment never happened), it throws the generic 'Failed to fetch registration intent endpoint'. The network call itself 'succeeded' — the response just had no usable body.
Source
Thrown at apps/meteor/server/lib/cloud/startRegisterWorkspaceSetupWizard.ts:42
ignoreSsrfValidation: true,
});
if (!response.ok) {
throw new Error((await response.json()).error);
}
payload = await response.json();
} catch (err: any) {
SystemLogger.error({
msg: 'Failed to register workspace intent with Rocket.Chat Cloud',
url: '/api/v2/register/workspace',
err,
});
throw err;
}
if (!payload) {
throw new Error('Failed to fetch registration intent endpoint');
}
return payload;
}
View on GitHub (pinned to b2c16d5842)
Solutions
- Update the Rocket.Chat server so its cloud client matches the current cloud API.
- Manually POST to Cloud_Url/api/v2/register/workspace/intent from the server and inspect the raw body and content-type.
- Check proxies for body rewriting or compression issues.
- Retry after cloud-side incidents are resolved.
Defensive patterns
Strategy: try-catch
Try / catch
try {
const payload = await startRegisterWorkspaceSetupWizard(regInfo, resend);
} catch (e) {
if (e instanceof Error && e.message === 'Failed to fetch registration intent endpoint') {
// 200-with-empty-body: probe the endpoint manually and check server/cloud version alignment
}
throw e;
} Prevention
- Keep the Rocket.Chat server on a release aligned with the current cloud API.
- Probe cloud endpoints with curl after proxy changes to confirm bodies arrive intact.
- Treat 'ok but empty payload' responses as version-skew signals and escalate to updates, not retries.
When it happens
Trigger: Cloud answers 200/204 with an empty or null body; an intermediary strips or rewrites the response body; the endpoint moved and returns an empty response.
Common situations: Version skew between the Rocket.Chat server and the current cloud API; proxies that rewrite or recompress bodies; partial cloud incidents returning empty responses.
Related errors
- Failed to connect to Rocket.Chat Cloud: ${error}
- Invalid registration token
- (await response.json()).error
- error-ai-provider-empty-response
- 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/d80f66f59aed0c69.
Report an issue: GitHub.