Deck provides two environments for making connections; Sandbox and Live. Jobs run the same way in both environments, but they differ in two important ways: the credentials you use and the data you receive. Make sure you are using the correct keys with the correct environment!
Keep in mind
Data cannot be moved between environments — Sandbox data stays in Sandbox, and Live data stays in Live.

Sandbox

Just a heads-up!
All the data in the Sandbox environment is fake. It’s designed to help you get familiar with how Jobs work before executing them on real data sources.
Once you’ve created a free account, you’ll immediately receive your Sandbox secret through the Dashboard. You can use it to test all of your Jobs and ensure everything works as expected. When you’re ready to interact with real data, you can upgrade to get your Production secret from your Dashboard.

Using the Sandbox

To use the Sandbox environment, send your requests to:
https://sandbox.deck.co/api/v1

Let’s give it a try!

Open the API Reference in a new tab. First, here is how to run EnsureConnection to get your Access token:
  • Click Try it
  • Use your Client ID and Sandbox secret to authenticate (from the Dashboard).
  • Inject EnsureConnection in the job_code field.
  • Click Add new property and enter username, then press Enter.
  • Inject any value you want as the username (it doesn’t matter in Sandbox)
  • Click Add new property and enter password, then press Enter.
  • Inject any value you want as the password (it doesn’t matter in Sandbox)
  • Click Add new property and enter source_guid, then press Enter.
  • Inject fee328b0-fc48-4699-a245-5de34313952e (this is the source_guid for the source Aetna)
  • Click Send on top.
The response will come via webhook to the Webhook URL you have specified in your Dashboard. Alternatively, you can copy/paste the following curl request and inject the required fields.
curl --location 'https://sandbox.deck.co/api/v1/jobs/submit' \
--header 'x-deck-client-id: fd0661a5-82ea-4310-244e-08ddad192ea4' \
--header 'x-deck-secret: 193472db-3a3c-4f07-62aa-08ddad192ea6' \
--header 'Content-Type: application/json' \
--data '{
  "job_code": "EnsureConnection",
  "input": {
    "password": "<password>",
    "username": "<username>",
    "source_guid": "fee328b0-fc48-4699-a245-5de34313952e"
  }
}'

Now, let’s call FetchBalance to receive a balance. The balance you will receive is fake, because we’re in Sandbox, but it should give you an idea of the sort of webhooks FetchBalance would return.
Here is how to do it from the same API Reference page.
  • Click Try it
  • Use your Client ID and Sandbox secret to authenticate (from the Dashboard).
  • Inject FetchBalance in the job_code field.
  • Click Add new property and enter access_token, then press Enter.
  • Inject the access token value you got from the earlier EnsureConnection.
  • Click Send on top.
Check your webhooks. Here is the curl request.
curl --location 'https://sandbox.deck.co/api/v1/jobs/submit' \
--header 'x-deck-client-id: $YOUR_DECK_CLIENT_ID' \
--header 'x-deck-secret: $YOUR_DECK_ENVIRONMENT_SECRET' \
--header 'Content-Type: application/json' \
--data '{
  "job_code": "FetchBalance",
  "input": {
    "access_token": "<access_token>"
  }
}'
There you have it!
You now know how to make calls to our API.

Live

Unlike the Sandbox, the Live environment connects to actual data sources. You can receive a Production secret by upgrading your subscription via the Dashboard.
https://live.deck.co/api/v1
Use your Client ID and Production secret for authentication. The method, however, is exactly like the Sandbox.
Know your environmentsThe Production environment uses the Live API and connects to real data.
The Sandbox environment uses the Sandbox API and works entirely with mock data.