> ## Documentation Index
> Fetch the complete documentation index at: https://docs.authsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Error handling

> How to handle errors using the Authsignal Web SDK.

The Web SDK methods can return the following fields when encountering an error.

<ResponseField name="errorCode" type="string">
  A code which identifies a specific error state. This value can be used to drive application logic
  such as when a user encounters a rate limit error.
</ResponseField>

<ResponseField name="errorDescription" type="string">
  A description of the error. This value should only be used for logging or troubleshooting
  purposes.
</ResponseField>

## Error codes

<ResponseField name="network_error">
  Indicates that an error occurred when making a network request to the Authsignal API. This will
  occur if the device has no network connection.
</ResponseField>

<ResponseField name="expired_token">
  Indicates that the Authsignal token has expired. This will occur if more than 10 minutes has
  elapsed since it was [generated by tracking an
  action](/advanced-usage/authenticator-binding#tracking-an-action-to-generate-a-token) or since a
  [previous challenge was
  completed](/advanced-usage/authenticator-binding#presenting-a-challenge-with-an-existing-method).
</ResponseField>

<ResponseField name="invalid_credential">
  Indicates that the credential (e.g. passkey) being used for verification is invalid. This may occur
  if the credential has been removed from the server but still exists on the user's credential manager.
</ResponseField>

<ResponseField name="too_many_requests">
  Indicates that the server cannot respond as requests have been rate-limited due to exceeding a
  threshold. For example, a user has requested too many OTP codes in a short period of time.
</ResponseField>
