BodyDouble Endpoint
The BodyDouble endpoint wraps the BodyDbl statistical model to infer a complete set of BodyDbl field values from whichever baseline inputs you have available. Supply height, weight, age, or any other known measurements—leaving fields blank simply falls back to the underlying prediction model—to receive a harmonised list you can plug directly into pattern workflows.
All responses normalise values into your chosen unit system (metric or imperial) and flag whether each field was
provided (source: "input") or predicted by the model.
Use neckSideToWaistBack for the neck-side-to-back-waist measurement.
REST v1 also returns its former spelling, nackSideToWaistBack, as a
deprecated alias for existing integrations. Both input spellings are accepted;
the correctly spelled field takes precedence if both are supplied.
Endpoint
POST /api/v1/bodydbl
- Authentication: Required. Send
Authorization: Bearer <API_KEY>using an API key issued from your SeamScape dashboard. - Body (JSON, required):
{ "gender": "female" | "male", "unit": "metric" | "imperial", "measurementKey"?: number } - Supply any known measurement directly at the top level (for example
"height": 170,"chestGirth": 92.5,"waistArcFront": 38.1). Each value should match the selected unit system.
Available BodyDbl fields
The BodyDbl models expose the same measurement dictionary for both female and male templates. The 69 fields listed below are sourced directly from the canonical model metadata and represent every key you can send or expect in the response payload.
- age
- height
- weight
- neckGirth
- chestGirth
- waistGirth
- shoulderWidth
- armLength
- bicepGirth
- wristGirth
- hipGirth
- neckToWaistBack
- crotchHeight
- thighGirth
- kneeGirth
- calfGirth
- ankleGirth
- acrossShoulderFront
- acrossChest
- bustSpan
- neckToWaistFront
- neckSideToWaistFront
- neckSideToWaistBack
- neckSideToSideWaist
- neckSideToWaistOverBustFront
- shoulderToWaistFront
- shoulderToWaistBack
- overArmLength
- underArmLength
- elbowBent
- elbowStraight
- waistHeight
- waistToKnee
- kneeToAnkle
- footInstepGirth
- waistArcFront
- waistArcBack
- highHipGirth
- highHipArcFront
- highHipArcBack
- bustArcFront
- bustArcBack
- neckArcBack
- neckArcFront
- bodyTorsoGirth
- armpitToWaistSide
- waistToHipsFront
- waistToHipsBack
- waistToHipsSide
- neckSideToShoulder
- acrossBack
- neckBackToShoulder
- bustPointToLowBust
- bustPointToWaistFront
- bustPointToBustPointHalter
- neckFrontToWaistSide
- neckSideToWaistSide
- armUpperGirth
- midThighGirth
- ankleDiagionalGirth
- waistSideToAnkle
- crotchLength
- riseLengthFront
- hipArcFront
- hipArcBack
- riseLengthSideSitting
- neckMidGirth
- armscyeLength
- neckBackToHighBustBack
Response
The response returns fields: a dictionary keyed by measurement name with the inferred value, unit,
and whether the number came from your input or the prediction engine. Values may be null when the
model cannot infer a value from the supplied inputs.
{
"gender": "female",
"unit": "metric",
"fields": {
"height": { "value": 170, "unit": "cm", "source": "input" },
"weight": { "value": 65, "unit": "kg", "source": "input" },
"chestGirth": { "value": 92.13, "unit": "cm", "source": "predicted" },
"waistGirth": { "value": 75.98, "unit": "cm", "source": "predicted" }
}
}BodyDouble Endpoint Tester
Send any known measurements to generate the BodyDbl field values inferred by the statistical model.
Optional. Enter height in the unit system selected above.
Optional. Enter weight in the unit system selected above.
Optional. Provide age if you want to bias the prediction.
Optional extra inputs such as chestGirth or waistArcFront. Values should match the chosen unit system.
Example Curl Request:
curl -X POST 'https://seamscape.com/api/v1/bodydbl' \
-H 'Authorization: Bearer YOUR_API_KEY'
Sample Success Response:
{
"gender": "female",
"unit": "metric",
"fields": {
"height": { "value": 170, "unit": "cm", "source": "input" },
"weight": { "value": 65, "unit": "kg", "source": "input" },
"chestGirth": { "value": 92.13, "unit": "cm", "source": "predicted" }
}
}
Sample Error Response:
{
"status": 400,
"message": "Measurement \"height\" must be a finite number."
}

