# Error Reference

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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dataswyft.com/build/advanced-topics/error-reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
