> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.middesk.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.middesk.com/_mcp/server.

# Use the sandbox and production environments

> Learn how to use Middesk's sandbox and production environments to test your integration with mock data before processing real business verifications.

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 [trigger values](#sandbox-trigger-values) below. For more flexible testing with configurable scenarios and reusable test businesses, see [Use the enhanced sandbox](/enhanced-sandbox).

## Access sandbox mode

Access sandbox mode through the API or in the Dashboard.

#### Access sandbox mode through the API

To use the API in sandbox mode:

1. Use a sandbox API key, found in the Dashboard under [Developer Settings](https://app.middesk.com/settings/developer).
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.

#### Access sandbox mode in the Dashboard

In the Dashboard, access the sandbox environment under **Environment**.

![Select the environment](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/middesk.docs.buildwithfern.com/e472baabc519daa2ae5523dd7c3220eed1123825b6c023ef6bb2023d364e9fde/docs/assets/get/environments.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260912%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260912T051353Z&X-Amz-Expires=604800&X-Amz-Signature=fa815dbb6ef345606e87c74dbcce698c302173441d7a954c0d9af62575764953&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

The Dashboard shows a banner indicating sandbox mode.

## Sandbox trigger values

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](/api-reference/business-verification/businesses/create-a-business).

To do so, include one (or more) of the trigger values in the tables below in your [Create a Business](/api-reference/business-verification/businesses/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 trigger values 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** in`address_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 - PO Box           | Include **PO Box** in `address_line1` or `full_address` (like PO Box 123, New York, NY 10013). You may also combine this with Office Address-Verification values.                                                                                                                              | Identified a PO box address. The submitted Office Address is a USPS Post Office Box, reported under the `private_mailbox` address risk indicator with a `po_box` value. |
| Address - Virtual Office   | Include **virtual office** in `address_line1` or `full_address` (like 991 virtual office st., New York, NY 10013). For example, 423 Grand St. virtual office triggers an Approximate Match plus a Virtual Address result.                                                                      | Identified a virtual address. The submitted Office Address is the location of a virtual address provider, reported under the `virtual_address` address risk indicator.  |
| 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

| Type                             | Value                             | Description                                                                                                             |
| -------------------------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| SOS Filings - Domestic           | Business Name = Domestic Missing  | Missing Domestic Secretary of State Filing: The business has no domestic filing.                                        |
| SOS Filings - Domestic           | Business Name = Domestic Inactive | Domestic Secretary of State Filing is Inactive: Inactive domestic filing found.                                         |
| SOS Filings - Domestic           | Business Name = Domestic Unknown  | Unable to detect status of Domestic Filing: No domestic filing status provided.                                         |
| SOS Filings - Partially Inactive | Business Name = Partial Inactive  | At least one Secretary of state filing is inactive and another active: At least one filing is active. Another inactive. |

#### Entity types

| Type          | Value       | Description                                                      |
| ------------- | ----------- | ---------------------------------------------------------------- |
| `entity_type` | CORPORATION | This causes the `entity_type_match` insight to return a failure. |
| `entity_type` | LLC         | This causes the `entity_type_match` insight to return a success. |

#### Person statuses

| Type   | Value | Description                                                                                                                                                                       |
| ------ | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Person | J Doe | Unable 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. |

#### TIN statuses

| Type | Value                                                                                                                                                | Description                                                                                                                        |
| ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| TIN  | 110000099                                                                                                                                            | TIN Name mismatch. The submitted TIN was found to be associated with a different entity name.                                      |
| TIN  | 111222333                                                                                                                                            | TIN Name unknown and issued. The submitted TIN's status is unknown. The TIN's issued status is issued.                             |
| TIN  | 444555666                                                                                                                                            | TIN Name unknown and not issued This TIN returns unverified with the submitted name and is also marked as unissued.                |
| TIN  | tin = 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 accordingly | TIN Name matches the submitted person. The submitted TIN is associated with the submitted person.                                  |
| TIN  | Business name ends with SSN or SSN and EIN                                                                                                           | TIN type changed. The submitted TIN has a `tin_type` of whichever type is added to the submitted business name.                    |
| TIN  | 333444555                                                                                                                                            | IRS Unavailable. The IRS is unavailable at this time. TIN is rerun once the IRS is available again                                 |
| TIN  | 123456789                                                                                                                                            | TIN Not Found. This TIN returns unverified and the IRS does not have a record for the submitted TIN and business name combination. |

#### Bankruptcy

| Type       | Value                                                 | Description                                                            |
| ---------- | ----------------------------------------------------- | ---------------------------------------------------------------------- |
| Bankruptcy | A business name containing the word "**bankruptcy**". | The business has a bankruptcy. The Business has a bankruptcy attached. |

#### Watchlist

| Type      | Value                                                                     | Description                                         |
| --------- | ------------------------------------------------------------------------- | --------------------------------------------------- |
| Watchlist | A Business name or Person name containing the phrase "**watchlist hit**". | The business or person has a watchlist hit on them. |

#### Industry classification

| Type                    | Value                                               | Description                                                                   |
| ----------------------- | --------------------------------------------------- | ----------------------------------------------------------------------------- |
| Industry Classification | Any business name                                   | The business' website has an industry classification.                         |
| Industry Classification | A business name containing the words "**highrisk**" | The business' website has an industry classification with a high risk result. |
| Industry Classification | Website URL containing `highrisk`                   | Includes a result in a high-risk category.                                    |
| Industry Classification | Website URL with anything else                      | Results only in low-risk categories.                                          |

#### Liens search

| Type                     | Value                                                         | Description                                                                                                  |
| ------------------------ | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| No Liens Found           | Any business name                                             | No liens are found. The liens search returns no records for this business. Note: Liens is a premium feature. |
| Liens Found - Blanket    | Any business name containing the phrase "**liens found**"     | By default, blanket liens are found.                                                                         |
| Liens Found - Collateral | Any business name containing the phrase "**collateral lien**" | Collateral liens are found.                                                                                  |

#### NPI records

| Type        | Value                                    | Description                               |
| ----------- | ---------------------------------------- | ----------------------------------------- |
| NPI Records | A business named **Healthcare Provider** | This returns a business with NPI records. |

#### FMCSA records

| Type                | Value                                  | Description                                 |
| ------------------- | -------------------------------------- | ------------------------------------------- |
| FMCSA Registrations | A business named **Trucking Business** | This returns a business with FMCSA records. |

#### People bankruptcy

| Type   | Value                                                                                                 | Description                                                                                  |
| ------ | ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| Person | A person with a provided `first_name`, `last_name`, and SSN, with the last name containing bankruptcy | When people bankruptcies are ordered, the provided person has a bankruptcy returned on them. |

#### Socure KYC

| Type                   | Value                      | Description                                                                                                                          |
| ---------------------- | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| Person with KYC fields | Any person with KYC fields | All of the fields present on a sandbox [Socure](https://www.socure.com/) KYC response are populated. Note: KYC is a premium feature. |

#### Adverse media

| Type            | Value                                                       | Description                                                                                                                                             |
| --------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `adverse_media` | A business name containing "**adverse media highrisk**"     | This results in a High Risk result for adverse media (identity/`business_verification_verify` and `adverse_media` must be ordered on the business).     |
| `adverse_media` | A business name containing "**adverse media lowrisk**"      | This results in a Low Risk result for adverse media (identity/`business_verification_verify` and `adverse_media` must be ordered on the business).      |
| `adverse_media` | A business name containing "**adverse media moderaterisk**" | This results in a Moderate Risk result for adverse media (identity/`business_verification_verify` and `adverse_media` must be ordered on the business). |

#### People criminal history

| Type   | Value                                                            | Description                                              |
| ------ | ---------------------------------------------------------------- | -------------------------------------------------------- |
| Person | A person name containing **`first_name` Al, `last_name` Capone** | This returns a Found result for People Criminal Records. |

## 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](/lifecycle-of-business#business-status) supported except `in_audit`.         | All [statuses](/lifecycle-of-business#business-status) supported, including `in_audit`.                                                                                          |
| Documents               | Available for all businesses.                                                               | Premium feature—contact [sales@middesk.com](mailto:sales@middesk.com) to enable automatic ordering.                                                                              |
| Liens                   | Available for all businesses.                                                               | Premium feature—contact [sales@middesk.com](mailto:sales@middesk.com) to enable automatic ordering.                                                                              |
| Litigations             | Not automatic; requires production enablement.                                              | Premium feature—contact [sales@middesk.com](mailto:sales@middesk.com) to enable.                                                                                                 |
| Signal                  | Not automatic; requires production enablement.                                              | Separate feature—contact [sales@middesk.com](mailto: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 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](/monitor-activity), 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 type                 | Input field   | Value                           | Description                                                                                                     |
| -------------------------- | ------------- | ------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `watchlist_result.created` | Business name | Watchlist Result Created Inc    | A new Watchlist Result is created for the Business.                                                             |
| `tin.retrieved`            | TIN           | 111222333                       | The TIN is initially unknown and then becomes verified.                                                         |
| `registration.updated`     | Business name | Monitoring Registration.Updated | A registration associated is updated and a registration.updated officers, status, addresses fields are updated. |
| `lien.terminated`          | Business name | Monitoring Lien.Terminated      | A lien terminated event is emitted. Note: `ucc_liens` or liens must be ordered.                                 |
| `lien.found`               | Business name | Monitoring Lien.Found           | A lien found event is emitted. Note: `ucc_liens` or liens must be ordered.                                      |

### Lien filing

To test [Lien Filing](/assess-risk/file-lien) in sandbox mode, you must have Lien Filing enabled in production. Contact [sales@middesk.com](mailto:sales@middesk.com) to get it enabled for your account.

Once enabled, you test with the [POST /liens endpoint](/api-reference/business-verification/liens/create-a-lien-for-a-business) 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.

## Next steps

#### [Walk through the quickstart](/quickstart)

Verify your first business using sandbox trigger values.

#### [Use the enhanced sandbox](/enhanced-sandbox)

Configure reusable test scenarios for richer integration testing.

#### [Set up webhooks](/build/webhooks)

Receive real-time notifications for both sandbox and production events.

#### Get a demo

Contact your account manager or [contact sales](https://www.middesk.com/contact-sales) to inquire about access.