Webhooks Guide

What are Webhooks

Put into simple terms, a webhook is an automated message that is sent to an outside app whenever a specified event occurs.

Getting a bit more technical, a webhook is referred to as an HTTP POST request or and HTTP Callback that has been triggered by an event notification. This request stores data in a JSON format and gets registered as a webhook URL. Once that has been completed, the webhook can be used to direct the information to wherever you may need.


Array Webhooks

The process for setting up a webhook with Array begins with a client providing us with a Client ID and a listener URL where we can then send the webhooks. Listener URLs for both the Production and Sandbox environments of a client can be utilized if desired. Upon receiving our webhook, its content will be available in a JSON format. These listener URLs ought to be setup on the client’s end to parse the webhooks sent by Array, from there they can be utilized however you may prefer (e.g., they could be used to pass along emails relating to alert notifications)

For a list of events that can trigger Array’s Webhooks, please refer to our Webhook Events documentation.

To learn more about our Credit Bureau alerts, checkout our TransUnion, Equifax, and Experian Alerts pages.

For each webhook event, you can review when the event occurs, an example payload, and descriptions about the payload object parameters.


Array Alert Webhook Example

curl --location --request POST 'https://ABCD.com/your_listener_url' \
--header 'Content-Type: application/json' \
--data-raw '{
  "service": "alerts",
  "event": "push",
  "method": "push",
  "details": {
    "alertDetails": {
      "disputeStatus": "Completion"
    },
    "alertId": 51793712,
    "appKey": "60CDFC3B-188E-41B8-A475-D495CC4645F2",
    "bureau": "efx",
    "alertType": "AccountActivityDesignatorChangeAlert",
    "clientKey": "00000000-0000-0000-0000-000000000000"
  }
}'

FAQ

  1. Is there any authentication in place on Array’s webhooks that certifies they are from Array?

    At this time, there is no authentication on Array’s webhooks but client’s can whitelist our API address to ensure that they receive webhooks coming from Array.

  2. What are the possible disputeStatus values in the alert payload?

    The only disputeStatus values are "Submission" and "Completion". This is information being directly passed along from the bureaus.

  3. What are the possible values for status when querying for dispute status using GET /api/disputes/v2/tui?

    Below are the possible status which come with details of what on the credit file was impacted. This is displayed to the consumer in the dispute portal:

    STATUS Description
    DELETED The disputed item(s) was removed from your credit report
    DISPUTED INFORMATION UPDATED A change was made to the item(s) based on your dispute
    DISPUTED INFORMATION AND OTHER INFORMATION UPDATED A change was made to the item(s) based on your dispute and other information has also changed
    REINSERTED This previously deleted item(s) has been verified; therefore, it has been added back to your credit report
    VERIFIED AND UPDATED The disputed item(s) was verified as belonging to you and information has changed or been updated to reflect recent activity
    VERIFIED AS ACCURATE The disputed item was verified as accurate
    VERIFIED AS ACCURATE AND UPDATED The disputed item(s) was verified as accurate; however, other information has also changed
  4. If I am ordering 3B reports, is it possible to pass along the 3B report key to 1B widgets?

    Yes, you can pass the "live" 3B reportKey to the 1B report web component. In this case, it doesn't matter whether you pass "live=true" to it or not, since the report referenced by the reportKey was already generated using "live=true".