The "patientUrl", when navigated to via one of the methods described above, will be intercepted by the Android operating system, and will automatically open the MedWand VirtualCare Client application via an internal URI, to begin the exam. Due to limitations of the browsers on mobile devices, a browser doesn't launch an external app for a given Intent URI in the following cases.
Due to this reason, the "patientUrl" can only be used via one of the methods described above. If you attempt to use the "patientUrl" in any other way, you will be sent to a page in the browser stating, "This exam type must be run from the MedWand tablet".
The callback URL for your api. This is the URI you want your exam results sent to after the exam is completed.
There are 4 options for receiving exam information.
You will receive no notification upon exam completion. This option is good for systems where you only use the MedWand VirtualCare System and don't store the results.
You will receive a json object containing the full exam in Json format to the CallbackUrl you provide.
You will receive a json object containing the full exam in html format to the CallbackUrl you provide.
There are 4 options for authenticating our callback to your api.
No authorization header or properties are needed.
The Key and Secret provided are added to the header via the "key" & "secret" keyValue pairs.
The Token provided will be added to the header via the "Authorization" key with the value prefaced with "Bearer ".
The Token provided will be added to the header via the "ApiToken" key.
The Token provided will be added to the header via your custom key.
The callback URL authorization value to be used in conjunction with the Callback Authentication Type chosen.
To get started, you must request a Sandbox account for your company. This is done through your sales person.
Once you have your Sandbox account:
MedWand recommends and uses, Postman or Insomnia for all API testing. Insomnia is more capable of handling large requests and responses which can be the case with some exam results. Although you may use any tool you wish, using Insomnia will allow us to better assist you if the need arises. You can download and install Insomnia from Here.
Your first test will be to retrieve a heartbeat response from the api server. To do this follow these steps:
cUrl
curl --location 'https://api.medwand.cloud/heartbeat'Postman
Response
{
"actionResult": true,
"actionResponse": "Success",
"actionMessages": "Version: 2.0.6.104 Build: 2026.3.12.246",
"actionDateUtc": "2026-03-18T21:31:39.8353597Z",
"environment": "Sandbox"
}The flowchart below covers all 3 exam types (Patient, OnSite, and Remote) that you may use.
Once you have a good understanding of the flow, you are ready to begin using our Default API to integrate the MedWand Virtual Care System with your existing PMS/EHR platform.
cUrl Request You will need to insert your ApiToken in the header below or the request will fail as 'Unauthorized'.
curl --location 'https://api.medwand.cloud/default/v2/appointment/create' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56",
"doctorName": "Dr. Jane Clinician",
"patientName": "John Doe",
"examType": "OnSite",
"scheduledStartDateUtc": "2026-03-19T15:51:49.780Z",
"scheduledDuration": 30
}'
Response
{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56",
"patientUrl": "https://api.medwand.cloud?platform=api.medwand.cloud&token=GFXwMZiRTka6jVlq_zNhOQ",
"doctorUrl": "",
"guestUrl": "",
"actionResult": true,
"actionResponse": "Success",
"actionMessages": "",
"actionDateUtc": "2026-03-19T15:51:49.780Z",
"environment": "Sandbox"
}
cUrl Request You will need to insert your ApiToken in the header below or the request will fail as 'Unauthorized'.
curl --location 'https://api.medwand.cloud/default/v2/appointment/update' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56",
"doctorName": "Dr. Jane Fox",
"patientName": "Robert Doe",
"examType": "Remote",
"scheduledStartDateUtc": "2026-03-19T15:51:49.780Z",
"scheduledDuration": 30
}'
Response
{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56",
"patientUrl": "https://client.medwand.cloud?platform=api.medwand.cloud&token=GFXwMZiRTka6jVlq_zNhOQ",
"doctorUrl": "https://examroom.medwand.cloud?platform=api.medwand.cloud&token=hkzBXDrXW0KH04ByCdxK-w",
"guestUrl": "https://examroom.medwand.cloud/Guest?platform=api.medwand.cloud&token=bz09_6hmXUWIyRy2sHK4bg",
"actionResult": true,
"actionResponse": "Success",
"actionMessages": "",
"actionDateUtc": "2026-03-19T15:51:49.780Z",
"environment": "Sandbox"
}
cUrl Request You will need to insert your ApiToken in the header below or the request will fail as 'Unauthorized'.
curl --location 'https://api.medwand.cloud/default/v2/appointment/delete' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56"
}'
Response
{
"actionResult": true,
"actionResponse": "Success",
"actionMessages": "",
"actionDateUtc": "2026-03-19T15:51:49.780Z",
"environment": "Sandbox"
}The JSON object below is what is sent to the Callback URL that you provide.
{
examId = "985397aa-558b-456c-8c57-00dfd5af9b56",
endDate = "2026-03-19T15:51:49.780Z"
}You will need to then retrieve the exam results via 1 of the following endpoints.
cUrl Request You will need to insert your ApiToken in the header below or the request will fail as 'Unauthorized'. If you set the includeHtml property to true, the response will include an Html version of the exam results in the htmlDocument property.
curl --location 'https://api.medwand.cloud/default/v2/exam/results' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56",
"includeHtml": false
}'
Response
See the Full response below.
cUrl Request You will need to insert your ApiToken in the header below or the request will fail as 'Unauthorized'.
curl --location 'https://api.medwand.cloud/default/v2/exam/html' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56"
}'
Response
See the Html response below.
{
"appointmentId": "3e42582f-d2e5-45f6-a0cb-81a61e430f42",
"doctorName": "Dr. Charlotte Myers",
"patientName": "Elijah Reynolds",
"examType": "Remote",
"doctorEnterDateUtc": "2025-01-23T15:47:54.1365002",
"patientEnterDateUtc": "2025-01-23T15:48:54.2080408",
"startDateUtc": "2025-01-23T15:48:54.2080408",
"endDateUtc": "2025-01-23T15:57:56.346181",
"durationInMinutes": "9",
"practitionerNotes": "These are Practitioner Notes line 1\nThese are Practitioner Notes line 2\nThese are Practitioner Notes line 3",
"patientNotes": "These are Patient Notes line 1\nThese are Patient Notes line 2\nThese are Patient Notes line 3",
"htmlDocument": "",
"readings":
[
{
"sortOrder": 1,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Otoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Dermatoscope",
"sensorSettings": "",
"sensorData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BS..."
},
{
"sortOrder": 2,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Ecg",
"sensorId": "11)2103260000006A",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAN/oAAAI5CAYAAACJX..."
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "BloodPressure",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "120/80"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "LabNotes",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "this is lab note line 1\nthis is lab note line 2"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "GTTInitial",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "100"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "HeightScale",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "unit:Inches",
"sensorData": "65.0"
},
{
"sortOrder": 1,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "PulseRate",
"sensorId": "11)2103260000006A",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "101"
},
{
"sortOrder": 3,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Otoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Dermatoscope",
"sensorSettings": "",
"sensorData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BS..."
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "CholesterolHdl",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "400"
},
{
"sortOrder": 4,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Stethoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Lungs",
"sensorSettings": "",
"sensorData": "data:audio/mp3;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYwLjMuM..."
},
{
"sortOrder": 1,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Thermometer",
"sensorId": "11)2103260000006A",
"sensorMode": "Default",
"sensorSettings": "unit:Fahrenheit",
"sensorData": "97.2"
},
{
"sortOrder": 6,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Otoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Otoscope",
"sensorSettings": "",
"sensorData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BS..."
},
{
"sortOrder": 1,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Ecg",
"sensorId": "11)2103260000006A",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAN+4AAAI5CAYAAACnG..."
},
{
"sortOrder": 3,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Stethoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Lungs",
"sensorSettings": "location:UpperMidLeftThorax",
"sensorData": "data:audio/mp3;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYwLjMuM..."
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "Respiratory",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "25.0"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "PainLevel",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "unit:Numerical",
"sensorData": "2"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "GTT2Hour",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "300"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "SpirometerFev1",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "22.0"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "WaistSize",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "unit:Inches",
"sensorData": "45.0"
},
{
"sortOrder": 1,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Stethoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Heart",
"sensorSettings": "",
"sensorData": "data:audio/mp3;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYwLjMuM..."
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "Glucometer",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "150"
},
{
"sortOrder": 2,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Stethoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Heart",
"sensorSettings": "",
"sensorData": "data:audio/mp3;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYwLjMuM..."
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "WeightScale",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "unit:Pounds",
"sensorData": "200.0"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "CholesterolTotal",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "600"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "CholesterolLdl",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "500"
},
{
"sortOrder": 5,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Stethoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Abdominal",
"sensorSettings": "",
"sensorData": "data:audio/mp3;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYwLjMuM..."
},
{
"sortOrder": 2,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Otoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Dermatoscope",
"sensorSettings": "",
"sensorData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BS..."
},
{
"sortOrder": 4,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Otoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Otoscope",
"sensorSettings": "",
"sensorData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BS..."
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "GTT1Hour",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "200"
},
{
"sortOrder": 6,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Stethoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Abdominal",
"sensorSettings": "",
"sensorData": "data:audio/mp3;base64,SUQzBAAAAAAAIlRTU0UAAAAOAAADTGF2ZjYwLjMuM..."
},
{
"sortOrder": 7,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Stethoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Abdominal",
"sensorSettings": "skip:UpperMidLeftThorax:I could not take this recording because of a problem that I encountered while trying to take the recording. This is a long reason for not taking the recording.",
"sensorData": "-"
},
{
"sortOrder": 1,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "SpO2",
"sensorId": "11)2103260000006A",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "94"
},
{
"sortOrder": 5,
"deviceName": "MedWand Device",
"deviceModel": "Generation2",
"deviceSerial": "(01)00860004311607(11)210326(21)0000006A",
"deviceFirmware": "2.1.0.2",
"sensor": "Otoscope",
"sensorId": "11)2103260000006A",
"sensorMode": "Otoscope",
"sensorSettings": "",
"sensorData": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BS..."
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "SpirometerPef",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "11"
},
{
"sortOrder": 1,
"deviceName": "Manual Entry",
"deviceModel": "--",
"deviceSerial": "MedWand App",
"deviceFirmware": "--",
"sensor": "SpirometerFvc",
"sensorId": "--",
"sensorMode": "Default",
"sensorSettings": "",
"sensorData": "33.0"
}
],
"actionResult": true,
"actionResponse": "Success",
"actionMessages": "",
"actionDateUtc": "2025-01-23T17:58:39.0298659Z",
"environment": "Sandbox"
}
{
"appointmentId": "985397aa-558b-456c-8c57-00dfd5af9b56",
"htmlDocument": "...",
"actionResult": true,
"actionResponse": "Success",
"actionMessages": "",
"actionDateUtc": "2026-03-19T15:51:49.780Z",
"environment": "Sandbox"
}An email will be sent to the MedWand team and the Technical contacts on your account.
We will retain your exam results for 30 days so that you may retrieve them after a failure occurs. You can remove the exam results via an api call at any time.
We are focused on providing an automated retry system that will not impact our current API responsiveness.
curl --location 'https://api.medwand.cloud/default/v2/exam/list' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
curl --location 'https://api.medwand.cloud/default/v2/exam/results' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "[APPOINTMENTID]",
"includeHtml": false
}'
curl --location 'https://api.medwand.cloud/default/v2/exam/callback/resend' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "[APPOINTMENTID]"
}'
curl --location 'https://api.medwand.cloud/default/v2/exam/results/remove' \
--header 'Content-Type: application/json' \
--header 'ApiToken: ' \
--data '{
"appointmentId": "[APPOINTMENTID]"
}'For those systems where Json case matters.
These values are case sensitive
These are the available sensor types along with their possible unit types.
These are the available Media Types along with their possible modes and settings.
If you would like an example of how you might display the exam results, click this HTML Exam Results Sample link.