Results API
please note, these docs are for the v1 version of intelliprove and have been deprecated they are here for reference of existing customers still using the v1 product if you are a new customer, refer to the overview docid\ qghldn2mla8w9rpkeigwn introduction this is the api documentation for the intelliprove results api , which allows you to request results for past health checks based on the health check uuid prerequisites if you are new to this developer portal, we recommend first reading the plug in overview docid\ fwrilxhap81oojwmwf3tr , a five minute read which will get you acquainted with how our plug in works and how it can be integrated into your platform to integrate the plug in into your platform, follow our plug in docid\ f86cembkuj kwr60rtrev documentation setup environments as a customer, you will receive information about the environment (api base url) to use for development and production authentication all the endpoints described below require an api key or a bearer token in the header for authentication purposes api key an api key forms a permanent access key to authenticate with the api your api key should never be exposed in your front end and only be used on protected servers and back end systems api keys are sent in the header of the request x api key \<your api key> no api key and interested in our product? contact us (info\@intelliprove com) or set up a call action tokens these are jwt tokens with an expiry date that only provide access to 'action routes' they are generated with your api key and are perfect for doing api calls from front end applications action tokens have a max lifetime of 12 hours action tokens are sent in the header of the request authorization token \<actiontoken> you can use our management api docid ez tag25qim8zucoubyi endpoint to request one for security reasons, action tokens only provide access to a restricted set of routes the available routes are listed below "get results" route results by measurement uuid we provide the results in two different formats simple 'results' and 'buckets' the simple results of a health check contain the values for each biomarker, without further context the buckets contain more context, such as the optimum, max and minimum for each biomarker the meaning of the 'results' and 'bucket' objects is further explained in the message events docid\ nhmyw3igywbv wbatholb more information about the actual biomarkers we measure can be found on the following page insights & biomarkers docid 3pruszmjt22mzxvkufpwd use the below endpoint to request the results of a previously performed health check note that we recommend listening to events, as described in message events docid\ nhmyw3igywbv wbatholb , in case you want to obtain the results right after the user completes the measurement whereas the above endpoint returns immediately if no results are available (yet), some use cases might require the use of long polling to wait while your video is still processing { "tab" "examples", "url" "https //engine intelliprove com/v1/results/wait/{uuid}", "name" "wait for results", "method" "get", "request" { "pathparameters" \[ { "kind" "required", "name" "uuid", "type" "string", "children" \[], "description" "the uuid of the health check for which to fetch the results" } ], "queryparameters" \[], "headerparameters" \[], "bodydataparameters" \[], "formdataparameters" \[] }, "results" { "languages" \[ { "id" "xr rbdktj3tm9mpxetuj", "code" "{\n \\"timestamp epoch\\" 1670921835,\n \\"timestamp\\" \\"2022 12 13t08 57 15+00 00\\",\n \\"heart rate\\" 112,\n \\"respiratory rate\\" 13,\n \\"heart rate variability\\" 161,\n \\"ans balance\\" 1,\n \\"resonant breathing score\\" 30,\n \\"morning readiness\\" 7,\n \\"acute mental stress score\\" 3,\n \\"mental health risk\\" 1\n}", "language" "200", "customlabel" "" }, { "id" "6 fdzugpwh5tb4yjayrk4", "code" "{\n \\"detail\\" \\"the results for this video were not found this could be because the video with the specified uuid was never requested for processing, or because it is still being processed \\"\n}", "language" "202", "customlabel" "" }, { "id" "kkvpzuz cxwx 5 wyndkg", "code" "{\n \\"detail\\" \\"missing or invalid authentication credentials \\"\n}", "language" "401", "customlabel" "" }, { "id" "axsdz6uev j 23gvqsx56", "language" "422", "code" "{\n \\"errorcode\\" 5,\n \\"errortype\\" 'videoerror'\n \\"errordescription\\" \\"the subject's face moved (partially) out of frame during the recording \\" \n}", "customlabel" "" } ], "selectedlanguageid" "xr rbdktj3tm9mpxetuj" }, "examples" { "languages" \[ { "id" "zadglkqo9atlsvmttama5", "code" "curl location 'https //engine intelliprove com/v1/results/wait/your video uuid' \\\\\n header 'accept application/json' \\\\\n header 'x api key your api key'", "language" "curl", "customlabel" "" } ], "selectedlanguageid" "zadglkqo9atlsvmttama5" }, "description" "this request long polls our database for up to 20 seconds, returning the results as soon as they are available or returning a http 202 if no results were found after this time has expired ", "currentnewparameter" { "label" "path parameter", "value" "pathparameters" } } if the measurement was successfully processed, you will receive the biomarkers in json format, as shown in the example responses above with the http 200 status code however, in case the video did not meet the video input requirements docid 3ubjuaxicjgeicclkq13z , an error code will be returned to the body of the response refer to the example response above with http 422 status the error code refers to why the video could not be processed examples of input requirements not being met, include too little light, excessive movement of the subject during the video, or a framerate that is too low a list of all possible error codes , their explanation and suggested messages towards the user can be found in the table below (click open with the arrow) list of possible result error codes result error code error type explanation 1 videofileerror the device or camera lacks the necessary performance for conducting a high quality health scan we recommend using another device with a better quality camera 2 videotooshorterror the video is not long enough 21 fpstoolowerror the video does not meet the minimal fps threshold 22 codecnotsupportederror the video codec is not in the list of supported codecs 23 bitratetoolowerror the video bitrate does not meeting our minimal bitrate threshold 3 nofacedetectederror a face could not be accurately detected in the video 4 insufficientvisibleskinerror insufficient skin is visible, e g due to the face being partially covered, making an accurate health scan unfeasible 5 movedoutofframe the subject's face (partially) moved out of frame during the recording 99 unexpectederror something unexpected happened we will look into this in some cases, the video quality or lighting conditions might be insufficient to calculate certain parameters which rely on very subtle fluctuations, such as sdnn, but sufficient for other parameters like hr and rr in these cases, the response will contain a none for the parameters for which quality was insufficient the buckets corresponding to a health check can be requested using the below endpoint { "tab" "examples", "url" "https //engine intelliprove com/v1/buckets/all/{uuid}", "name" "get all buckets", "method" "get", "request" { "pathparameters" \[ { "kind" "required", "name" "uuid", "type" "string", "children" \[], "description" "the uuid of the health check for which to fetch the buckets" } ], "queryparameters" \[], "headerparameters" \[], "bodydataparameters" \[], "formdataparameters" \[] }, "results" { "languages" \[ { "id" "xr rbdktj3tm9mpxetuj", "code" "{\n \\"uuid\\" \\"4b7b6dc34ddd413e8ce14dbac8e640c4\\",\n \\"buckets\\" \[\n {\n \\"name\\" \\"physical\\",\n \\"timestamp epoch\\" 1707081928,\n \\"timestamp\\" \\"2024 02 04t22 25 28+01 00\\",\n \\"status\\" \\"bad\\",\n \\"biomarkers\\" \[\n {\n \\"name\\" \\"heart rate\\",\n \\"value\\" 88 0,\n \\"zone\\" \\"bad\\",\n \\"unit\\" \\"bpm\\",\n \\"range\\" \[\n 36 0,\n 216 0\n ],\n \\"optimum\\" \\"low\\"\n },\n {\n \\"name\\" \\"respiratory rate\\",\n \\"value\\" 7 0,\n \\"zone\\" \\"good\\",\n \\"unit\\" \\"brpm\\",\n \\"range\\" \[\n 4 0,\n 48 0\n ],\n \\"optimum\\" \\"middle\\"\n }\n ],\n \\"history\\" \[\n {\n \\"biomarkers\\" {\n \\"heart rate\\" 77 0,\n \\"respiratory rate\\" 15 0\n },\n \\"timestamp epoch\\" 1708030833,\n \\"timestamp\\" \\"2024 02 15t22 00 33+01 00\\"\n },\n {\n \\"biomarkers\\" {\n \\"heart rate\\" 62 0,\n \\"respiratory rate\\" 11 0\n },\n \\"timestamp epoch\\" 1708029278,\n \\"timestamp\\" \\"2024 02 15t21 34 38+01 00\\"\n },\n }\n ]\n },\n {\n \\"name\\" \\"mental\\",\n \\"timestamp epoch\\" 1707081928,\n \\"timestamp\\" \\"2024 02 04t22 25 28+01 00\\",\n \\"status\\" \\"good\\",\n \\"biomarkers\\" \[ ],\n \\"history\\" \[ ]\n },\n \n ]\n}", "language" "200", "customlabel" "" }, { "id" "saq9giqaapyf4 1athvt0", "language" "400", "code" "{\n \\"detail\\" \\"measurement with uuid not found!\\"\n}", "customlabel" "" }, { "id" "kkvpzuz cxwx 5 wyndkg", "code" "{\n \\"detail\\" \\"missing or invalid authentication credentials \\"\n}", "language" "401", "customlabel" "" }, { "id" "aa9zxz7yaikmsfsqtqspl", "language" "422", "code" "{\n \\"errorcode\\" 5,\n \\"errortype\\" 'videoerror'\n \\"errordescription\\" \\"the subject's face moved (partially) out of frame during the recording \\" \n}", "customlabel" "" } ], "selectedlanguageid" "xr rbdktj3tm9mpxetuj" }, "examples" { "languages" \[ { "id" "zadglkqo9atlsvmttama5", "code" "curl location 'https //engine intelliprove com/v1/results/wait/your video uuid' \\\\\n header 'accept application/json' \\\\\n header 'x api key your api key'", "language" "curl", "customlabel" "" } ], "selectedlanguageid" "zadglkqo9atlsvmttama5" }, "description" "get all the buckets corresponding to a health check ", "currentnewparameter" { "label" "path parameter", "value" "pathparameters" } } the below endpoint allows you to fetch the summary and tips corresponding to each bucket { "tab" "examples", "url" "https //engine intelliprove com/v1/buckets/summary/{uuid}", "name" "get bucket summaries", "method" "get", "request" { "pathparameters" \[ { "kind" "required", "name" "uuid", "type" "string", "children" \[], "description" "the uuid of the health check for which to fetch the buckets" } ], "queryparameters" \[ { "name" "include tips", "kind" "optional", "type" "boolean", "description" "whether to include a tip for each bucket", "children" \[] }, { "name" "language", "kind" "optional", "type" "string", "description" "the language in which to return the results", "children" \[] } ], "headerparameters" \[], "bodydataparameters" \[], "formdataparameters" \[] }, "results" { "languages" \[ { "id" "xr rbdktj3tm9mpxetuj", "code" "{\n \\"uuid\\" \\"5059844c0c3441e28bda2679995622b5\\",\n \\"summaries\\" \[\n {\n \\"name\\" \\"physical\\",\n \\"summary\\" \\"your heart rate is 80 beats per minute, which indicates good cardiovascular health in a normal range for healthy adults without stress we've detected a breathing frequency of 12 breaths per minute which is very normal \\",\n \\"tip\\" \\"based on your heart rate and respiratory rate, a healthy habit you could incorporate is practicing mindfulness meditation for 10 minutes each day to reduce stress and promote mental well being \\"\n },\n {\n \\"name\\" \\"mental\\",\n \\"summary\\" \\"your hrv is in a very good range, indicating a non stressful condition your autonomic nervous system is relatively balanced, suggesting good regulation between the sympathetic and parasympathetic systems you have a low mental health risk \\",\n \\"tip\\" \\"to further improve your mental health, consider engaging in activities like mindfulness meditation, deep breathing exercises, or regular physical exercise these practices can help enhance relaxation and promote overall well being \\"\n },\n {\n \\"name\\" \\"energy sleep\\",\n \\"summary\\" \\"your ans balance of 1 suggests a relatively balanced activity between your sympathetic nervous system (sns) and parasympathetic nervous system (pns) good overall energy and sleep \\",\n \\"tip\\" \\"you are doing a great job maintaining a balanced autonomic nervous system activity keep up the good work and continue prioritizing your energy and sleep for optimal well being \\"\n },\n {\n \\"name\\" \\"mindfulness\\",\n \\"summary\\" \\"your autonomic nervous system balance is relatively balanced, which is a good sign however, your resonant breathing score indicates that there is room for improvement in synchronizing your breathing and heart rate variability your respiratory rate and heart rate are within normal ranges but slightly elevated, suggesting a moderate level of stress or lower conditioning \\",\n \\"tip\\" \\"to improve your resonant breathing score and further synchronize your breathing and heart rate variability, try practicing slower and deeper breaths at a pace of around 6 breaths per minute this can help promote relaxation and enhance the balance of your autonomic nervous system \\"\n }\n ]\n}", "language" "200", "customlabel" "" }, { "id" "3bxnprvz1ne z eoejswh", "language" "400", "code" "{\n \\"detail\\" \\"measurement with uuid not found!\\"\n}", "customlabel" "" }, { "id" "kkvpzuz cxwx 5 wyndkg", "code" "{\n \\"detail\\" \\"missing or invalid authentication credentials \\"\n}", "language" "401", "customlabel" "" }, { "id" "782nodpqppacuaaa8qwfz", "language" "404", "code" "{\n \\"detail\\" \\"resource not found \\" // we currently do not provide feedback/tips for this scenario\n}", "customlabel" "" }, { "id" "saq9giqaapyf4 1athvt0", "language" "406", "code" "{\n \\"detail\\" \\"the requested langauge is currently unavailable available languages fr, en, nl \\"\n}", "customlabel" "" }, { "id" "hcrpsksfwzyfsyqdck7oe", "language" "422", "code" "{\n \\"detail\\" \\"this measurement did not process successfully we cannot summarize this measurement!\\"\n}", "customlabel" "" } ], "selectedlanguageid" "782nodpqppacuaaa8qwfz" }, "examples" { "languages" \[ { "id" "zadglkqo9atlsvmttama5", "code" "curl location 'https //engine intelliprove com/v1/results/wait/your video uuid' \\\\\n header 'accept application/json' \\\\\n header 'x api key your api key'", "language" "curl", "customlabel" "" } ], "selectedlanguageid" "zadglkqo9atlsvmttama5" }, "description" "get the summary and tip for each of the buckets of a health check ", "currentnewparameter" { "label" "query parameter", "value" "queryparameters" } } results by patient id use this endpoint to obtain results related to a patient (user) and/or performer { "tab" "examples", "url" "https //engine intelliprove com/v1/patient/history", "name" "get history", "method" "get", "request" { "pathparameters" \[], "queryparameters" \[ { "kind" "optional", "name" "patient ref", "type" "string", "children" \[], "description" "patient for which the health checks are retrieved " }, { "kind" "optional", "name" "performer ref", "type" "string", "children" \[], "description" "additional filter on performer reference " }, { "kind" "required", "name" "start", "type" "string", "children" \[], "description" "date time string value in iso 8601 format" }, { "kind" "required", "name" "page", "type" "integer", "children" \[], "description" "page of pagination" }, { "kind" "optional", "name" "page size", "type" "integer", "children" \[], "description" "number of items to return per page of pagination" } ], "headerparameters" \[], "bodydataparameters" \[], "formdataparameters" \[] }, "results" { "languages" \[ { "id" "bg9pqckwqxzbo5auenqtz", "code" "{\n \\"data\\" \[\n {\n \\"timestamp epoch\\" 1678100000,\n \\"timestamp\\" \\"2023 03 06t10 00 00+01 00\\",\n \\"heart rate\\" 60,\n \\"respiratory rate\\" 13,\n \\"heart rate variability\\" 48,\n \\"ans balance\\" 1,\n \\"resonant breathing score\\" 30,\n \\"patient\\" \\"a84kgh404a\\",\n \\"performer\\" \\"pa7xb48209\\",\n \\"morning readiness\\" null,\n \\"acute mental stress score\\" 4,\n \\"mental health risk\\" 4\n },\n {\n \\"timestamp epoch\\" 1678200030,\n \\"timestamp\\" \\"2023 04 06t10 00 00+01 00\\",\n \\"heart rate\\" 57,\n \\"respiratory rate\\" 12,\n \\"heart rate variability\\" 48,\n \\"ans balance\\" 1,\n \\"resonant breathing score\\" 40,\n \\"patient\\" \\"a84kgh404a\\",\n \\"performer\\" \\"pa7xb48209\\",\n \\"morning readiness\\" 3,\n \\"acute mental stress score\\" 4,\n \\"mental health risk\\" 4\n }\n ],\n \\"pagination\\" {\n \\"page\\" 0,\n \\"page size\\" 10,\n \\"sorted by\\" \\"timestamp\\",\n \\"sorting order\\" \\"asc\\",\n \\"sorting options\\" \[\n \\"timestamp\\",\n \\"performer\\"\n ]\n }\n}", "language" "200", "customlabel" "" }, { "id" "y8vii vsoxsubbv9jx np", "code" "{\n \\"detail\\" \\"please provide a patient reference \\"\n}", "language" "400", "customlabel" "" }, { "id" "ebuz3itn1fo76cv96i3dp", "language" "401", "code" "{\n \\"detail\\" \\"missing or invalid authentication credentials \\"\n}", "customlabel" "" } ], "selectedlanguageid" "bg9pqckwqxzbo5auenqtz" }, "examples" { "languages" \[ { "id" "os4e3jeuplsboxgcvxqdg", "code" "curl location 'https //engine intelliprove com/v1/patient/history?page=0\&patient ref=your patient ref\&start=2022 03 27%2015%3a10%3a29\&sort by=timestamp\&sort desc=false' \\\\\n header 'x api key your api key'", "language" "curl", "customlabel" "" } ], "selectedlanguageid" "os4e3jeuplsboxgcvxqdg" }, "description" "get the history of results for one or more patients based on patient and/or performer reference ", "currentnewparameter" { "label" "query parameter", "value" "queryparameters" } } update metadata if required, you can update the metadata for a measurement after completing processing { "tab" "examples", "url" "https //engine intelliprove com/v1/results/update/{uuid}", "name" "update result metadata", "method" "put", "request" { "pathparameters" \[], "queryparameters" \[], "headerparameters" \[], "bodydataparameters" \[ { "name" "performer ref", "kind" "optional", "type" "string", "description" "an optional reference for the performer of the measurement", "children" \[] }, { "name" "patient ref", "kind" "optional", "type" "string", "description" "an optional reference for the patient on whom the measurement was performed", "children" \[] } ], "formdataparameters" \[] }, "results" { "languages" \[ { "id" "iselkfxcaccayjfw6ed3j", "language" "204", "code" "", "customlabel" "" }, { "id" "matk83vtsyzmukhee jrx", "language" "400", "code" "{\n \\"detail\\" \\"no results were found found for this uuid\\"\n}", "customlabel" "" }, { "id" "ebuz3itn1fo76cv96i3dp", "language" "401", "code" "{\n \\"detail\\" \\"missing or invalid authentication credentials \\"\n}", "customlabel" "" }, { "id" "emwofpuwcxpfephggzyrm", "language" "403", "code" "{\n \\"detail\\" \\"you are not allowed to overwrite the performer for this measurement\\"\n}", "customlabel" "" } ], "selectedlanguageid" "iselkfxcaccayjfw6ed3j" }, "examples" { "languages" \[ { "id" "hnj94k2po3fijkp8ghxvq", "language" "curl", "code" "curl location globoff request put 'https //engine intelliprove com/v1/results/update/{uuid}' \\\\\n header 'accept application/json' \\\\\n header 'content type application/json' \\\\\n data '{\\"performer ref\\" \\"string\\",\\"patient ref\\" \\"string\\"}'", "customlabel" "" } ], "selectedlanguageid" "hnj94k2po3fijkp8ghxvq" }, "description" "update the performer and/or patient refernences for a measurement ", "currentnewparameter" { "label" "body parameter", "value" "bodydataparameters" } }