The sandbox environment includes special-case inputs and predefined provider test data that allow developers to simulate edge cases during integration testing. See the list below for available scenarios: # API Endpoint Test Scenarios This page documents test scenarios for various API endpoints to support validation and debugging of behaviors in different input cases. All endpoints are assumed to return standard HTTP response codes alongside expected JSON structures unless otherwise noted. ## GET /v1/providers | Field | Input | Result | | --- | --- | --- | | npis | npi_error | Results in a 500 error response. | | npis | npi_missing | Returns no matching providers. | | npis | npi_multipleproviders | Returns multiple matching providers. | | npis | npi_multiplelocations | Returns a provider with multiple locations. | | npis | npi_allvirtual | Returns a provider with one virtual location. | | npis | npi_hasvirtual | Returns a provider with both an in-person and virtual location. | | npis | npi_insuranceIdRequired | Returns a provider that requires an insurance member id and plan id. | | insurance_plan_id | ip_0 | Returns 400 error response due to invalid insurance plan. | ## GET /v1/provider_locations | Field | Input | Result | | --- | --- | --- | | zip_code | 10112 | Results in a 500 error response. | | zip_code | 99734 | Returns no matching provider locations. | | zip_code | 11201 | Returns a response that includes booking requirements. | | insurance_plan_id | ip_0 | Returns 400 error response due to invalid insurance plan. | ## GET /v1/provider_locations/{provider_location_id} | Provider Location ID | Result | | --- | --- | | pr_error / lo_error | Results in a 500 error response. | | pr_insuranceIdIsRequired / lo_insuranceIdIsRequired | Returns booking requirements. | | pr_selfPayNotAccepted / lo_selfPayNotAccepted | Returns insurance settings that do not accept self-pay. | | pr_acceptsInNetworkOnly / lo_acceptsInNetworkOnly | Returns insurance settings that accept in-network only. | ## GET /v1-beta/facilities | Field | Input | Result | | --- | --- | --- | | zip_code | 10112 | Results in a 500 error response. | | zip_code | 99734 | Returns no matching facilities. | | insurance_plan_id | ip_0 | Returns 400 error response due to invalid insurance plan. | | npis | 2988113970 | NPI corresponds to one facility. | | npis | 5884143085 | NPI corresponds to multiple facilities. | ## GET /v1-beta/facilities/{facility_id} | Facility ID | Result | | --- | --- | | 1d399a6a-283b-4991-89dd-a01ed9960a76 | Results in a 500 error response. | | 45a305f4-00df-43e6-89a9-17c315c22bcd | Results in a 404 error response. | ## GET /v1/provider_locations/{provider_location_id}/reviews | Provider Location ID | Result | | --- | --- | | pr_no_reviews / lo_no_reviews | Returns no reviews. | | pr_missing / lo_missing | Results in a 404 error response. | | pr_error / lo_error | Results in a 500 error response. | ## GET /v1/provider_locations/availability | Provider Location ID | Result | | --- | --- | | pr_error / lo_error | Results in a 500 error response. | | pr_no_availbility / lo_no_availbility | Returns no availability. | ## GET /v1/provider_locations/{provider_location_id}/insurance_mappings | Provider Location ID | Result | | --- | --- | | pr_error / lo_error | Results in a 500 error response. | | pr_missing / lo_missing | Results in a 404 error response. | | pr_noAcceptedInsurancePla / lo_noAcceptedInsurancePla | Returns empty insurance mappings. | | pr_allInsurancePlansAccep / lo_allInsurancePlansAccep | Returns full insurance mappings. | | pr_ip_mapping_level_prac / lo_ip_mapping_level_prac | Results in a 409 error response. | | pr_ip_mapping_level_prov / lo_ip_mapping_level_prov | Results in a 409 error response. | ## POST /v1/provider_locations/{provider_location_id}/insurance_mappings | Provider Location ID | Result | | --- | --- | | pr_error / lo_error | Results in a 500 error response. | | pr_missing / lo_missing | Results in a 404 error response. | | pr_allInsurancePlansAccep / lo_allInsurancePlansAccep | Returns 202. | ## GET /v1/insurance_plans | State | Result | | --- | --- | | AK | Results in an empty list of plans. | ## GET /v1/insurance_plans/{insurance_plan_id} | Insurance Plan ID | Result | | --- | --- | | ip_0 | Results in a 404 error response. | | ip_5432 | Returns a national coverage plan. | | ip_2345 | Returns CA state coverage. | | ip_2052 | Returns a Medicare plan. | | ip_8281 | Returns a Medicaid plan. | | ip_9111 | Returns a plan in active status. | | ip_2667 | Returns a plan in inactive status. | | ip_5292 | Returns a deleted status plan. | | ip_2600 | Returns a health plan. | | ip_6501 | Returns a dental plan. | | ip_5907 | Returns a vision plan. | ## POST /v1/appointments | Field | Input | Result | | --- | --- | --- | | provider_location_id | pr_error / lo_error | 500 error response. | | provider_location_id | pr_pending / lo_pending | Returns `pending` appointment id. | | provider_location_id | pr_confirmed / lo_confirmed | Returns `confirmed` appointment id. | | provider_location_id | pr_bookingfailed / lo_bookingfailed | Returns `booking_failed` appointment id. | | provider_location_id | pr_cancelled / lo_cancelled | Returns `cancelled` appointment id. | | provider_location_id | pr_noshow / lo_noshow | Returns `no_show` appointment id. | | provider_location_id | pr_pendingreschedule / lo_pendingreschedule | Returns `pending_reschedule` appointment id. | | provider_location_id | pr_rescheduled / lo_rescheduled | Returns `rescheduled` appointment id. | | provider_location_id | pr_reschedulefailed / lo_reschedulefailed | Returns `reschedule_failed` appointment id. | | provider_location_id | pr_insuranceIdIsRequired / lo_insuranceIdIsRequired | 400 error if insurance info not provided. | | provider_location_id | pr_selfPayNotAccepted / lo_selfPayNotAccepted | 400 error if is_self_pay is true. | | provider_location_id | pr_acceptsInNetworkOnly / lo_acceptsInNetworkOnly | 400 error if insurance plan is provided. | | insurance_plan_id | ip_0 | 400 error response due to invalid insurance plan. | ## GET /v1/appointments and GET /v1/appointments/{appointment_id} | Appointment ID | Status | Provider Location ID | Visit Reason ID | Developer Patient ID | | --- | --- | --- | --- | --- | | 2b29f79b-6d7f-472a-9603-d0c378bc9531 | pending_booking | pr_pending / lo_pending | pc_FRO-18leckytNKtruw5dLR | 381ee8f4-8aa7-46c6-b27c-1ea9fdfa4bac | | d2ee5bd8-643a-42c8-8c5a-be450e903430 | confirmed (new patient) | pr_confirmed / lo_confirmed | pc_TlZW-r06U0W3pCsIGtSI5B | f92f5116-a43a-46a9-b5b7-197eea5d7aca | | 423e6a11-8dac-4873-b933-d8d02f9a370f | confirmed (existing patient) | pr_confirmed / lo_confirmed | pc_TlZW-r06U0W3pCsIGtSI5B | f92f5116-a43a-46a9-b5b7-197eea5d7aca | | 34e4ead3-ca69-4448-9438-58702dd1048f | booking_failed | pr_bookingfailed / lo_bookingfailed | pc_zZWhkaURvEGlZpSimNILaB | 4a2363b8-a2a0-4afc-bc43-ed5e0fd80191 | | 21990114-ea71-4d7d-9d1e-00c43ae44bcd | cancelled | pr_cancelled / lo_cancelled | pc_p1KdCTTzuU6A04ZjEt837x | 7f754fc6-3ccb-457b-96b9-39412fb1066b | | a0a7770d-e667-416c-9f06-9c3b40a7bb84 | no_show | pr_noshow / lo_noshow | pc_T1T3MOA0kUuE201i1ZfIWR | 909ea2c6-c0d8-4d1c-91e9-8830af3178c4 | | 63f995c2-49c4-40c8-a93a-140fb32e913b | pending_reschedule | pr_pendingreschedule / lo_pendingreschedule | pc_FRO-18leckytNKtruw5dLR | 381ee8f4-8aa7-46c6-b27c-1ea9fdfa4bac | | 8507d05f-cbe5-4732-b72a-22add9c80120 | rescheduled | pr_rescheduled / lo_rescheduled | pc_peZqujk5w0jL8SblyLoIoz | 07eeb104-1f80-44ae-8f48-32af1072eda7 | | 84d04f67-b2cf-4afd-ab64-193072498ed5 | reschedule_failed | pr_reschedulefailed / lo_reschedulefailed | pc_PS_BTW9rmkuIfaIH_Hxdwg | 5db43e60-c33e-47cb-84b2-325c1b95f10a | ### Errors | Appointment ID | Result | | --- | --- | | 83f5cf14-3eb1-4034-be1f-e7c3058aad21 | 404 error response. | | dc69a428-8a73-461b-bd7b-df755910a3fb | 500 error response. | ## POST /v1/appointments/cancel Same error test cases as above. ## POST /v1/appointments/reschedule Same error test cases as above. ## POST /v1/appointments/{appointment_id}/attachments | Appointment ID | Result | | --- | --- | | 83f5cf14-3eb1-4034-be1f-e7c3058aad21 | 404 error response. | | dc69a428-8a73-461b-bd7b-df755910a3fb | 500 error response. | | 08399012-db42-4f0b-92a5-4fbceffcbd58 | Returns multiple existing attachments. |