Setting the file. One moment.
Skill 125 · Zoom Meeting SDK Web
Subchapter 125.14
troubleshooting/error-codes.mdMarkdown10 KBView on GitHub
Comprehensive reference for all error codes returned by the Zoom Meeting SDK for Web.
References
Component View Breakout RoomsAlso bundled
Browser Support| Code Range | Category |
|---|---|
| 0-2 | General/Success |
| 3000-3999 | Meeting Validation |
| 4000-4999 | Connection Status |
| 6000+ | System/Service |
| 10000+ | SDK Version |
| 13000+ | Simulive |
| Code | Name | Description | Solution |
|---|---|---|---|
0 | SUCCESS | Function invoked successfully | N/A |
1 | FAIL | General function error | Check parameters and SDK state |
2 | MEETING_NOT_INIT | Meeting not initialized | Call init() before join() |
| Code | Name | Description | Solution |
|---|---|---|---|
3704 | API_KEY_INVALID | SDK Key/Client ID is invalid | Verify SDK credentials in Marketplace |
3705 | SIGNATURE_EXPIRED | JWT signature has expired | Generate new signature with valid exp |
3708 | ROLE_ERROR | Incorrect role in signature | Use role 0 (participant) or 1 (host) |
3710 | API_KEY_DISABLED | SDK Key is deactivated | Re-enable in Marketplace or create new app |
3712 | SIGNATURE_INVALID | Signature verification failed | Check SDK secret, verify signature generation |
3265 | TOKEN_ERROR | Token validation failed | Check ZAK/OBF token format and expiry |
3623 | TOKEN_ERROR_ALT | Token error (alternate) | Same as 3265 |
3713 | NO_PERMISSION | Insufficient permissions | Verify account permissions and scopes |
| Code | Name | Description | Solution |
|---|---|---|---|
3001 | ERROR_NOT_EXIST | Meeting does not exist | Verify meeting number |
3003 | ERROR_NOT_HOST | Not meeting host | Use host’s ZAK token to start |
3004 | WRONG_MEETING_PASSWORD | Incorrect password | Verify passWord (Client View) or password (Component View) |
3005 | ANOTHER_MEETING_RUNNING | Already in another meeting | Leave current meeting first |
3008 | MEETING_NOT_START | Meeting hasn’t started | Wait for host or use “join before host” |
3009 | BE_REMOVED | User was removed from meeting | Cannot rejoin; contact host |
3610 | MEETING_NOT_EXIST_ALT | Meeting does not exist (alt) | Same as 3001 |
| Code | Name | Description | Solution |
|---|---|---|---|
3000 | EMAIL_REQUIRED | Email required for webinar | Provide userEmail in join params |
3099 | REGISTRATION_REQUIRED | Meeting requires registration | Get tk token from registration API |
3100 | LOGIN_REQUIRED | Zoom login required | Provide ZAK token for authenticated join |
3624 | HOST_EMAIL_REQUIRED | Host/alt host needed for webinar | Use host credentials to start |
| Code | Name | Description | Solution |
|---|---|---|---|
3625 | HOST_INACTIVE | Meeting host is inactive | Contact host to activate account |
3702 | HOST_NOT_FOUND | Host does not exist | Verify host account |
3709 | HOST_NOT_FOUND | Host not found (alt) | Same as 3702 |
3711 | CANT_HOST_CONCURRENT | Can’t host multiple meetings | End other meeting first |
| Code | Name | Description | Solution |
|---|---|---|---|
3603 | NOT_SUPPORT_WEBCLIENT | Web join not allowed | Admin must enable web client |
3608 | TSP_NOT_SUPPORT | TSP audio not supported on web | Use computer audio or phone |
3611 | USE_DESKTOP_OR_MOBILE | Browser join disabled | Use Zoom desktop/mobile app |
3620 | EMAIL_BLOCKED | Email blocked by admin | Contact account administrator |
3621 | NO_RESPONSE_FROM_WEB | Server timeout | Retry request |
| Code | Name | Description | Solution |
|---|---|---|---|
4000 | RE_CONNECTING | Reconnecting to meeting | Wait for reconnection |
4001 | DISCONNECT | Disconnected from meeting | Check network, try rejoining |
4003 | INVALID_PARAMETER | Invalid join parameter | Check all required fields |
4004 | MEETING_ENDED | Meeting has ended | Cannot join ended meeting |
4005 | MEETING_CAPACITY_REACHED | Meeting is full | Host needs to increase capacity |
4006 | MEETING_LOCKED | Meeting is locked | Host must unlock to allow joins |
4007 | REJECT_BARRIERS | Information barriers rejection | Contact admin about policies |
4008 | PARTICIPANT_EXIST | Already a participant | Already in meeting or leave first |
4009 | SERVER_ERROR | Internal server error | Retry request |
4011 | NOT_ALLOW_CROSS_JOIN | Cross-account join blocked | Publish app on Marketplace (see 6.1 ToS) |
IMPORTANT: Starting March 2, 2026, anonymous joins to external meetings are blocked. You must provide a valid OBF or ZAK token.
| Code | Name | Description | Solution |
|---|---|---|---|
4012 | NOT_ALLOW_ANONYMOUS_JOIN | Anonymous join not allowed | Provide valid OBF or ZAK token |
4013 | USER_LEVEL_TOKEN_NOT_HAVE_HOST_ZAK_OBF | OBF/ZAK token invalid or missing | Verify token is not expired or malformed |
{
"meetingStatus": 3,
"errorCode": 4012,
"errorMessage": "Anonymous joins are not allowed for this SDK app. Authenticate the Zoom user and provide a ZAK or OBF token."
}Solutions for 4012:
/users/me/zakobfToken or zak join parameter{
"meetingStatus": 3,
"errorCode": 4013,
"errorMessage": "The OBF or ZAK token is not provided or invalid. Make sure it's not expired or malformed."
}Solutions for 4013:
| Code | Name | Description | Solution |
|---|---|---|---|
6603 | BLOCKED_BY_HOST_ADMIN | SDK Key blocked by host’s admin | Contact host’s admin to whitelist |
| Code | Name | Description | Solution |
|---|---|---|---|
10000 | SDK_VERSION_UNSUPPORTED | SDK version no longer supported | Upgrade to latest SDK version |
| Code | Name | Description | Solution |
|---|---|---|---|
13208 | UNABLE_JOIN_ENDED_SIMULIVE | Simulive webinar has ended | Cannot join ended simulive |
ZoomMtg.join({
// ... options
success: (res) => {
console.log('Joined successfully');
},
error: (err) => {
console.error('Join failed:', err);
switch (err.errorCode) {
case 3004:
alert('Incorrect meeting password');
break;
case 3712:
console.error('Signature invalid - check SDK secret');
break;
case 4012:
console.error('OBF token required for external meetings');
break;
default:
console.error(`Error ${err.errorCode}: ${err.errorMessage}`);
}
}
});try {
await client.join({
// ... options
});
} catch (error) {
console.error('Join failed:', error);
// error.reason contains error code
// error.message contains description
if (error.reason === 'WRONG_MEETING_PASSWORD') {
alert('Incorrect password');
}
}// Client View
ZoomMtg.inMeetingServiceListener('onMeetingStatus', (data) => {
// status: 1=connecting, 2=connected, 3=disconnected, 4=reconnecting
if (data.status === 3) {
console.error('Disconnected:', data.errorCode);
}
});
// Component View
client.on('connection-change', (payload) => {
if (payload.state === 'Closed') {
console.error('Connection closed:', payload.reason);
}
});Causes:
appKey field in signatureDebug Steps:
Causes:
Note: Meeting ID (from API) and Meeting Number (shown in client) are the same.
Causes:
Solutions:
Cause: Your app isn’t published on Marketplace and is trying to join meetings outside your account.
Solutions:
| Date | Enforcement |
|---|---|
| February 7, 2026 | If OBF provided, must be valid (not expired/malformed) |
| March 2, 2026 | Cannot join external meetings without valid OBF/ZAK |