Snap Finance

Pending Scenarios and Snap Webhooks Implementation

Developer Portal documentation for pending application states and event-driven status updates.

This document provides an overview of how applications behave when they enter a Pending status. A pending application indicates that additional actions are required before a final application decision can be rendered.

Overview

The purpose of this document is to provide an overview on the handling of customer applications when they are placed into a Pending status. An application in Pending status indicates that additional actions are required before a final application decision can be rendered. These actions may be the result of an alert or a step-up verification.

Alerts and step-ups are mechanisms used to identify scenarios that require additional review, customer interaction, or verification before processing can continue. When triggered, the application remains in a Pending status until the required actions have been completed and evaluated.

Depending on the specific scenario, the customer may be required to complete identity verification, provide additional information, or resolve conditions that prevent the application from progressing.

The handling requirements for each Pending scenario vary based on the alert or step-up type. This document outlines the supported Pending scenarios, the associated application sub-statuses, the customer experience, and the expected partner integration behavior for monitoring application status and resuming the application flow.

Pending Scenario Requirement

Each pending scenario requires different actions. Communications will be sent to the customer via email or SMS if step-ups or identity verification are needed. From a technical or logic partner perspective, the API response must display the message parameter for each scenario, as shown in the example for applicationStatus = Pending.

{
  "applicationId": "260630000028UT",
  "applicationStatus": "PENDING",
  "applicationSubStatus": "CREDIT_FREEZE",
  "message": "Thank you for starting your application for a Snap-branded offering. It looks like you have a credit freeze in place. Please follow the emailed instructions we sent to remove your credit freeze and reapply with Snap."
}
Recommendation: Track the application status using either the Get Application Status endpoint or Snap Webhooks. For automated updates, Snap Webhooks are the recommended approach.

Snap Webhooks

For applications that remain in Pending, the recommended automation pattern is to subscribe to Snap's application status change event and use that notification as the trigger to update your internal record when the status changes. Snap describes webhooks as event notifications that update the application and allow the caller to listen for changes and adjust business processes accordingly.

Implementation should follow the webhook setup flow in the Developer Portal: register the webhook from the API Keys page https://developer.snapfinance.com/webhooks or send the listener URL and Merchant ID to devsupport@snapfinance.com. The endpoint must be publicly accessible, use HTTPS, and accept HTTP POST requests with JSON payloads (sandbox and production listener URLs are required).

For the Pending flow, the webhook payload includes fields such as applicationId, applicationStatus, applicationSubStatus, applicationCreateTime, and applicationUpdateTime. When a status change arrives, your integration can use that event to continue to the next step in your workflow without polling.

For detailed request and response specifications, to register and more, refer to https://developer.snapfinance.com/webhooks.

Workflow

Pending Workflow

Pending Scenarios

Pending Scenario 3rd Party Action Application Type Consumer Action Notes
Clarity Freeze None Prequal Consumer must remove freeze and then reapply The API response must show the message parameter for each scenario to the customer.
Experian Freeze None Prequal Consumer must remove freeze and then reapply The API response must show the message parameter for each scenario to the customer.
DataX Freeze None Prequal Consumer must remove freeze and then reapply The API response must show the message parameter for each scenario to the customer.
Experian - Extended Alert Get application Status or implement Webhook Prequal Outbound call from Snap Care agent to consumer to verify identity The API response must show the message parameter for each scenario to the customer.
DataX Extended Get application Status or implement Webhook Prequal Outbound call from Snap Care agent to consumer to verify identity The API response must show the message parameter for each scenario to the customer.
Clarity Extended Get application Status or implement Webhook Prequal Outbound call from Snap Care agent to consumer to verify identity The API response must show the message parameter for each scenario to the customer.
Initial Clarity Get application Status or implement Webhook Prequal Consumer clicks SMS Link and verifies identity The API response must show the message parameter for each scenario to the customer.
Experian Initial Get application Status or implement Webhook Prequal Consumer clicks SMS Link and verifies identity The API response must show the message parameter for each scenario to the customer.
Experian Active Duty Get application Status or implement Webhook Prequal Consumer clicks SMS Link and verifies identity The API response must show the message parameter for each scenario to the customer.
Experian, Clarity and DataX Freeze None Prequal Consumer must remove freeze and then reapply The API response must show the message parameter for each scenario to the customer.
Clarity Freeze and Experian Extended None Prequal Consumer must remove freeze and then reapply The API response must show the message parameter for each scenario to the customer.
IDology Get application Status or implement Webhook Full Application Only Consumer clicks SMS Link and verifies identity The API response must show the message parameter for each scenario to the customer.
Plaid Bank as Step Up Get application Status or implement Webhook Full Application Only Consumer clicks SMS Link and verifies bank details The API response must show the message parameter for each scenario to the customer.

Pending Scenario API Request/Response

*The response examples in the below table reference LTO however, these responses will apply to LTO, RIC and Loan.

Pending Scenario API Request Test Data API Response Notes
Clarity Freeze First name: Any
Last Name: Miller
DOB: 01/01/2001
{
  "success": true,
  "data": {
    "applicationId": "260730008HUT",
    "applicationStatus": "PENDING",
    "applicationSubStatus": "CREDIT_FREEZE",
    "message": "Thank you for starting your application for a Snap-branded offering. It looks like you have a credit freeze in place. Please follow the emailed instructions we sent to remove your credit freeze and reapply with Snap.",
    "approvedAmount": "3090.00",
    "applicationType": "LTO",
    "currencyCode": "USD",
    "applicationCreateTime": "2026-07-30T14:25:24.628Z",
    "applicationUpdateTime": "2026-07-30T14:25:24.628Z",
    "additionalInformation": {
      "customerInformation": "Verified",
      "cartInformation": "Verified",
      "bankInformation": "Verified",
      "incomeInformation": "Verified",
      "cardInformation": "Pending"
    },
    "stbs": false,
    "cohortPI": "0023176a-e758-4711-b36a-83b44c048b18"
  },
  "status": 200
}
The API response shows the message parameter for each scenario to the customer.
Experian Freeze First Name: Any
Last Name: Anderson
DOB: 01/01/2001
{
  "success": true,
  "data": {
    "applicationId": "260730005HUT",
    "applicationStatus": "PENDING",
    "applicationSubStatus": "CREDIT_FREEZE",
    "message": "Thank you for starting your application for a Snap-branded offering. It looks like you have a credit freeze in place. Please follow the emailed instructions we sent to remove your credit freeze and reapply with Snap.",
    "approvedAmount": "3090.00",
    "applicationType": "LTO",
    "currencyCode": "USD",
    "applicationCreateTime": "2026-07-30T14:25:24.628Z",
    "applicationUpdateTime": "2026-07-30T14:25:24.628Z",
    "additionalInformation": {
      "customerInformation": "Verified",
      "cartInformation": "Verified",
      "bankInformation": "Verified",
      "incomeInformation": "Verified",
      "cardInformation": "Pending"
    },
    "stbs": false,
    "cohortPI": "0023176a-e758-4711-b36a-83b44c048b18"
  },
  "status": 200
}
The API response shows the message parameter for each scenario to the customer.
DataX First Name: Any
Last Name: Williams
DOB: 01/01/2001
{
  "success": true,
  "data": {
    "applicationId": "260731004DFL",
    "applicationStatus": "PENDING",
    "applicationSubStatus": "CREDIT_FREEZE",
    "message": "Thank you for starting your application for a Snap-branded offering. It looks like you have a credit freeze in place. Please follow the emailed instructions we sent to remove your credit freeze and reapply with Snap.",
    "approvedAmount": "1980.00",
    "applicationType": "LTO",
    "currencyCode": "USD",
    "applicationCreateTime": "2026-07-31T16:08:30.943Z",
    "applicationUpdateTime": "2026-07-31T16:08:30.943Z",
    "additionalInformation": {
      "customerInformation": "Verified",
      "bankInformation": "Verified",
      "incomeInformation": "Verified",
      "cartInformation": "Verified",
      "cardInformation": "Pending"
    },
    "stbs": false,
    "cohortPI": "66e4f63b-a207-4f81-978a-7effd23e62cc"
  },
  "status": 200
}
The API response shows the message parameter for each scenario to the customer.
Experian - Extended Alert First Name: Any
Last Name: Taylor
DOB: 01/01/2002
{
  "success": true,
  "data": {
    "applicationId": "260730005JUT",
    "applicationStatus": "PENDING",
    "applicationSubStatus": "EXTENDED_ALERT_NO_PHONE_MATCH",
    "message": "Thank you for starting your application for a Snap-branded offering. It looks like you have a fraud alert in place. We're going to call you to verify your identity.",
    "approvedAmount": "3590.00",
    "applicationType": "LTO",
    "currencyCode": "USD",
    "applicationCreateTime": "2026-07-30T14:25:27.577Z",
    "applicationUpdateTime": "2026-07-30T14:25:27.577Z",
    "additionalInformation": {
      "customerInformation": "Verified",
      "cartInformation": "Verified",
      "bankInformation": "Verified",
      "incomeInformation": "Verified",
      "cardInformation": "Pending"
    },
    "stbs": false,
    "cohortPI": "095b9b23-7bf0-45ae-a279-2e394d2d18be"
  },
  "status": 200
}
The API response shows the message parameter for each scenario to the customer.
DataX Extended First Name: Any
Last Name: Garcia
DOB: 01/01/2001
{
  "success": true,
  "data": {
    "applicationId": "2607300058UT",
    "applicationStatus": "PENDING",
    "applicationSubStatus": "EXTENDED_ALERT_NO_PHONE",
    "message": "Thank you for starting your application for a Snap-branded offering. It looks like you have a fraud alert in place. Please follow the emailed instructions we sent you and reapply.",
    "approvedAmount": "3590.00",
    "applicationType": "LTO",
    "currencyCode": "USD",
    "applicationCreateTime": "2026-07-30T14:24:41.043Z",
    "applicationUpdateTime": "2026-07-30T14:24:41.043Z",
    "additionalInformation": {
      "customerInformation": "Verified",
      "cartInformation": "Verified",
      "bankInformation": "Verified",
      "incomeInformation": "Verified",
      "cardInformation": "Pending"
    },
    "stbs": false,
    "cohortPI": "1b55f9da-3f69-4541-a276-bccf51050d6d"
  },
  "status": 200
}
The API response shows the message parameter for each scenario to the customer.
Clarity Extended First Name: Any
Last Name: Taylor
DOB: 01/01/2002
{
  "success": true,
  "data": {
    "applicationId": "2607300059UT",
    "applicationStatus": "PENDING",
    "applicationSubStatus": "EXTENDED_ALERT_NO_PHONE_MATCH",
    "message": "Thank you for starting your application for a Snap-branded offering. It looks like you have a fraud alert in place. We're going to call you to verify your identity.",
    "approvedAmount": "3590.00",
    "applicationType": "LTO",
    "currencyCode": "USD",
    "applicationCreateTime": "2026-07-30T14:24:49.520Z",
    "applicationUpdateTime": "2026-07-30T14:24:49.520Z",
    "additionalInformation": {
      "customerInformation": "Verified",
      "cartInformation": "Verified",
      "bankInformation": "Verified",
      "incomeInformation": "Verified",
      "cardInformation": "Pending"
    },
    "stbs": false,
    "cohortPI": "0dc68389-96f8-4a85-a4da-5d322adfec66"
  },
  "status": 200
}
The API response shows the message parameter for each scenario to the customer.
Initial Clarity First Name: Any
Last Name: Miller
DOB: 01/01/2001
{
  "success": true,
  "data": {
    "applicationId": "260730005BUT",
    "applicationStatus": "PENDING",
    "applicationSubStatus": "PENDING_IDENTITY_VERIFICATION",
    "message": "We're going to ask you a few more questions before going forward. You'll get a Snap Finance SMS message on your phone with a link you can use to answer the questions. When You're done , come on back to this page to resume your application.",
    "approvedAmount": "3650.00",
    "applicationType": "LTO",
    "currencyCode": "USD",
    "applicationCreateTime": "2026-07-30T14:24:51.416Z",
    "applicationUpdateTime": "2026-07-30T14:24:51.416Z",
    "additionalInformation": {
      "customerInformation": "Verified",
      "cartInformation": "Verified",
      "bankInformation": "Verified",
      "incomeInformation": "Verified",
      "cardInformation": "Pending"
    },
    "stbs": false,
    "smsUrl": "http://snapf.in/h33gVqa",
    "cohortPI": "f791ec4c-ffca-468f-83ea-ba186cb73e02"
  },
  "status": 200
}
The API response shows the message parameter for each scenario to the customer.
Experian Initial First Name: Any
Last Name: Davis
DOB: 01/01/2001
{
  "success": true,
  "data": {
    "applicationId": "260730005FUT",
    "applicationStatus": "PENDING",
    "applicationSubStatus": "PENDING_IDENTITY_VERIFICATION",
    "message": "We're going to ask you a few more questions before going forward. You'll get a Snap Finance SMS message on your phone with a link you can use to answer the questions. When You're done , come on back to this page to resume your application.",
    "approvedAmount": "4010.00",
    "applicationType": "LTO",
    "currencyCode": "USD",
    "applicationCreateTime": "2026-07-30T14:25:13.638Z",
    "applicationUpdateTime": "2026-07-30T14:25:13.638Z",
    "additionalInformation": {
      "customerInformation": "Verified",
      "cartInformation": "Verified",
      "bankInformation": "Verified",
      "incomeInformation": "Verified",
      "cardInformation": "Pending"
    },
    "stbs": false,
    "smsUrl": "http://snapf.in/NTRgz5O",
    "cohortPI": "37f7e3ad-b906-4a47-bd0b-abedd27eaec5"
  },
  "status": 200
}
The API response shows the message parameter for each scenario to the customer.
Experian Active Duty First Name: Any
Last Name: Martinez
DOB: 01/01/2001
{
  "success": true,
  "data": {
    "applicationId": "260730005FUT",
    "applicationStatus": "PENDING",
    "applicationSubStatus": "PENDING_IDENTITY_VERIFICATION",
    "message": "We're going to ask you a few more questions before going forward. You'll get a Snap Finance SMS message on your phone with a link you can use to answer the questions. When You're done , come on back to this page to resume your application.",
    "approvedAmount": "4010.00",
    "applicationType": "LTO",
    "currencyCode": "USD",
    "applicationCreateTime": "2026-07-30T14:25:13.638Z",
    "applicationUpdateTime": "2026-07-30T14:25:13.638Z",
    "additionalInformation": {
      "customerInformation": "Verified",
      "cartInformation": "Verified",
      "bankInformation": "Verified",
      "incomeInformation": "Verified",
      "cardInformation": "Pending"
    },
    "stbs": false,
    "smsUrl": "http://snapf.in/NTRgz5O",
    "cohortPI": "37f7e3ad-b906-4a47-bd0b-abedd27eaec5"
  },
  "status": 200
}
The API response shows the message parameter for each scenario to the customer.
Experian, Clarity and DataX Freeze First Name: Any
Last Name: Anderson
DOB: 01/01/2001
{
  "success": true,
  "data": {
    "applicationId": "260730005HUT",
    "applicationStatus": "PENDING",
    "applicationSubStatus": "CREDIT_FREEZE",
    "message": "Thank you for starting your application for a Snap-branded offering. It looks like you have a credit freeze in place. Please follow the emailed instructions we sent to remove your credit freeze and reapply with Snap.",
    "approvedAmount": "3090.00",
    "applicationType": "LTO",
    "currencyCode": "USD",
    "applicationCreateTime": "2026-07-30T14:25:24.628Z",
    "applicationUpdateTime": "2026-07-30T14:25:24.628Z",
    "additionalInformation": {
      "customerInformation": "Verified",
      "cartInformation": "Verified",
      "bankInformation": "Verified",
      "incomeInformation": "Verified",
      "cardInformation": "Pending"
    },
    "stbs": false,
    "cohortPI": "0023176a-e758-4711-b36a-83b44c048b18"
  },
  "status": 200
}
The API response shows the message parameter for each scenario to the customer.
Clarity Freeze and Experian Extended First Name: Any
Last Name: Thomas
DOB: 01/01/2001
{
  "success": true,
  "data": {
    "applicationId": "260730005KUT",
    "applicationStatus": "PENDING",
    "applicationSubStatus": "CREDIT_FREEZE",
    "message": "Thank you for starting your application for a Snap-branded offering. It looks like you have a credit freeze in place. Please follow the emailed instructions we sent to remove your credit freeze and reapply with Snap.",
    "approvedAmount": "3590.00",
    "applicationType": "LTO",
    "currencyCode": "USD",
    "applicationCreateTime": "2026-07-30T14:25:35.386Z",
    "applicationUpdateTime": "2026-07-30T14:25:35.386Z",
    "additionalInformation": {
      "customerInformation": "Verified",
      "cartInformation": "Verified",
      "bankInformation": "Verified",
      "incomeInformation": "Verified",
      "cardInformation": "Pending"
    },
    "stbs": false,
    "cohortPI": "45595b16-4a1e-426e-a0d3-e4b103ea3d50"
  },
  "status": 200
}
The API response shows the message parameter for each scenario to the customer.
IDology First Name: Any
Last Name: Smith
DOB: 05/05/1955
{
  "success": true,
  "data": {
    "applicationId": "260730005RUT",
    "applicationStatus": "PENDING",
    "applicationSubStatus": "PENDING_IDENTITY_VERIFICATION",
    "message": "We're going to ask you a few more questions before going forward. You'll get a Snap Finance SMS message on your phone with a link you can use to answer the questions. When You're done , come on back to this page to resume your application.",
    "approvedAmount": "5000.00",
    "applicationType": "LTO",
    "currencyCode": "USD",
    "applicationCreateTime": "2026-07-30T14:26:08.765Z",
    "applicationUpdateTime": "2026-07-30T14:26:08.765Z",
    "additionalInformation": {
      "customerInformation": "Verified",
      "cartInformation": "Verified",
      "bankInformation": "Verified",
      "incomeInformation": "Verified",
      "cardInformation": "Pending"
    },
    "stbs": false,
    "smsUrl": "http://snapf.in/NIwovCu",
    "cohortPI": "0463a4d1-09cc-4ebb-b932-455976575bc2"
  },
  "status": 200
}
The API response shows the message parameter for each scenario to the customer.
Plaid Bank as Step Up First Name: Any
Last Name: Any
DOB: 02/02/1922
Account Number: 1111222233330000
Bank Number: 011401533
{
  "success": true,
  "data": {
    "applicationId": "260730005MUT",
    "applicationStatus": "PENDING",
    "applicationSubStatus": "PENDING_BANK_VERIFICATION_STEP_UP",
    "message": "We're going to ask you a few more questions before going forward. You'll get a Snap Finance SMS message on your phone with a link you can use to answer the questions. When You're done , come on back to this page to resume your application.",
    "approvedAmount": "5000.00",
    "applicationType": "LTO",
    "currencyCode": "USD",
    "applicationCreateTime": "2026-07-30T14:25:45.708Z",
    "applicationUpdateTime": "2026-07-30T14:25:45.708Z",
    "additionalInformation": {
      "customerInformation": "Verified",
      "cartInformation": "Verified",
      "bankInformation": "Verified",
      "incomeInformation": "Verified",
      "cardInformation": "Pending"
    },
    "stbs": false,
    "smsUrl": "http://snapf.in/EJToJvX",
    "cohortPI": "2a8bcf1c-d328-40ad-a7a7-db17961d2934"
  },
  "status": 200
}
The API response shows the message parameter for each scenario to the customer.