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

# Subscription intent public error

> Every `public_error` value Fintoc sets on a failed subscription intent, from invalid bank credentials to authorization timeouts, and what each means.

When a subscription intent fails, the `public_error` attribute on the [Subscription Intent object](/api/direct-debit-legacy/subscriptions-intents/subscription-intent-object) identifies the cause.

Fintoc uses the following `public_error` values. Handle unknown values because Fintoc can add new errors.

| `public_error` | Description |
| :- | :- |
| `account_type_not_permitted` | The selected account type is not allowed for this enrollment. |
| `authorization_timeout` | Your customer did not authorize the direct debit enrollment in time. |
| `bank_connection_error` | Fintoc had a problem connecting with the selected bank. |
| `bank_not_available` | The selected bank is temporarily unavailable. |
| `internal_error` | An unexpected error occurred while processing the enrollment. |
| `login_credentials_locked` | The bank locked your customer's credentials after too many failed attempts. |
| `login_invalid_credentials` | The bank credentials your customer entered are incorrect. |
| `mfa_authorization_timeout` | Your customer did not complete the bank's multi-factor authentication in time. |
| `mfa_unavailable` | The bank's multi-factor authentication is not available for your customer. |
| `password_change_required` | The bank requires your customer to change their password before continuing. |
| `request_timeout` | The request to the bank timed out. |
| `subscription_intent_expired` | The subscription intent expired before your customer completed the enrollment. |
| `user_left` | Your customer left the widget before completing the enrollment. |
