GETTING STARTED

Get started with Fullscript APIs

introduction

What is Fullscript?

Integration options

Sign up for API key

For AI

HOW TO GUIDES

How-to guides

OAuth overview

OAuth overview

using OAuth

Setup

Request an auth code

Request an access token

Refresh an access token

Revoke an access token

How to test in sandbox

Events overview

How to test your integration in sandbox

The Fullscript sandbox lets you build and validate your integration end to end without touching real practitioners, patients, or orders. The Testing Tool tab on your sandbox application lets you trigger real store actions — supplement orders, lab orders, lab results, and fulfillment events — directly from the API Dashboard, without signing in to the store's own application.

The Testing Tool is available for sandbox applications only. It will not appear on production applications.

fyi
fyi

The Testing Tool is a dashboard feature, not an API. There are no API endpoints for triggering test actions — each button orchestrates a series of actions on the Fullscript back end.

Before you start

You'll need:

  1. An API Dashboard account and application. Create an application for each environment you're targeting (US sandbox, CA sandbox). See Sign up for API key.
  2. A practitioner account on the matching sandbox environment:

Applications and stores are region-specific. A US sandbox application can only connect to US sandbox stores, and a CA application to CA stores.

Step 1 — Connect a store

Connecting a Sandbox store lets you trigger actions in that store and receive the resulting webhooks and API data in your integration, without signing in to the store's own application.

  1. Open Connected stores from the account dropdown (your name, top right), or via the Manage stores button on the Testing Tool tab.
  2. Under the region you want (United States or Canada), click Connect a store.
  3. A new tab opens with the Fullscript OAuth sign-in flow. Sign in with your sandbox practitioner credentials.
  4. When the flow completes, close the tab using the button provided. Your connected stores list updates.

Notes:

  • Connected stores are listed per region with their Store, Owner, and Connected date, and a Disconnect action.
  • You can connect multiple stores per region. On the Testing Tool tab, the Store dropdown at the top lets you switch between connected stores in the application's region.
  • Attempting to connect a store that's already connected shows a "store already connected" message.
  • Disconnecting removes only that store's connection; other connections are unaffected.

New sandbox stores come ready for testing: the auto-created practice patient ("Susan Booker (Practice Client)") can place orders immediately, and if a patient's details are incomplete when you create a lab order, the Testing Tool fills in test data automatically.

Step 2 — Feature-specific setup

Labs (US only)

Labs are available for US applications only. To test labs, your US sandbox store must be registered for labs:

  1. Add license information — in your sandbox store, go to Settings → Account → Basic info and click Edit license information. In sandbox, use the test NPI 1111111111.
  2. Go to Catalog → Labs and click Register for labs, then complete the registration flow (Next → Next → Submit → Done). If the button is greyed out, hover over it — a tooltip names the missing field.

For the full labs testing walkthrough, see How to test labs.

Fulfillment

Your store's financial setup must be complete before fulfillment orders can be created — in sandbox and in production. See the store setup requirements in the Fulfillment API documentation.

important
important

Store setup requirements. Before fulfillment orders can be created for a store — sandbox or production — its financial setup must be complete. Configured by Fullscript: wholesale payment terms (net 30) and contracted pricing — contact your account manager. Configured by you: payment details under Store settings → Payments; in sandbox use test values DOB 1901-01-01, SSN 2222, routing 110000000, account 000999999991. To generate test fulfillment orders and simulate events without calling the API, see Step 3 below.

Step 3 — Use the Testing Tool

Open your sandbox application and go to the Testing Tool tab. Select a connected store from the Store dropdown at the top; all tools act on the selected store. The tab has three sections: Supplements, Labs, and Fulfillment API.

Supplements

Create order — creates an order for a patient to trigger the order.placed webhook event.

Click Create Order, select a Patient, and submit. This creates a treatment plan for the patient and places the order for it. On success you'll see a confirmation like "Order R####### created".

Labs (US applications only)

Create lab order — creates a lab order for a patient to trigger the order.placed webhook event.

Click Create Lab Order and select a Patient. Any prerequisites (a lab recommendation for the patient, the lab in the cart) are created for you automatically.

fyi
fyi

This creates an order with a single lab test. Real orders can contain multiple lab tests, each with its own results — don't build your integration assuming one test (or one result) per order. To test an order with multiple lab tests, place the order through your sandbox account, then generate results for it here.

Generate test result — simulates lab results for a lab order to trigger the lab_order.updated webhook event.

Click Generate Test Result, select a Lab order number from the dropdown (it lists lab orders already purchased in the selected store — create one first if it's empty), choose an Event Type, and submit.

Available event types depend on the lab order's current status:

Lab order statusAvailable event types
Results not yet completeResults Received, All Results Received
All results receivedAll Results Received, Results Amended
Event typeMeaning
Results ReceivedPartial results — results for one lab test in the order are in
All Results ReceivedAll lab tests in the order have results
Results AmendedAn existing result was amended

Each generated result attaches a sample result to the lab order and fires a lab_order.updated webhook.

fyi
fyi

In sandbox, generated results include a sample PDF only. HL7/discrete result URLs may appear in payloads but don't resolve to real content — validating your HL7/discrete retrieval path end to end requires production data.

Fulfillment API

Create fulfillment order — creates a fulfillment order to trigger the fulfillment.order.created webhook event.

Click Create Fulfillment Order and select a Patient. Requires the financial setup in Step 2. Note that fulfillment partners normally place orders via POST /api/fulfillment/orders — this tool is a convenience for generating orders to simulate events against.

Simulate fulfillment event — simulates fulfillment order events to trigger fulfillment webhook events.

Click Simulate Event, select a Fulfillment order, then an Event type. Available event types depend on the order's current state:

Order stateAvailable eventsResulting state
completefulfillment.order.cancelledcanceled
completefulfillment.shipment.shippedshipped
shippedfulfillment.shipment.delivereddelivered
shippedfulfillment.items.cancelledcanceled
deliveredfulfillment.items.refunded— (no further events)
canceled

Simulated events are retrievable from the fulfillment events endpoints.

What the Testing Tool doesn't cover

  • Validation testing. The tool bypasses some of the validation your API requests would normally hit (for example, incomplete patient info is auto-filled). To test validation and error handling, call the API directly.
  • HL7/discrete lab results. Sandbox results are sample PDFs only (see above).
  • Production. The Testing Tool never appears on production applications.

Troubleshooting

ErrorFix
"This store is not ready to accept orders. Please contact your practitioner for more information."Complete financial setup in your sandbox store: Settings → Financial and discounts.
"No license on file"Add license information under Settings → Account (test NPI 1111111111).
Lab order number dropdown is emptyThe selected store has no purchased lab orders yet — use Create Lab Order first, or place one in your sandbox store.
Event type shows "No available events"Select a fulfillment order first; if none exist, use Create Fulfillment Order.
Fulfillment order creation failsComplete the store setup requirements in the Fulfillment API documentation.

Still stuck? Use Support: Submit a ticket in the dashboard.

Revoke an access tokenWhat is Fullscript Embed?

ON THIS PAGE

Before you start

RELATED TOPICS