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.
Access sandbox mode through the API
Access sandbox mode in the Dashboard
To use the API in sandbox mode:
- Use a sandbox API key, found in the Dashboard under Developer Settings.
- 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.
Name statuses
| Type | Value | Description |
|---|---|---|
| Name | Unregistered Business | The business has no Secretary of State filings. The Business returned has no associated registrations. |
| Name | Similar Name Business | The 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. |
| Name | Unverified Name Business | The submitted business name is unverified. The Name review task indicates that a no similar name was found to match the submitted name. |
| Name | Corporation | The business has a formation entity_type matching the type CORPORATION. CORPORATION is the default if there’s no entity type provided. |
| Name | Partnership | The business has a formation entity_type matching the type PARTNERSHIP. |
| Name | Sole Proprietorship | The business has a formation entity_type matching the type SOLE PROPRIETORSHIP. |
| Name | Trust | The business has a formation entity_type matching the type TRUST. |
| Name | Non Profit | The business has a formation entity_type matching the type Non Profit. |
| Name | Agent | The business has a formation entity_type matching the type AGENT. |
| Name | LLC | The business has a formation entity_type matching the type LLC. |
| Name | Young Business | The business was formed 10 days ago. The formation date is ten days before the current date. |
| Name | A 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. |
| Name | A 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. |
| Name | Business from Website | This simulates business name verification using website data, which is an alternative data source. The business name is verified by a Website. |
| Name | Business from LinkedIn | This simulates business name verification using LinkedIn data, which is an alternative data source. The business name is verified by a Profile::LinkedIn. |
Address statuses
| Type | Value | Description |
|---|---|---|
| Address | 123 Grand St., New York, NY 10013 | Unable to identify a match to the submitted Office Address. The submitted address is not found to match any address listed in Business records. |
| Address | 223 Grand St., New York, NY 10013 | Identified a similar address. The submitted address is similar to an address that has been found. |
| Address | 423 Grand St., New York, NY 10013 | Identified an approximate address. Identified an address within 0.2 miles of the submitted Office Address. |
| Address | New York, NY | Identified an incomplete address. Identified a partial match with a submitted address that is incomplete. |
| Address - CMRA | Include 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 Agent | Include 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 - Deliverability | Include 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. |
| Address | Business Name = Business from Website | This simulates address verification using website data, which is an alternative data source. The address is verified by a Website. |
| Address | Business Name = Business from LinkedIn | This simulates address verification using LinkedIn data, which is an alternative data source. The address is verified by a Profile::LinkedIn. |
Secretary of State registration statuses
Entity types
Person statuses
TIN statuses
Bankruptcy
Watchlist
Industry classification
Liens search
NPI records
FMCSA records
People bankruptcy
Socure KYC
Adverse media
People criminal history
Differences between sandbox and production
The table below highlights key differences between sandbox and production environments.
| Feature | Sandbox | Production |
|---|---|---|
| Report depth | Limited data variance covering the most common integration use cases. | Full data including multiple registration records, addresses, officers, and more. |
| Business statuses | All statuses supported except in_audit. | All statuses supported, including in_audit. |
| Documents | Available for all businesses. | Premium feature—contact sales@middesk.com to enable automatic ordering. |
| Liens | Available for all businesses. | Premium feature—contact sales@middesk.com to enable automatic ordering. |
| Litigations | Not automatic; requires production enablement. | Premium feature—contact sales@middesk.com to enable. |
| Signal | Not 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 classification | Use test URLs to trigger different results (see example sandbox business attributes above). | Real-time classification based on actual business websites. |
| Monitoring | Use 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 theBusiness 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.
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.