# Sandbox Testing We have a sandbox testing environment to allow you to test your API integrations and event processing without sending real prescriptions into our system. ## Authentication & Access At onboarding, you will be provided with Sandbox API credentials. Any requests made with these credentials will go to the Sandbox environment. **Prescriptions sent to the Sandbox environment will not be processed through our pharmacy. They will not trigger any patient-facing communications or flows, and we will not send any medication.** ## Usage The Sandbox environment allows you to send us dummy prescriptions through the [`POST /prescriptions`](/intake-api/openapi#prescriptions) endpoint, just like in production. The [`GET /events`](/intake-api/openapi#events) endpoint behaves exactly the same as in production, except that it will only show events related to prescriptions sent via the Sandbox credentials. ## Simulated Events Since the Sandbox environment doesn't send prescriptions through our pharmacy system, we generate dummy events to simulate a prescription working through its lifecycle. These events show up in the [`GET /events`](/intake-api/openapi#events) endpoint when called with your Sandbox API credentials. ### Happy Path - Accepted Prescription By default, a prescription sent to the Sandbox environment will replicate the happy path. For each prescription, we will publish the following events at 5 minute intervals: - `accepted` - `ordered` - `dispensed` - `delivered` The `accepted` event will appear in the event feed 5 minutes after the prescription is received, and each subsequent event will appear at 5 minute intervals. ### Unhappy Path - Rejected Prescription If you'd like to see what a `rejected` event looks like, you can simulate that in the Sandbox as well. If the `patient` and `prescriber` are the same, we will send a `rejected` event after 5 minutes, and nothing further. The patient and prescriber are considered to the the same for these purposes if the `first_name`, `middle_name`, and `last_name` fields are identical for both the `patient` and `prescriber` keys in the request body. Note that as long as the request body is valid, a prescription with a matching `patient` and `prescriber` will still return a `201 ACCEPTED` response from the API.