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

# CARD_FAILED

> Fired when a card failed to be updated in a merchant account.

Fired when a card failed to be updated in a merchant account. The reason is specified in the `reason` field.

### Failure reasons

| Reason | **Description** |
| - | - |
| `account` | The user's merchant account has an issue (e.g. a foreign account). |
| `card` | The user's card information has an issue (e.g. incorrect phone #, incorrect billing address, unsupported card type, etc.). |
| `card expired` | The user's card is expired. |
| `card in use` | The card is already in use in another account. |
| `insufficient funds` | The user's depository account associated with their card does not have sufficient funds to cover the pre-authorization hold from the merchant. |
| `subscription` | The user's merchant account does not have an active subscription. |
| `subscription admin` | The user does not have the necessary authorization to update the payment method in the merchant account. |
| `third-party payment method on subscription` | The user pays for the merchant's service through a 3rd party merchant account (e.g. Spotify through Hulu). |
| `too close to end of billing cycle` | The user's billing cycle date is too close. |
| `too many attempts` | The user attempted to enter their login credentials (e.g. username, password, OTP) to the merchant account too many times. |
| `credentials` | The user entered incorrect credentials when logging in to the merchant. |
| `otp` | The user entered an incorrect OTP code when logging in to the merchant. |
| `credentials timeout` | The user did not enter their login credentials to the merchant account in a certain period of time. |
| `otp timeout` | The user did not enter their otp code to the merchant account in a certain period of time. |
| `questions timeout` | The user did not enter the answers to the security questions for the merchant account in a certain period of time. |
| `zip timeout` | The user did not enter their zip code associated with their merchant account in a certain period of time. |
| `session not authenticated` | Knot could not authenticate to the user's merchant account. |
| `did not receive payment method information` | Knot did not receive any card information. |
| `could not handle payment method information` | Knot encountered an error handling the user's card information once received. |
| `could not retrieve payment method information` | Knot was unsuccessful in retrieving payment method information from a direct processor integration. |
| `other` | An unknown issue was encountered. |

The `did not receive payment method information` reason almost always means card data wasn't sent to [Switch Card](/api-reference/products/card-switcher/switch-card-jwe) within 15 seconds of the `AUTHENTICATED` webhook, or no request in that window passed validation. Return `200` to the webhook right away and send the card from a background job, only when `data.send_card` is `true`.


## OpenAPI

````yaml api-reference/openapi.json webhook card_failed
openapi: 3.1.0
info:
  title: Knot API
  description: An API to interact with the Knot merchant connectivity platform.
  version: 1.0.0
servers:
  - url: https://development.knotapi.com
    description: Development server
security:
  - basicAuth: []
paths: {}
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >-
        Basic authentication header of the form `Basic <encoded-value>`, where
        `<encoded-value>` is the base64-encoded string `username:password`. Use
        your `client_id` as the `username` and your `secret` as the `password`
        value.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.