Add Blood Result

Submit structured blood result marker values for a User and store the resulting blood result ID for downstream workflows.

Add Blood Result

Add Blood Result lets you submit structured blood result marker values for a User's linked InsideTracker customer record. Use this workflow when your system already has marker values, test dates, and the context needed to create a blood result through the API.

This is one blood result onboarding path. Other blood result sources, such as document-based submissions through BRU or ordered lab tests through Lab Connect, can also contribute blood result data when they are part of your integration.

Prepare markers

Resolve marker IDs, expected units, and upload availability before submission.

Submit values

Send the test date, country, and marker values through the Add Blood Result endpoint.

Store the result

Keep the returned resultId for retrieval, troubleshooting, and downstream output workflows.

Where This Fits

Use Add Blood Result when your integration needs to send structured blood marker values directly to InsideTracker for a User.

You already haveYou do hereThis helps support
A linked InsideTracker customer record, a customer-level token, source blood marker values, and test-date contextValidate supported markers, submit the result, and store the returned resultIdBlood-result-based outputs such as Optimal Zones, recommendations, scores, Inner Age, and other biomarker experiences

Before You Begin

Before submitting a structured blood result, make sure your integration can:

  • Make customer-level API requests for the User.
  • Map your source markers to InsideTracker-supported biomarkers.
  • Convert values to the expected units for each marker.
  • Confirm which markers are available for upload.
  • Store resultId values returned by InsideTracker.
  • Avoid submitting duplicate results when retrying after network failures or failures in your system.

Marker Preparation

The Add Blood Result request uses markerId values. Prepare those IDs before you submit a result.

StepEndpointPurpose
Retrieve biomarker reference dataGET /api/public/references/blood-markersGet biomarker IDs, abbreviations, display names, default units, and input bounds.
Confirm upload availabilityGET /api/customer/blood/results-upload/available-markers-for-new-resultGet marker abbreviations that are available for a new blood result upload for the User.
Confirm units if neededGET /api/public/references/blood-marker-unitsRetrieve unit metadata and conversion factors when your source values use different units.

Use biomarker reference data to map source markers to InsideTracker markerId values. Use the upload-available marker list to confirm that the markers you plan to submit are allowed for a new result.

Submit A Blood Result

Submit a structured blood result with a customer-level token:

POST /api/customer/v1/blood/results-upload/add-result
Content-Type: application/json
Authorization: Bearer {customer_token}
{
  "testDate": "2026-05-01",
  "countryCode": "US",
  "markerValues": [
    {
      "markerId": 17,
      "value": 95.0
    }
  ]
}

Request fields:

FieldRequired?Description
testDateYesDate the blood result was tested or collected, formatted as YYYY-MM-DD.
countryCodeYesCountry context for the result, such as US.
markerValuesYesArray of submitted biomarker values.
markerValues[].markerIdYesInsideTracker biomarker ID from reference data.
markerValues[].valueYesNumeric marker value in the expected unit for that marker.

The response includes the blood result ID:

{
  "message": "Result added to user",
  "resultId": 31232,
  "isLatestResult": true
}

Response fields:

FieldUse
messageHuman-readable response message.
resultIdIdentifier for the created blood result. Store this value.
isLatestResultIndicates whether this result is currently the latest result for the User.

Retrieve Or Update Submitted Results

Use the returned resultId when you need to inspect or update the submitted result.

NeedEndpointNotes
List User blood resultsGET /api/customer/v1/blood/resultsReturns blood results for the User.
Retrieve one blood resultGET /api/customer/v1/blood/results/{id}Use the blood result ID returned by add or list workflows.
Check markers available for an existing resultGET /api/customer/blood/results-upload/{resultId}/available-markersUse when preparing an update for an existing result.
Update a submitted resultPATCH /api/customer/v1/blood/results-upload/{resultId}Uses testDate, countryCode, and markerValues. The API can return 403 when a result is not editable.

Validation And Duplicate Handling

Before sending a result:

  • Confirm every marker is supported by InsideTracker reference data.
  • Confirm every marker is available for upload for the User/result context.
  • Convert each value to the expected unit before submission.
  • Keep the source test date attached to the result.
  • Validate values against reference metadata where available.
  • Store source-system identifiers in your system so retries do not create confusing duplicate results.

Related API Reference

AreaEndpoint
Add blood resultPOST /api/customer/v1/blood/results-upload/add-result
Available markers for new resultGET /api/customer/blood/results-upload/available-markers-for-new-result
Available markers for existing resultGET /api/customer/blood/results-upload/{resultId}/available-markers
Update blood resultPATCH /api/customer/v1/blood/results-upload/{resultId}
List blood resultsGET /api/customer/v1/blood/results
Get specific blood resultGET /api/customer/v1/blood/results/{id}
Biomarker reference dataGET /api/public/references/blood-markers
Biomarker unit reference dataGET /api/public/references/blood-marker-units

Related Topics

  • Blood Result Upload
  • OCR Blood Result Upload
  • Lab Connect
  • Biomarker Reference Data
  • Supported Biomarkers
  • Optimal Zones

Did this page help you?