Version: Current – v2.x

## Sandbox Access

This guide is applicable to partners that have a sandbox account set up. If you do not have a sandbox account, please reach out to your Parallel Markets sales representative or send a request to our sales team [here](/content/contact/index.html).

The sandbox environment is designed to help partners test the Parallel Markets integration, including [client-side SDKs](https://developer.parallelmarkets.com/docs/javascript/), [server-side APIs](https://developer.parallelmarkets.com/docs/server/), and [webhooks](https://developer.parallelmarkets.com/docs/webhooks/). This guide aims to help you get up and running as quickly as possible, as well as outlining some sandbox-specific behavior to be aware of.

## Important Sandbox Characteristics

The sandbox environment is a test environment. Our team does not run actual accreditation checks; only test or fake documents should be uploaded. Accreditations can be [auto-approved or rejected, at your request](https://developer.parallelmarkets.com/docs/sandbox-quickstart/#accreditation). Identity risk monitoring services will [return dummy sanctions hits, at your request](https://developer.parallelmarkets.com/docs/sandbox-quickstart/#identity).

For partners with production access, any records created in the production environment are billable. Therefore, all testing should be done against the sandbox environment.

### Sandbox Partner Experience

1. As stated above, the [sandbox environment](https://demo.parallelmarkets.com/) is for testing only. All data is assumed to be for test purposes only, and no real checks are performed.
2. Parallel handles partner account setup and access control. If you wish to add additional users to your sandbox account, [contact Parallel for assistance](mailto:ids-partner-integrations@icapital.com). In production, users with the "Admin" or "Controller" role can add and remove users at will.
3. The sandbox environment does not send emails, to permit fake/test email addresses. As a side effect, any typical processes that might require an email in production must be performed manually by Parallel staff (for instance, resetting passwords or 2FA if you lose access).

### Sandbox End-User Experience

The sandbox environment has a different end-user experience than the production environment.

Because we do not send emails in the sandbox environment, the initial screen seen by users asks for a password to allow for ongoing access to a test account. _This experience is unique to the sandbox environment_. In production, users are only asked to confirm their name and email address.

| Sandbox Experience | Production Experience |
| --- | --- |
|  |  |

## Getting Started

You can utilize our [JavaScript SDK](https://developer.parallelmarkets.com/docs/javascript/) on your website to provide a drop-in interface for collecting accreditation and/or identity (KYC/KYB) information to then be verified on Parallel's Case Management system. Additionally, our [Case Management API](https://developer.parallelmarkets.com/docs/server/case-management-api/introduction) can optionally be used server-side to create, read, or update information stored on Parallel.

### Step 1: Confirm Sandbox Access

First, make sure your organization has a sandbox account enabled and that you can log in at **[https://demo.parallelmarkets.com](https://demo.parallelmarkets.com/)** and see your organization's dashboard. If your organization has a current sales contract and you need access to your organization's sandbox account, please [contact Parallel for assistance](mailto:ids-partner-integrations@icapital.com).

Checkpoint: See Your Dashboard

You should now be able to log in and see your organization's dashboard at [demo.parallelmarkets.com](https://demo.parallelmarkets.com/).

### Step 2: Setup Frontend JS SDK

To provide an end-to-end Identity and/or Accreditation flow to your end users, our client-side [JavaScript SDK](https://developer.parallelmarkets.com/docs/javascript/) can be integrated into your website or application. Records that are created based on an end-user completing an identity or accreditation flow will also be screened across our public/private records searches in addition to risk monitoring.

1. The first step is to [create a JavaScript Client](https://developer.parallelmarkets.com/docs/clients) within your dashboard, making sure to keep the `client_id` handy for the next step.
2. Then, you can follow the instructions for loading the [JavaScript SDK](https://developer.parallelmarkets.com/docs/javascript/) and initiating a flow on your website.

For the second step, make sure to indicate that you'd like to use the demo environment for sandbox testing by setting the `environment` [configuration](https://developer.parallelmarkets.com/docs/javascript/configuration) variable with a value of `demo`.

```javascript
Parallel.init({ client_id: 'your_client_id', environment: 'demo' })
```

Demo Environment Configuration

Don't forget to set the `environment` configuration variable to `demo`. Without this, your integration will attempt to communicate with our production environment, which will not work.

Moving to production: Remember to replace the sandbox `client_id` with one from your production environment, and update the `environment` configuration option to "production" before launching your site.

Checkpoint: Test the end user experience

Once you have integrated the SDK you will be able to test the end user experience by clicking on the Parallel Passport button to initiate the flow. Submitted records can be viewed in the dashboard, or optionally, queried via the [API](https://developer.parallelmarkets.com/docs/sandbox-quickstart/#step-3-server-api-integration-optional).

### Step 3: Server API Integration (Optional)

Optionally, you can use the server-side [Case Management API](https://developer.parallelmarkets.com/docs/server/case-management-api/introduction) integration to create, retrieve, or update records from your backend environment. Any records that you create via the API will be monitored for any risk matches (including potential sanctions). The API integration also allows you to read or update any records created from an end-user flow via the client-side integration.

Note: Ensure that you are integrating with our sandbox endpoints listed below. Sandbox API endpoints will begin with `https://demo-api.parallelmarkets.com...`.

#### Endpoints

| Production Endpoint | Sandbox Endpoint |
| --- | --- |
| `https://api.parallelmarkets.com/v2/partner-records/` | `https://demo-api.parallelmarkets.com/v2/partner-records/` |

Demo Environment Configuration

Ensure you are using the Sandbox endpoints listed above. Using the production API endpoints with an [API key](https://developer.parallelmarkets.com/docs/server/api-keys) associated with a sandbox account will fail.

Checkpoint: Test API calls

You should now be able to test making API calls to the sandbox API endpoints using an [API key](https://developer.parallelmarkets.com/docs/server/api-keys).

### Step 4: Handle Webhooks (Optional)

When identity or accreditation information is updated within Parallel Markets, these event notifications can be pushed to your server using [webhooks](https://developer.parallelmarkets.com/docs/webhooks/). This is a good way to listen to event updates, after which you can query the API to obtain specific information regarding the updated data.

### Step 5: Test Possible Outcomes

The sandbox environment supports triggering a various outcomes for identity and accreditation flows for testing purposes. These options are outlined below.

#### Identity

By default, no sanctions matches will be found for any submissions made in the sandbox environment. If you would like to test the behavior of a sanctions match, include the word `sanction` in an individual's last name or a business' name when going through the identity flow. This will result in a sanctions match that will be available in the dashboard, as well as trigger the relevant [identity scope webhooks](https://developer.parallelmarkets.com/docs/webhooks/webhook-events). Alternatively, if you would like to test the behavior of any random risk match, including the word `random` in an individual's last name or a business' name will result in a randomized set of risk flags.

#### Accreditation

1. All new accreditation applications for individuals with a minus sign at the end of their last name (i.e. `John Doe-`) will get automatically rejected within 10 minutes of submission.
2. All new accreditation applications for businesses with a minus sign at the end of their name (i.e. `A Company Inc.-`) will get automatically rejected within 10 minutes of submission.
3. All new accreditation applications for individuals with a plus sign at the end of their last name (i.e. `John Doe+`) will get automatically certified within 10 minutes of submission.
4. All new accreditation applications for businesses with a plus sign at the end of their name (i.e. `A Company Inc.+`) will get automatically certified within 10 minutes of submission.
5. Accreditation applications for individuals and businesses without a plus or minus sign in their name will be automatically canceled 90 days after submission.

Evaluator Type Applications

Note that user and business applications that are created with a request to an evaluator (outside CPA / lawyer / etc) will not be automatically certified unless the evaluator account provides documentation first. If you'd like to test with these application types, make sure to input evaluator contact info for an account you already have access to (make sure to create the account first).

## Troubleshooting

The most common issue when attempting to integrate with the sandbox environment is inadvertently integrating with the production environment. Please ensure you are setting the `environment: "demo"` configuration option in the client-side SDK, and calling the sandbox API with the `demo-api` subdomain ( [https://demo-api.parallelmarkets.com/](https://demo-api.parallelmarkets.com/)...).

If you run into further issues, please reach out to the [Partner Integrations Team](mailto:ids-partner-integrations@icapital.com) with details about your issue, including:

1. Description of the behavior you are experiencing.
2. Description of the expected behavior.
3. Screenshots or screen recordings demonstrating the behavior.
