Quick Start

Make your first API call and receive a complete body dimension profile in under 5 minutes.

DimensionsPot transforms one or more body measurements into a complete anthropometric profile of 130 ISO-compliant body dimensions, each accompanied by a Confidence Score and a 95% prediction interval.

Supply as little as a single anchor — height, foot length, wrist circumference, or any other recognized measurement — and the engine reconstructs the full body profile in under 50 ms (typically under 10 ms on a warmed instance).

Two prediction engines, one endpoint:

EngineMethodTraining dataAge range
ADULTRidge Regression + 4-layer Modifier PipelineANSUR II (n = 6,068)> 20 y
PEDIATRICLMS Box-Cox (CDC) + Ridge hybridCDC Growth Charts 2000 (218 age points)0–20 y

Set calculation_model to "AUTO" (the default) and routing happens automatically based on age.


Authentication

Subscribe on RapidAPI and copy your key from the dashboard. Two headers are required on every request:

X-RapidAPI-Key: YOUR_KEY
X-RapidAPI-Host: dimensionspot-bodysize-engine.p.rapidapi.com

Your First Request

A complete, copy-paste-ready request. All fields are shown with explicit values; defaults are noted in the Reference section below.

curl -X POST "https://dimensionspot-bodysize-engine.p.rapidapi.com/v1/predict" \
  -H "Content-Type: application/json" \
  -H "X-RapidAPI-Key: YOUR_KEY" \
  -H "X-RapidAPI-Host: dimensionspot-bodysize-engine.p.rapidapi.com" \
  -d '{
    "input_data": {
      "input_unit_system": "metric",
      "subject": {
        "gender": "male",
        "exact_age": 35.0,
        "age_category": "ADULT",
        "input_origin_region": "EUROPE"
      },
      "anchors": {
        "body_height": 1780,
        "body_mass": 82.0
      }
    },
    "output_settings": {
      "calculation": {
        "calculation_model": "AUTO",
        "target_region": "EUROPE",
        "body_build_type": "CIVILIAN"
      },
      "requested_dimensions": {
        "bundle": "FULL_BODY",
        "specific_dimensions": null
      },
      "output_format": {
        "unit_system": "metric",
        "confidence_score_threshold": 0,
        "include_range_95": true,
        "include_iso_codes": true
      }
    }
  }'

Same request in Python:

import requests

payload = {
    "input_data": {
        "input_unit_system": "metric",
        "subject": {
            "gender": "male",
            "exact_age": 35.0,
            "age_category": "ADULT",
            "input_origin_region": "EUROPE"
        },
        "anchors": {
            "body_height": 1780,
            "body_mass": 82.0
        }
    },
    "output_settings": {
        "calculation": {
            "calculation_model": "AUTO",
            "target_region": "EUROPE",
            "body_build_type": "CIVILIAN"
        },
        "requested_dimensions": {"bundle": "FULL_BODY"},
        "output_format": {
            "unit_system": "metric",
            "confidence_score_threshold": 0,
            "include_range_95": True,
            "include_iso_codes": True
        }
    }
}

response = requests.post(
    "https://dimensionspot-bodysize-engine.p.rapidapi.com/v1/predict",
    json=payload,
    headers={
        "X-RapidAPI-Key": "YOUR_KEY",
        "X-RapidAPI-Host": "dimensionspot-bodysize-engine.p.rapidapi.com"
    }
)
dimensions = response.json()["body_dimensions"]

Request Field Reference

input_data

FieldRequiredDefaultAllowed valuesDescription
input_unit_systemno"metric""metric" · "imperial"Unit of the anchor values you supply. Metric: lengths in mm, mass in kg. Imperial: lengths in inches, mass in lbs.
genderyes"male" · "female"Subject biological sex.
exact_agenonullfloat, 0–120Subject age in years. Authoritative engine-routing signal — overrides age_category on conflict.
age_categoryno"ADULT""ADULT" · "INFANT" · "TODDLER" · "CHILD" · "PRE_TEEN" · "TEEN"Broad age class. Determines engine when exact_age is absent.
input_origin_regionno"GLOBAL"see RegionsPopulation the input measurements come from. Normalizes anchors to the ANSUR II global baseline before prediction.
anchorsyes (ADULT) · no (PEDIATRIC){}any body measurement keyThe measurements you supply. Values in mm (lengths) or kg (body_mass).

output_settings.calculation

FieldRequiredDefaultAllowed valuesDescription
calculation_modelno"AUTO""AUTO" · "ADULT" · "PEDIATRIC"Engine hint. AUTO routes by exact_age if provided, else by age_category.
target_regionno"GLOBAL"see RegionsPopulation to calibrate output toward. Independent of input_origin_region.
body_build_typeno"CIVILIAN""CIVILIAN" · "ATHLETIC" · "OVERWEIGHT"Morphological modifier applied to soft-tissue dimensions.

output_settings.requested_dimensions

FieldRequiredDefaultAllowed valuesDescription
bundleno"FULL_BODY""FULL_BODY" · "HEAD_FACE" · "HAND_ARM" · "TORSO" · "LEGS_FEET"Filter output to a body region.
specific_dimensionsnonulllist of API keysRequest individual dimensions by API key. Combines with bundle as a union.

output_settings.output_format

FieldRequiredDefaultAllowed valuesDescription
unit_systemno"metric""metric" · "imperial"Output unit. Independent of input_unit_system.
confidence_score_thresholdno0integer 0–100Suppress dimensions below this Confidence Score. 0 returns all dimensions.
include_range_95notrueboolInclude the [lower, upper] 95% prediction interval per dimension.
include_iso_codesnotrueboolInclude the ISO 7250-1:2017 code per dimension.

Regions

The same 7 codes apply to both input_origin_region and target_region.

CodePopulation sourceCoverage note
GLOBALANSUR II (US Military baseline)Full — both genders
EUROPEAggregated European datasetsFull — both genders
ASIA_PACIFICEast Asian & Pacific datasetsFull — both genders
LATAMLatin American datasetsFull — both genders
INDIASouth Asian regional dataFemale falls back to ASIA_PACIFIC — noted in meta_warnings
AFRICASub-Saharan and regional proxy dataMale-only, −10 % confidence penalty — noted in meta_warnings
MIDDLE_EASTMiddle Eastern regional dataValidated for males 18–30 only

Bundles

BundleDimensionsScope
FULL_BODY130All available dimensions
HEAD_FACE20Head, face, interpupillary distance, neck, bridge width
HAND_ARM32Fingers, hand, wrist, forearm, arm, reach
TORSO29Chest, waist, hip, shoulder breadths, sitting heights
LEGS_FEET34Thigh, knee, calf, ankle, foot

Minimum Valid Request

For adult subjects, gender plus one anchor is the minimum:

{
  "input_data": {
    "subject": { "gender": "male" },
    "anchors": { "body_height": 1780 }
  }
}

This returns all 130 FULL_BODY dimensions in metric with 95% intervals and ISO codes where defined.


Pediatric Requests

Activate the pediatric engine with a pediatric age_category or an exact_age ≤ 20.

{
  "input_data": {
    "subject": {
      "gender": "female",
      "exact_age": 7.0,
      "age_category": "CHILD",
      "input_origin_region": "GLOBAL"
    },
    "anchors": {}
  },
  "output_settings": {
    "calculation": {
      "calculation_model": "AUTO",
      "target_region": "GLOBAL",
      "body_build_type": "CIVILIAN"
    },
    "requested_dimensions": { "bundle": "HEAD_FACE" },
    "output_format": {
      "unit_system": "metric",
      "confidence_score_threshold": 0,
      "include_range_95": true,
      "include_iso_codes": false
    }
  }
}

Important: In the pediatric engine, body_height and body_mass are outputs, not inputs. The CDC LMS method predicts them from age and sex, then uses them as a scaling base for the full 130-dimension skeleton via the adult Ridge model.

Pediatric age categories:

age_categoryTypical rangeAssumed age (when exact_age absent)Engine
INFANT0–2 y1.0 yLMS + Ridge hybrid
TODDLER2–4 y3.0 yLMS + Ridge hybrid
CHILD4–9 y6.5 yLMS + Ridge hybrid
PRE_TEEN9–12 y10.5 yLMS + Ridge hybrid
TEEN12–18 y15.0 yLMS + Ridge hybrid
ADULT18 +population mean (35 y)Ridge Regression

Response Anatomy

{
  "header": {
    "status": "success",
    "calculation_model_used": "ADULT",
    "anchors_calculated": false,
    "calculated_anchors": {},
    "modifiers_applied": [
      "Regional Calibration (EUROPE)",
      "Civilian Body Composition (BF%=22.9%, delta=0.3%, body_type=CIVILIAN)"
    ],
    "meta_warnings": []
  },
  "body_dimensions": {
    "shoulder_height": {
      "label": "Shoulder Height",
      "description": "Vertical distance from the floor to the acromion landmark.",
      "value": 1426.89,
      "unit": "mm",
      "type": "BONE",
      "confidence_score": 85,
      "range_95": [1397.09, 1456.70],
      "iso_code": "6.1.4",
      "biological_limit_status": "OK"
    }
  },
  "system_info": {
    "api_version": "v1",
    "model_version": "adult_ridge_v4.0",
    "computation_time_ms": 18
  }
}

body_dimensions entry fields:

FieldTypeDescription
labelstringHuman-readable dimension name.
valuefloatPredicted value in the requested output unit.
unitstring"mm" or "inch" for lengths; "kg" or "lb" for mass.
typestringBONE (skeletal), FLESH (soft-tissue), or MEASURED (anchor you supplied).
confidence_scoreintegerReliability index [0–100]. Never over-reported.
range_95list or null[lower, upper] 95% prediction interval.
iso_codestring or nullISO 7250-1:2017 section code.
biological_limit_statusstringOK or OUT_OF_BOUNDS — NASA-STD-3001/CDC bounds check.

Confidence Score

confidence_score is an empirically calibrated reliability index. Given the same anchor keys, the score is always deterministic. Actual 95-PI coverage on held-out data is always ≥ the reported score.

TierAnchor conditionBONE scoreFLESH score
PRIMARY_RICHbody_height + body_mass + ≥ 1 precision anchor8780
PRIMARY_BOTHbody_height + body_mass8578
PRIMARY_ONEbody_height or body_mass (not both)7962
SECONDARYone strong secondary anchor (no primary)7467
TERTIARYany other single anchor6962

Error Reference

HTTPTrigger
422Validation error — invalid enum value, anchor out of range, missing required field, adult engine called with empty anchors.
403Request reached backend directly, bypassing RapidAPI gateway.
500Internal engine error.

Most common 422: submitting body_height in centimetres (e.g., 178.0) instead of millimetres (1780). The sanity bounds catch this immediately.


Utility Endpoints

GET /health — Liveness / readiness probe. Returns 200 when all runtime dependencies are available.

GET /v1/info — Returns all supported enum values (regions, bundles, age categories, body build types), model version identifiers, and the full endpoint map. Safe to cache client-side.

GET /v1/predict/examples — Returns 8 ready-to-use request payloads covering the main use cases (strong anchors, rich anchors, single anchor, targeted dimensions, bundle filter, regional calibration, body build type, pediatric).