> ## 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

> Handle errors using the Authsignal SDKs for iOS, Android, React Native, and Flutter.

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

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

<ResponseField name="errorCode" type="string">
  A code which identifies a specific error state. This value can be used to drive application logic
  such as handling when [a passkey is not available on the
  device](/authentication-methods/passkey/best-practices-mobile#optimal-sign-in-experience).
</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="token_not_set">
  Indicates that no Authsignal has been set to authorize the operation. Learn more about [setting a
  token](#setting-a-token).
</ResponseField>

<ResponseField name="user_canceled">
  Indicates that the user dismissed the passkey sign-in prompt. On iOS this may also indicate that
  the user has no passkey credential available on the device.
</ResponseField>

<ResponseField name="no_credential">
  Android only. Indicates that the user has no passkey credential available on the device.
</ResponseField>

<ResponseField name="matched_excluded_credential">
  Indicates that an error occurred when creating a passkey because Authsignal has a record of an
  existing passkey credential and the platform has determined that it is available on the user's
  device. This error will be ignored if `ignorePasskeyAlreadyExistsError` is set to true when
  creating a passkey.
</ResponseField>
