Use the sandbox and production environments

You can interact with Middesk in two different environments (or modes):

  • Sandbox, to test your integration with mock data before going live
  • Production, for real, live businesses and requests

Actions taken in one environment—such as the creation of a Business—do not affect the other environment.

While you can use real data in sandbox mode, the results are fake. To trigger specific results in sandbox mode, use the special values listed below.

Access sandbox mode

Access sandbox mode through the API or in the Dashboard.

To use the API in sandbox mode:

  1. Use a sandbox API key, found in the Dashboard under Developer Settings.
  2. Use the sandbox API URL: https://api-sandbox.middesk.com/v1/.

The API key type and URL must match. You cannot use a production key with a sandbox URL or the other way around.

If using webhooks, you should also define a webhook endpoint for your sandbox events.

Example sandbox business attributes

One major benefit of using the sandbox environment is that you can walk through various example scenarios that you might encounter when you Create a Business.

To do so, include one (or more) of the specified values in the tables below in your Create a Business call. Middesk then returns a response according to that value. This allows you to run specific scenarios and build out your integration workflow accordingly.

Mix-and-match any of the values found on the table to create unique scenarios. For example, you can create a business with an approximate address match and unverified person using the inputs 223 Grand St., New York, NY 10013 and J Doe, respectively.

If none of the special case inputs listed below are included when creating a Business, Middesk falls back to verifying all information. Given most inputs then, you can expect to receive a Review object with successful tasks.

TypeValueDescription
NameUnregistered BusinessThe business has no Secretary of State filings. The Business returned has no associated registrations.
NameSimilar Name BusinessThe business has a Secretary of State filing with a similar name to the submitted business name. The Name review task indicates that a similar name was found to the submitted name.
NameUnverified Name BusinessThe submitted business name is unverified. The Name review task indicates that a no similar name was found to match the submitted name.
NameCorporationThe business has a formation entity_type matching the type CORPORATION. CORPORATION is the default if there’s no entity type provided.
NamePartnershipThe business has a formation entity_type matching the type PARTNERSHIP.
NameSole ProprietorshipThe business has a formation entity_type matching the type SOLE PROPRIETORSHIP.
NameTrustThe business has a formation entity_type matching the type TRUST.
NameNon ProfitThe business has a formation entity_type matching the type Non Profit.
NameAgentThe business has a formation entity_type matching the type AGENT.
NameLLCThe business has a formation entity_type matching the type LLC.
NameYoung BusinessThe business was formed 10 days ago. The formation date is ten days before the current date.
NameA business name containing the phrase “short analyst review”This simulates a standard case of a business being flagged for Middesk’s Analyst-in-the-Loop flow by delaying the completion of the Identity order by 2 minutes. After 2 minutes the business moves from status: pending to status: in_review, results are returned depending on the other trigger values provided, and a business.updated webhook sends if set up for your account.
NameA business name containing the phrase “long analyst review”This simulates a long-running case of a business being flagged for Middesk’s Analyst-in-the-Loop flow by delaying the completion of the Identity order by 10 minutes. After 10 minutes the business moves from status: pending to status: in_review, results are returned depending on the other trigger values provided, and a business.updated webhook sends if set up for your account.
NameBusiness from WebsiteThis simulates business name verification using website data, which is an alternative data source. The business name is verified by a Website.
NameBusiness from LinkedInThis simulates business name verification using LinkedIn data, which is an alternative data source. The business name is verified by a Profile::LinkedIn.
TypeValueDescription
Address123 Grand St., New York, NY 10013Unable to identify a match to the submitted Office Address. The submitted address is not found to match any address listed in Business records.
Address223 Grand St., New York, NY 10013Identified a similar address. The submitted address is similar to an address that has been found.
Address423 Grand St., New York, NY 10013Identified an approximate address. Identified an address within 0.2 miles of the submitted Office Address.
AddressNew York, NYIdentified an incomplete address. Identified a partial match with a submitted address that is incomplete.
Address - CMRAInclude cmra in address_line1 or full_address (like 991 cmra st., New York, NY 10013). You may also combine this with Office Address-Verification values. For example, 423 Grand St. cmra triggers an Approximate Match + CMRA task.Identified a CMRA address. Submitted Office Address is zoned by USPS as a Commercial Mail Receiving Agency.
Address - Registered AgentInclude registered agent in address_line1 or full_address (like 991 registered agent st., New York, NY 10013). You may also combine this with Office Address-Verification values. For example, 423 Grand St. registered agent triggers an Approximate Match and Registered Agent task.Identified a Registered Agent address: Submitted Office Address is actually the address of a Registered Agent, not the actual business.
Address - DeliverabilityInclude undeliverable inaddress_line1 or full_address (like 991 st. undeliverable, New York, NY 10013). You may also combine this with Office Address-Verification values. For example, 423 Grand St. undeliverable triggers an Approximate Match and Undeliverable task.Identified an Undeliverable address: The USPS is unable to deliver mail to the submitted Office Address.
AddressBusiness Name = Business from WebsiteThis simulates address verification using website data, which is an alternative data source. The address is verified by a Website.
AddressBusiness Name = Business from LinkedInThis simulates address verification using LinkedIn data, which is an alternative data source. The address is verified by a Profile::LinkedIn.
TypeValueDescription
SOS Filings - DomesticBusiness Name = Domestic MissingMissing Domestic Secretary of State Filing: The business has no domestic filing.
SOS Filings - DomesticBusiness Name = Domestic InactiveDomestic Secretary of State Filing is Inactive: Inactive domestic filing found.
SOS Filings - DomesticBusiness Name = Domestic UnknownUnable to detect status of Domestic Filing: No domestic filing status provided.
SOS Filings - Partially InactiveBusiness Name = Partial InactiveAt least one Secretary of state filing is inactive and another active: At least one filing is active. Another inactive.
TypeValueDescription
entity_typeCORPORATIONThis causes the entity_type_match insight to return a failure.
entity_typeLLCThis causes the entity_type_match insight to return a success.
TypeValueDescription
PersonJ DoeUnable to identify a match to the submitted person. The person input results in an unverified Person, meaning there’s no match found to the Person’s name on any Business record.
TypeValueDescription
TIN110000099TIN Name mismatch. The submitted TIN was found to be associated with a different entity name.
TIN111222333TIN Name unknown and issued. The submitted TIN’s status is unknown. The TIN’s issued status is issued.
TIN444555666TIN Name unknown and not issued This TIN returns unverified with the submitted name and is also marked as unissued.
TINtin = 222333444, Person = Jane Match. If SSN or SSN and EIN is added to the end of the Person name, then the returned tin_type changes accordinglyTIN Name matches the submitted person. The submitted TIN is associated with the submitted person.
TINBusiness name ends with SSN or SSN and EINTIN type changed. The submitted TIN has a tin_type of whichever type is added to the submitted business name.
TIN333444555IRS Unavailable. The IRS is unavailable at this time. TIN is rerun once the IRS is available again
TypeValueDescription
BankruptcyA business name containing the word “bankruptcy”.The business has a bankruptcy. The Business has a bankruptcy attached.
TypeValueDescription
WatchlistA Business name or Person name containing the phrase “watchlist hit”.The business or person has a watchlist hit on them.
TypeValueDescription
Industry ClassificationAny business nameThe business’ website has an industry classification.
Industry ClassificationA business name containing the words “highriskThe business’ website has an industry classification with a high risk result.
Industry ClassificationWebsite URL containing highriskIncludes a result in a high-risk category.
Industry ClassificationWebsite URL with anything elseResults only in low-risk categories.
TypeValueDescription
NPI RecordsA business named Healthcare ProviderThis returns a business with NPI records.
TypeValueDescription
FMCSA RegistrationsA business named Trucking BusinessThis returns a business with FMCSA records.
TypeValueDescription
PersonA person with a provided first_name, last_name, and SSN, with the last name containing bankruptcyWhen people bankruptcies are ordered, the provided person has a bankruptcy returned on them.
TypeValueDescription
Person with KYC fieldsAny person with KYC fieldsAll of the fields present on a sandbox Socure KYC response are populated. Note: KYC is a premium feature.
TypeValueDescription
adverse_mediaA business name containing “adverse media highriskThis results in a High Risk result for adverse media (identity/business_verification_verify and adverse_media must be ordered on the business).
adverse_mediaA business name containing “adverse media lowriskThis results in a Low Risk result for adverse media (identity/business_verification_verify and adverse_media must be ordered on the business).
adverse_mediaA business name containing “adverse media moderateriskThis results in a Moderate Risk result for adverse media (identity/business_verification_verify and adverse_media must be ordered on the business).
TypeValueDescription
PersonA person name containing first_name Al, last_name CaponeThis returns a Found result for People Criminal Records.

Differences between sandbox and production

The table below highlights key differences between sandbox and production environments.

FeatureSandboxProduction
Report depthLimited data variance covering the most common integration use cases.Full data including multiple registration records, addresses, officers, and more.
Business statusesAll statuses supported except in_audit.All statuses supported, including in_audit.
DocumentsAvailable for all businesses.Premium feature—contact sales@middesk.com to enable automatic ordering.
LiensAvailable for all businesses.Premium feature—contact sales@middesk.com to enable automatic ordering.
LitigationsNot automatic; requires production enablement.Premium feature—contact sales@middesk.com to enable.
SignalNot automatic; requires production enablement.Separate feature—contact sales@middesk.com to enable. Once enabled, test Signal through the Middesk Dashboard, API, or CSV upload for batch testing.
Industry classificationUse test URLs to trigger different results (see example sandbox business attributes above).Real-time classification based on actual business websites.
MonitoringUse test inputs to simulate monitoring events (see below).Real monitoring events based on actual business changes.
Business batches
Both sandbox and production support creating businesses in batches. Use the Business Batch object to create many businesses at once via CSV upload, enabling you to perform different verification scenarios as needed.

Try sandbox testing scenarios

Monitoring

To test monitoring, create a business with the inputs from the table below. The business automatically has a monitor with the corresponding event type. After a minute, the business and its records update accordingly to simulate the occurrence of that event, which you can receive by webhook, looking in the Dashboard, or making Retrieve a Business API calls.

Event typeInput fieldValueDescription
watchlist_result.createdBusiness nameWatchlist Result Created IncA new Watchlist Result is created for the Business.
tin.retrievedTIN111222333The TIN is initially unknown and then becomes verified.
registration.updatedBusiness nameMonitoring Registration.UpdatedA registration associated is updated and a registration.updated officers, status, addresses fields are updated.
lien.terminatedBusiness nameMonitoring Lien.TerminatedA lien terminated event is emitted. Note: ucc_liens or liens must be ordered.
lien.foundBusiness nameMonitoring Lien.FoundA lien found event is emitted. Note: ucc_liens or liens must be ordered.

Lien Filing

To test Lien Filing in sandbox mode, you must have Lien Filing enabled in production. Contact sales@middesk.com to get it enabled for your account.

Once enabled, you test with the POST /liens endpoint in sandbox.

Approximately thirty seconds after you hit the POST /liens endpoint, Middesk transitions the lien status to filed to mimic the time it takes Middesk to process your request.

At this point, a production filing would have been submitted to the government, but no UCC-1 Document is associated with the lien, and this is the case in sandbox too. After approximately another thirty seconds, Middesk transitions the lien status to open to mimic the time it takes the government to process the filing. At this point, a production filing would have a UCC-1 document, and a blank UCC-1 document is present on the Lien in sandbox to reflect this.

Get a demo
Contact your account manager or contact sales to inquire about access.