MERCHANT_STATUS_UPDATE

Fired when a merchant becomes available or unavailable (even if temporarily), including when a brand new merchant is made availble on the Knot platform for the first time.

Availability is unique to product types, platforms, and versions of the SDK. As such, the event will fire independently for each product type and platform. Particularly if you are implementing multiple of Knot’s products, you should consider the type property to determine whether a merchant is available for a given product, as availability can differ.

This event does not include a session_id, which is relevant when generating a hash map for webhook verification, as described in Webhook Verification.

{
  "event": "MERCHANT_STATUS_UPDATE",
  "merchant": {
    "id": 10,
    "name": "Uber",
    "logo": "https://storage.googleapis.com/knot-api/merchants/vAUzKgPbYRMk3180qW8ncAiizrNjxrvW61LBA23n.png"
  },
  "data": {
    "type": "card_switcher", // card_switcher, transaction_link
	"status": "UP", // UP, DOWN
    "platform": "ios", // ios, android, web
    "sdk": "1.0.0" // nullable
  },
  "timestamp": 1710864923198
}

AUTHENTICATED

Fired when the authentication to a merchant is successful.

{
  "event": "AUTHENTICATED",
  "session_id": "fb5aa994-ed1c-4c3e-b29a-b2a53222e584",
  "task_id": 25605,
  "external_user_id": "3dcbb19a-b2f1-4a7b-8792-d76027b627b3",
  "merchant": {
    "id": 10,
    "name": "Uber"
  },
  "data": {
    "card_id": "123456789",
    "send_card": true,
    "entrypoint": "onboarding"
  },
  "timestamp": 1710864923198
}

CREDENTIALS_FAILED

Fired when the login credentials used to login to a merchant are incorrect and the user needs to re-enter them (if a CARD_FAILED webhook is not received).

{
  "event": "CREDENTIALS_FAILED",
  "session_id": "fb5aa994-ed1c-4c3e-b29a-b2a53222e584",
  "task_id": 25605,
  "external_user_id": "3dcbb19a-b2f1-4a7b-8792-d76027b627b3",
  "merchant": {
    "id": 10,
    "name": "Uber"
  },
  "data": {
    "card_id": "123456789"
  },
  "timestamp": 1710864923198
}

OTP_REQUIRED

Fired when a user needs to enter an OTP code to login to a merchant for the 1st time.

{
  "event": "OTP_REQUIRED",
  "session_id": "fb5aa994-ed1c-4c3e-b29a-b2a53222e584",
  "task_id": 25605,
  "external_user_id": "3dcbb19a-b2f1-4a7b-8792-d76027b627b3",
  "merchant": {
    "id": 10,
    "name": "Uber"
  },
  "data": {
    "card_id": "123456789"
  },
  "timestamp": 1710864923198
}

OTP_FAILED

Fired when the OTP code used to login to a merchant is incorrect and the user needs to re-enter it (if a CARD_FAILED webhook is not received).

{
  "event": "OTP_FAILED",
  "session_id": "fb5aa994-ed1c-4c3e-b29a-b2a53222e584",
  "task_id": 25605,
  "external_user_id": "3dcbb19a-b2f1-4a7b-8792-d76027b627b3",
  "merchant": {
    "id": 11,
    "name": "Uber"
  },
  "data": {
    "card_id": "123456789"
  },
  "timestamp": 1710864923198
}

QUESTIONS_REQUIRED

Fired when a user needs to provide answers to security questions for the 1st time.



{
  "event": "QUESTIONS_REQUIRED",
  "session_id": "fb5aa994-ed1c-4c3e-b29a-b2a53222e584",
  "task_id": 25605,
  "external_user_id": "3dcbb19a-b2f1-4a7b-8792-d76027b627b3",
  "merchant": {
    "id": 10,
    "name": "Uber"
  },
  "data": {
    "card_id": "123456789"
  },
  "timestamp": 1710864923198
}

QUESTIONS_FAILED

Fired when the answers to security questions are incorrect and the user needs to re-enter the answers (if a CARD_FAILED webhook is not received).

{
  "event": "QUESTIONS_FAILED",
  "session_id": "fb5aa994-ed1c-4c3e-b29a-b2a53222e584",
  "task_id": 25605,
  "external_user_id": "3dcbb19a-b2f1-4a7b-8792-d76027b627b3",
  "merchant": {
    "id": 10,
    "name": "Uber"
  },
  "data": {
    "card_id": "123456789"
  },
  "timestamp": 1710864923198
}

LOGIN_APPROVAL

Fired when a user needs to approve the login to a merchant via a push notification, text message, or similar from a merchant.

{
  "event": "LOGIN_APPROVAL",
  "session_id": "fb5aa994-ed1c-4c3e-b29a-b2a53222e584",
  "task_id": 25605,
  "external_user_id": "3dcbb19a-b2f1-4a7b-8792-d76027b627b3",
  "merchant": {
    "id": 10,
    "name": "Uber"
  },
  "data": {
    "card_id": "123456789"
  },
  "timestamp": 1710864923198
}

ACCOUNTS_RETRIEVED

Fired when a user’s merchant accounts are successfully retrieved from their Google Account. This event is specific to the MassSwitcher feature.

{
  "event": "ACCOUNTS_RETRIEVED",
  "session_id": "fb5aa994-ed1c-4c3e-b29a-b2a53222e584",
  "task_id": 25605,
  "external_user_id": "3dcbb19a-b2f1-4a7b-8792-d76027b627b3",
  "merchant": {
    "id": 26,
    "name": "Google Keychain"
  },
  "timestamp": 1710864923198
}