Overview

Use Signal to efficiently evaluate business risk and onboard customers.

By leveraging Middesk’s comprehensive data sources, the Signal product instantly provides your team with a detailed compliance and risk profile for prospective customers. Signal returns a set of scores ranging from 0 to 100 and reason codes to help you quickly flag and identify potential risks associated with the business.

Breakdown of Scores

Signal generates a composite score composed of various reason codes, broken down into three key categories: Identification (who is this business?), Verification (is this business legitimate?), and Evaluation (what is the risk associated with this business?). By addressing these critical questions, the Signal scores (ranging from 0.0 to 1.0 via the API and reflected as 0 to 100 in the dashboard) provide businesses with a comprehensive risk assessment.

  • Identification Score: Assesses the core attributes of a business to identify any compliance or risk flags.
    • I301 - The submitted business name is correct
  • Verification Score: Surfaces more granular compliance and risk details and trends.
    • V501 - The SOS registration for all states is active and in good standing
  • Evaluation Score: Examines whether the business poses any operational risks based on its current activities.
    • E1102 - The business has filed for bankruptcy

Reason codes accompany each score, which are displayed on both the dashboard and in the API response under their respective Signal category. Each reason code starts with the capitalized first letter of its corresponding category. For example, the Identification reason code "I301" indicates that "the submitted business name is correct." This reason code aligns with the objective of the Identification score, which is to confirm the business’ identity; in this case, Middesk has verified the legal business name.


Middesk Dashboard

To order a Signal report in the dashboard, navigate to the Signal Icon. To run Signal, you must provide at least the business name and associated address, but submitting TIN/EIN and associated people will provide additional insights on those attributes.

Click the Order Signal button to generate the Signal report.

Once the report is ready, you can order a more detailed Business Verification and Credit Assessment report by clicking the Order Report button in the upper right corner.

In both the Middesk dashboard and through the Create a Signal Batch endpoint, you will also have the ability to run a batch of businesses past Signal. To retrieve the results, use the List All Signals endpoint.


API Quickstart for Signal

Our Quickstart guide will walk you through how to obtain your API key and make your first API request. To learn more about our testing environment, webhooks, and authentication, please refer to our Building with Middesk guide.

  1. Create a Signal Request

    1. The required inputs for the Signal product are the business name and associated address. For additional insights, you can also include optional fields such as TIN/EIN (taxpayer identification number) and associated people for each business. If your application flow collects multiple addresses (i.e., mailing vs. physical addresses) and associated business owners/individuals, you can also pass them through the Create a Signal endpoint. If you plan to store the Signal report as an object in your database with your identifier, pass your external ID in the API request; otherwise, you can use the returned Signal ID for reference.

    Body ParametersRequired vs. Recommended
    Name (string)Required
    Addresses (array of strings)Required
    People (array of strings)Recommended
    TIN (string)Recommended
    External_ID (string)Recommended

  1. Receiving the Signal Response
    1. The Create a Signal endpoint is instant, meaning you will receive an immediate and complete response. Middesk does not provide webhooks for the Signal endpoints as it’s a synchronous workflow. We recommend storing the Signal ID for future reference, along with other relevant fields like reason codes, external ID, or timestamps. If needed, you can always retrieve the complete Signal response later by calling the Retrieve a Signal endpoint.

{
  "object": "signal",
  "id": "d59b244c-540a-4354-822e-2ef705baea36",
  "created_at": "2024-07-29T22:12:16.936Z",
  "external_id": null,
  "name": "Example Business, LLC",
  "tin": null,
  "addresses": [
    "123 Main St., San Francisco, CA 94105"
  ],
  "people": [
    "Business Owner"
  ],
  "score": 0.81,
  "identification_score": 0.91,
  "verification_score": 0.62,
  "evaluation_score": 0.88,
  "reasons": [
    {
      "category": "identification",
      "group": "customer_information",
      "description": "The submitted business name is correct",
      "code": "I301"
    },
    {
      "category": "identification",
      "group": "customer_information",
      "description": "The submitted address belongs to the business",
      "code": "I107"
    },
    {
      "category": "identification",
      "group": "compliance",
      "description": "There are no OFAC or sanctions results for the business",
      "code": "I201"
    },
    {
      "category": "identification",
      "group": "compliance",
      "description": "There are no OFAC or sanctions results for the people submitted",
      "code": "I202"
    },
    {
      "category": "verification",
      "group": "government_filings",
      "description": "The business is registered in only a single state",
      "code": "V102"
    },
    {
      "category": "verification",
      "group": "government_filings",
      "description": "The business is registered in a common formation state",
      "code": "V103"
    },
    {
      "category": "verification",
      "group": "address_risk",
      "description": "At least one submitted address is a commercial address",
      "code": "V749"
    },
    {
      "category": "verification",
      "group": "address_risk",
      "description": "At least one submitted address is a registered agent address",
      "code": "V750"
    },
    {
      "category": "evaluation",
      "group": "fraud",
      "description": "The business was formed more than 2 years ago",
      "code": "E500"
    },
    {
      "category": "evaluation",
      "group": "creditworthiness",
      "description": "The business has never filed for bankruptcy",
      "code": "E1101"
    }
  ],
  "requester": {
    "id": "12572330-aed2-4b8e-8c78-ad700d5ce2ab",
    "type": "user",
    "name": "Requesting User"
  }
}

Integration Guide

The Signal product is flexible and can be adapted to various use cases, designed to fit various use cases depending on your compliance and risk management needs. This guide outlines best practices for two common use cases. If you need further assistance, reach out to our team for personalized guidance at [email protected].

A Top-of-Funnel Compliance and Risk Signal
Signal is a cost-effective way to streamline the compliance onboarding process to maximize conversion and provide a quick risk and compliance indicator. To use Signal as a top-of-funnel indicator, you should start by outlining your compliance/growth program requirements along with your core prospect profiles.

  • For example, is there a compliance/risk requirement around a EIN/TIN match? Is a significant portion of the underlying volume composed of sole proprietors? Does the address need to be validated against an SOS registration, or do you only need to validate that the address is an actual physical location?

Using the overall score, identification, verification, and evaluation scores will immediately indicate where the business falls within your compliance and risk tolerance. Depending on your risk tolerance, the Middek team will provide tailored guidance and recommendations on building your integration based on the Signal score.

For a more comprehensive compliance or risk management program, you can build your scorecard based on Signal’s reason codes. We recommend categorizing these codes into low, medium (potential for manual review), and high risk. You can reference the list of reason codes in the Signal API response to structure your ruleset. Both the TIN Discovery endpoint and Verify report will also help your team build a more robust compliance program, streamlining onboarding and reducing the need for manual reviews.

For cases where your target audience includes sole proprietors or EIN/TIN verification is required, you should enable the TIN + Person Match feature and use our TIN Discovery endpoint and our KYC product. This asynchronous endpoint allows you to submit an EIN or TIN for verification and perform a live validation to confirm the business or individual against the submitted EIN/TIN.

To Use the TIN Discovery Endpoint:

  • Submit a request with the required business or individual details (name, EIN, TIN, or SSN).
  • The endpoint processes the verification asynchronously, typically within a few seconds.
  • You can listen to webhooks for real-time updates, and once the verification is complete, you'll receive a callback with the verification status to confirm the match of the submitted EIN/TIN.

For high-risk cases requiring additional verification, consider using a waterfall approach by integrating Middesk’s Verify product as a fallback to streamline your compliance review. The Verify report offers detailed insights beyond the reason codes and scores provided by Signal, helping you reduce manual reviews and automate decision-making for higher-risk prospects.

  • For example, if the Signal report returns a V502 code (indicating active and good-standing SOS registrations in some states), it may be useful to order a Verify report. The Verify report will provide details on which SOS registrations are inactive and in which states, as well as key information such as incorporation dates and registered officers. These Verify insights offer a clearer view of the business's locations and its SOS registrations.

To Implement the Verify Report:

  • Call the Create a Business endpoint with the required fields, including the business name or DBA for sole proprietors. If you are storing Signal and Verify data points and need to track the relationship between these reports, you can either include the returned Signal ID in the signal_id parameter or provide your own custom ID as the external_id in the API requests.
  • Middesk will then return a comprehensive Verify report with more granular details, building on the Signal reason codes. Similar to our TIN Discovery endpoint, you can set up webhooks to receive real-time updates.
    • When passing the Signal ID, the parameters submitted in the Signal request (such as the business name and associated address) will be used for business identity verification. This means the name and address fields will be optional in the Create Business request if the Signal ID is provided, as we will default to the values from the Signal order.
    • For the TIN and People data points, if these fields were included in the original Signal request, Middesk will automatically submit them. If TIN and People data weren’t part of the Signal order, then you can provide them separately in the Create Business request.
  • Use the Verify report to confirm the business’s identity or flag it for further review.

For document verification, we recommend complementing this with our Document Retrieval product. Middesk’s Web Analysis and NAICS/SIC/MCC products provide extra fraud and risk signals, minimizing the need to manually verify user-reported industry codes and website details. For underwriting use cases, Middesk offers Bankruptcy and Lien Searches (UCC, state, and federal), as well as Lien Filing, to fully support your credit decisioning process.