Product information

Accessing information about available Hurdle products

The /products/v1 endpoint allows you to retrieve the list of products available to you for ordering, as well as the details for a given product code, including general information, supporting copy and the list of biomarkers.

Retrieving the list of products

Calling /products/v1 will return a paginated list of products available to you. A typical output can be seen in the API reference. Most of it will be self-explanatory, but a few fields deserve some extra explanations:

  • phlebotomyType: this field returns NONE for products not involving the drawing of venous blood. For those products that do rely on phlebotomy, the possible values are MOBILE when the associated phlebotomy service will be at-home visit by a nurse and IN-CLINIC when the associated phlebotomy service requires the patient to go to a clinic.
  • patientDataInput: this indicates how we expect to receive the patient data (i.e., the details about the person taking the test) and can have the 3 following values:
    • REQUIRED_WITH_ORDER: the patient first name, last name, date of birth and sex must be included in the order. This is typically because that data needs to be forwarded to the entity that will process the phlebotomy or the sample analysis immediately when an order is created.
    • REQUIRED_VIA_REGISTRATION: the patient details will be captured via the online registration flow that is typically triggered at the time of collecting the sample, for at-home testing (see the test flow overview page). Alternatively registration can happen over API (via this endpoint).
    • NOT_REQUIRED: the patient details are not required to proceed with the ordering and sample analysis. They can optionally be provided with the order, but their absence won't cause an issue at any point during the test lifecycle.
  • price.priceExTax: as the name indicates this is the price without tax that we will charge you. Any additional sales tax (ie VAT) will be calculated based on your delivery country and/or state.
  • additionalInformation: this array contains objects, each corresponding to a piece of information about the product. Each such object will contain:
    • id: a section identifier which will not change and is tied to the meaning of this section. For example "what_is_this_product"
    • content.title: the title of the section, which is more human-friendly than the id and could be reworded over time. For example: "What is this product?"
    • content.explanation: the core content of the information provided by the object. For example "This test measures the levels of HbA1c, triglycerides, and cholesterol in the blood to assess risk of cardiovascular disease".

Retrieving the details for a single product

This endpoint can also be invoked as /products/v1/<product_code>(see API reference). It then returns the details for the requested product only. If the product you request exists but is not authorised for your account, 404 Not Found will be returned.

Calling this endpoint with a product code allows you to optionally set includeBiomarkerDescriptions to true and get additional copy about the biomarkers, including a description and interpretation copy for each possible outcome the labs could return. For some biomarkers, different ways of naming the interpretation can be used by labs, resulting in identical or similar copy returned across different interpretations (such as SUFFICIENT and NORMAL). This is on purpose and helps pick the right interpretation easily no matter which lab is being used behind the scenes.