Inner Age

Retrieve Inner Age results and marker-level contribution details for User-facing biological age experiences.

Inner Age

Inner Age helps Users understand how their calculated biological age compares with their chronological age. It is a proprietary summary measure based on blood biomarkers and body mass index (BMI), with a lower biological age generally indicating a more favorable health profile relative to chronological age.

The Inner Age APIs return User-specific result summaries and marker-level contribution details that can support dashboards, result-detail views, and longitudinal progress experiences. Inner Age is not only a score: the response can also show how biomarkers contributed to the result, which helps your application explain why a User's Inner Age changed and which markers may be useful to review.

Show the result

Retrieve Inner Age history for a User, including chronological age, biological age, result date, and strength.

Explain contributors

Use marker contribution details to show which biomarkers affected the Inner Age result.

Handle missing data

Design for Users whose latest result does not satisfy an applicable minimum biomarker set.

Where This Fits

Use this page after you have created a linked customer record and added or ordered blood result data for the User. This page focuses on retrieving and presenting the Inner Age output.

What Inner Age Is

Inner Age estimates biological age from weighted blood biomarker values and BMI. The model uses age-related health outcomes and biomarkers that have meaningful relationships with age. A User's biological age can then be compared with their chronological age to summarize whether the User's current biomarker profile appears more or less favorable than expected for their age.

Biomarkers are selected independently for males and females. InsideTracker evaluates how strongly each biomarker correlates with age, then refines the model so selected biomarkers contribute distinct information rather than duplicating the same signal.

Inner Age can still be calculated when a User does not have every biomarker in the full model, as long as the result satisfies at least one qualifying minimum biomarker set. Fewer available biomarkers can reduce confidence in the prediction, so the result includes a strength value alongside the calculated biological age.

Data Needed For This Output

DataRequired?How InsideTracker receives itWhy it mattersIf it is missing
Linked InsideTracker customer record and customer-level tokenRequiredCreate the linked customer record for the User and store the returned credentials.Inner Age endpoints are customer-level APIs.Your application cannot retrieve User-specific Inner Age data.
Birth dateRequiredProvided during User creation or account profile setup.Inner Age compares biological age with chronological age.User setup or profile completeness may block the output.
Biological sexRequiredProvided during User creation or account profile setup.Inner Age uses sex-specific biomarker composition and minimum-set logic.The API cannot determine which eligibility rules apply.
Eligible blood result dataRequiredAdd Blood Result, Blood Result Upload, OCR, or Lab Connect.Inner Age is calculated from qualifying biomarker values.No Inner Age result is available for that blood result.
Body mass index (BMI) or data to derive BMIModel inputProfile/body data or InsideTracker-managed result context.Inner Age uses BMI alongside blood biomarkers.Result availability or confidence can depend on the available model inputs.
Qualifying minimum biomarker setRequired for each calculated resultIncluded in the blood result data.A result must satisfy at least one applicable minimum set for the User's biological sex.Inner Age is not calculated for that result.

Inner Age is not calculated for Immunity and Advanced Home Kit results because the calculation strength is too low for those result types.

Workflow

Use the Inner Age APIs in two layers:

Retrieve the User's Inner Age result list when you need to show the result timeline, latest result summary, or a compact Inner Age widget.

GET /inner-age/customer/v1/results
Authorization: Bearer {customer_access_token}

Output Availability

StateWhat it meansApplication handling
Inner Age result returnedThe User has at least one blood result that produced Inner Age.Show chronologicalAge, biologicalAge, testedAt, and contribution details when present.
No Inner Age resultsThe User has no calculated Inner Age result available.Show an empty state instead of treating this as an integration error.
Partial biomarker coverageThe result satisfies a qualifying minimum set, but not every biomarker in the full model was available.Show the returned strength value with the result and avoid presenting the estimate as more precise than the API indicates.
Missing markers returnedThe full marker response includes missingMarkers or missingMarkersCount.Use the missing-marker context in support or explanatory UI when helpful.
Result type does not qualifyImmunity and Advanced Home Kit results do not produce Inner Age.Do not suggest that Inner Age failed or is still processing for those result types.

Calculation Eligibility

Inner Age uses InsideTracker-defined biomarker sets selected for their relationship to aging. The biomarkers that compose Inner Age depend on the User's configured biological sex, and a result must satisfy at least one applicable minimum set before Inner Age can be calculated. A User can retrieve Inner Age when any one of the applicable sets is satisfied; satisfying multiple or all sets uses the same retrieval workflow.

Results can be calculated without every biomarker in the full model, but the returned strength can decrease when less model input is available.

SetRequired biomarkers
Main setAlbumin, Ca, Glu, LDL
InnerAgeGlu, hsCRP
VitalityGlu, HgbA1c, LDL, Tg, hsCRP
EssentialsGlu, HgbA1c, LDL, Tg, Ca
High performanceFT, HgbA1c, SHBG, hsCRP
Additional configured setHgbA1c, LDL, Tg, hsCRP

For female Users, Essentials is covered by the other minimum sets. The additional configured male set applies when enabled for a Partner or program-specific configuration.

For the full male and female biomarker composition, see Inner Age Biomarkers.

Inner Age And Optimal Zones

Inner Age and personalized optimal zones are related, but they are not the same output.

ConceptWhat it means for implementation
Personalized optimal zonesBiomarker target ranges personalized from clinical ranges and User context such as age, sex, activity level, and other factors.
Inner Age contributionA biomarker's contribution to biological age based on how that biomarker relates to chronological age in the Inner Age model.
RecommendationsAction-oriented guidance may focus on biomarkers that are not optimized and have applicable recommendation logic.

A biomarker can contribute years to Inner Age even when the biomarker is inside its personalized optimal zone. Do not treat optimal-zone status and Inner Age contribution as interchangeable fields in your UI.

When presenting Inner Age detail:

  • Show the Inner Age score and marker contribution context separately from optimal-zone charts.
  • Use marker contribution fields from the Inner Age response to explain biological-age impact.
  • Use Optimal Zones and recommendation APIs for marker status and action guidance.
  • Do not assume every marker that contributes years to Inner Age will have a recommendation.

Get Inner Age Results

Use this endpoint to retrieve the full list of Inner Age results related to the authenticated User.

GET /inner-age/customer/v1/results
Authorization: Bearer {customer_access_token}

The response includes a results array. Each result can include:

FieldDescription
idInner Age result identifier.
bloodResultIdBlood result associated with the Inner Age result.
testedAtDate associated with the result.
chronologicalAgeUser's chronological age for the result.
biologicalAgeCalculated biological age for the result.
projectedBestBioAgeProjected best biological age value returned by the API.
projectedWorstBioAgeProjected worst biological age value returned by the API.
strengthStrength value returned for the result. This supports confidence-aware display of the Inner Age estimate.
markerContributionsBiomarker contribution entries for the result.

Example response shape:

{
  "results": [
    {
      "id": 213042,
      "bloodResultId": 412412312,
      "testedAt": "2024-07-16",
      "chronologicalAge": 30.2,
      "biologicalAge": 29.1,
      "projectedBestBioAge": 25,
      "projectedWorstBioAge": 45,
      "strength": 5,
      "markerContributions": [
        {
          "id": "Glu",
          "value": 3.1,
          "isOutOfRange": "true"
        }
      ]
    }
  ]
}

Get The Full Inner Age Marker Response

Use this endpoint when your interface needs the marker-level Inner Age payload for the authenticated User.

GET /api/customer/v1/inner-age/markers
Authorization: Bearer {customer_access_token}

The response can include:

FieldDescription
markersBiomarkers included in the response, with marker values and contribution fields.
missingMarkersBiomarkers returned as missing for the User's current Inner Age context.
missingMarkersCountCount of missing markers.
markersCountCount of markers returned.
countOfWorsenMarkersCount of markers returned as worsening contributors.
countOfImproveMarkersCount of markers returned as improving contributors.
ageMinMinimum age value returned by the API.
ageMaxMaximum age value returned by the API.

Marker objects can include fields such as abbr, name, unit, value, precision, valueContrib, origValueContrib, percentOfAge, outZone, thresholdValue, and range values. Use the fields returned by the API instead of hard-coding marker names, units, or explanatory text.

Response Codes

EndpointStatusMeaning
GET /inner-age/customer/v1/results200Inner Age results response returned.
GET /api/customer/v1/inner-age/markers200Full Inner Age marker response returned.
GET /api/customer/v1/inner-age/markers400Invalid request.

Authentication failures follow the standard customer-level token handling described in Authorization and Security.

Best Practices

Implementation guidance
  • Design for Users who do not have Inner Age results yet.
  • Treat bloodResultId as the link between an Inner Age result and the underlying blood result workflow.
  • Use markerContributions, missing-marker context, and the returned strength value for explanatory UI, not just the top-level age value.
  • Use Inner Age Biomarkers when you need to understand calculation eligibility.
  • Keep Inner Age contribution separate from personalized optimal-zone status in your data model and UI.
  • Display marker units from the API response because units can vary by biomarker.
  • Do not hard-code the set of available Inner Age markers in your application.
  • Retrieve recommendation and action-plan data through the related recommendation workflows rather than treating Inner Age contribution as a recommendation by itself.

Implementation Checklist

  • You have a customer-level access token for the User.
  • Your User setup includes birth date and biological sex.
  • Your UI handles an empty results array or no available Inner Age result.
  • Your data model can connect bloodResultId back to the relevant blood result workflow.
  • Your UI handles Immunity and Advanced Home Kit results without implying that Inner Age is missing due to an error.
  • Your UI distinguishes Inner Age contribution from personalized optimal-zone status.
  • Your result display uses chronologicalAge, biologicalAge, testedAt, and strength only when those fields are present.
  • Your detail display uses marker contribution fields returned by the API.
  • Your application logs API errors without logging access tokens.

Related API Reference


Did this page help you?