> For the complete documentation index, see [llms.txt](https://docs.dataswyft.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dataswyft.com/build/advanced-topics/error-reference.md).

# Error Reference

Handling authentication errors.

If signup fails at any stage of the process, the user will be redirected back to your application with query parameters `error` and `error_reason`. It is left up to each individual application to decide how the failures should be communicated to the user. Currently `error` and `error_reason` fields can have multiple values depending on the failure type.

**Error Codes:**

<table data-header-hidden><thead><tr><th>Type</th><th width="150">Reason</th><th>Error definitions</th></tr></thead><tbody><tr><td>Type</td><td>Reason</td><td>Error definitions</td></tr><tr><td>application_misconfigured</td><td>email_is_required</td><td><code>email</code> parameter is required</td></tr><tr><td>application_misconfigured</td><td>email_is_not_valid</td><td><code>email</code> is not valid</td></tr><tr><td>application_misconfigured</td><td>hat_name_is_required</td><td><code>hat_name</code> parameter is required</td></tr><tr><td>application_misconfigured</td><td>hat_name_is_not_valid</td><td><code>hat_name</code> is not valid</td></tr><tr><td>application_misconfigured</td><td>application_id_is_required</td><td><code>application_id</code> parameter is required</td></tr><tr><td>application_misconfigured</td><td>application_id_not_found</td><td><code>application_id</code> is specified but not found in the available application list. If you requested a different language for this application, it might not be available.</td></tr><tr><td>application_misconfigured</td><td>redirect_uri_is_required</td><td><code>redirect_uri</code> is required to redirect the user back to your application</td></tr><tr><td>hat_provisioning</td><td>hat_name_already_taken</td><td>Inform the user that their username is already taken</td></tr><tr><td>hat_provisioning</td><td>email_already_taken</td><td>Inform the user that their email already exists</td></tr><tr><td>hat_provisioning</td><td>uncaught_error</td><td>Possibly a temporary issue, wait and retry the process</td></tr><tr><td>hat_provisioning</td><td>unexpected_error</td><td>Possibly a temporary issue, wait and retry the process</td></tr><tr><td>hat_provisioning</td><td>next_step_undefined</td><td>Registration is completed but the next step to navigate the user back to the provided URI or to set up dependencies on their own HAT has failed</td></tr><tr><td>hat_exception</td><td>enabling_application_failed</td><td>Possibly a temporary issue, wait and retry the process</td></tr><tr><td>hat_exception</td><td>hat_authentication_failed</td><td>Possibly a temporary issue, wait and retry the process</td></tr><tr><td>hat_exception</td><td>hat_communication_failure</td><td>Possibly a temporary issue, wait and retry the process</td></tr></tbody></table>
