Skip to content

Error Codes

Error codes appear in the code field of allfeat:failed and allfeat:error event payloads. All backend errors use dotted notation (e.g., session.origin_not_allowed). Widget-internal errors are prefixed with widget..

CodeMessageRecommended Action
session.invalid_tokenYour session has expired. Please refresh your credentials.Handled automatically via allfeat:token-expired
session.key_inactiveThis widget is currently disabled.Contact administrator — shown on DISABLED screen
session.widget_not_enabledThe widget feature is not enabled for your organization.Contact administrator
session.origin_not_allowedThis website is not authorized to use the widget.Verify domain is in the allowed origins list
session.rate_limitedToo many requests. Please wait a moment.Wait and retry
common.auth.missing_tokenAuthentication is required.Provide a valid token via setToken()
common.auth.expiredYour session has expired.Refresh the token
common.auth.invalid_tokenYour authentication token is invalid.Provide a new token
common.auth.invalid_api_keyThe API key is invalid.Contact administrator
common.auth.jwks_unavailableAuthentication service temporarily unavailable.Retry later
common.auth.backend_unavailableAuthentication service temporarily unavailable.Retry later

These errors show the DISABLED screen (no retry button):

CodeMessageRecommended Action
session.key_inactiveWidget disabled.Check organization dashboard
session.widget_not_enabledWidget not enabled.Enable widget in organization settings
session.origin_not_allowedOrigin not authorized.Add domain to allowed origins
organization.not_foundOrganization not found.Verify site-key attribute
organization.inactiveOrganization inactive.Contact Allfeat support
organization.no_integrationNo integration configured.Configure integration in dashboard
common.auth.invalid_api_keyInvalid API key.Verify API key configuration
CodeMessageRecommended Action
registration.duplicate_titleA work with this title already exists.Choose a different title
registration.audio_too_largeThe asset file is too large ({size_mb} MB). Max: {max_mb} MB.Reduce file size
registration.invalid_audio_formatAudio format not supported.Use a supported format
registration.insufficient_creditsInsufficient credits.Top up credits
CodeMessageRecommended Action
work.not_foundWork not found.Verify work ID
work.already_registeredWork already registered.
access_code.not_foundAccess code invalid or doesn’t exist.Verify access code
access_code.expiredAccess code expired.
CodeMessageRecommended Action
transaction.not_foundTransaction not found.
transaction.store_unavailableTransaction service unavailable.Retry later
transaction.already_confirmedTransaction already confirmed.
transaction.expiredTransaction expired.Start over
CodeMessageRecommended Action
common.rate_limitedToo many requests.Wait and retry
common.validation_failedSubmitted data invalid.Check input data
common.service_unavailableService temporarily unavailable.Retry later
common.not_foundResource not found.

These are client-side errors without a requestId:

CodeDescriptionRecommended Action
widget.network_errorNetwork connectivity issue.Check internet connection
widget.upload_errorFile upload to S3 failed.Widget retries automatically (3 attempts)
widget.malformed_responseServer returned an unexpected response.Retry; report if persistent
widget.unknown_errorFallback for unrecognized errors.Report if persistent
widget.configuration_errorWidget configuration issue.Check widget attributes
const widget = document.querySelector('ats-widget');
['allfeat:failed', 'allfeat:error'].forEach(eventName => {
widget.addEventListener(eventName, (e) => {
console.error(`[ATS ${eventName}]`, e.detail);
analytics.track('ats_error', {
event: eventName,
code: e.detail.code,
message: e.detail.message,
requestId: e.detail.requestId,
});
});
});
widget.addEventListener('allfeat:failed', (e) => {
const { code, requestId } = e.detail;
if (code.startsWith('session.') || code.startsWith('common.auth.')) {
// Auth errors — handled by allfeat:token-expired
return;
}
if (code.startsWith('organization.') || code === 'session.key_inactive') {
// Config errors — DISABLED screen shown, no recovery
showMessage('Please contact your administrator. Reference: ' + requestId);
return;
}
if (code === 'common.rate_limited') {
showMessage('Please wait a moment and try again.');
return;
}
// Default: retry
showMessage('An error occurred. Please try again.');
});